После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library 2.43 (glibc), которая полностью следует требованиям стандартов ISO C23 и POSIX.1-2024. В создании нового выпуска приняли участие 69 разработчиков...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64670
Почему не пишете про то, какие бэкдоры были добавлены вместе с кодом?
Ой, прости.
В релиз также добавлены никакие бэкдоры
Это мы узнаем позднее из багрепортов.
>Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc. Для сборки Glibc требуется как минимум версия Clang 18.Ну и где настоящие сишники, когда они так нужны? Кто там рассказывал, что у си несколько компиляторов?
Они заняты фиксами CVE и добавлением новых.
Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!Reality check:
1. Стандарт платный. Странная особенность для вроде бы "открытого" "общедоступного" языка.
2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет. Допустим, в оглавлении написано: "Глава о том, как складывать инты .... Страница 1234". Переходим на эту страницу и читаем: "Складывайте как хотите. int + int это undefined behavior."
3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго компилятора там всегда экспериментальная. Например, хромиум официально собирается только шлангом. Для поддержки GCC всегда нужны патчи. Всегда! За пруфами идите в репу Gentoo, в котором эти патчи обновляются каждый (!) релиз хромиума.
>1. Стандарт платный.А черновики стандарта нет. Последний черновик ничем не отличается итогового стандарта. Вот он www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf
>2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет.
Неправда, все написанно очень понятно и подробно.
>3. Гигантское количество проектов собирается ровно одним компилятором.
... если они используют собственные расширения компиляторов.
>> undefined behavior
> очень понятно и подробноДа, это прям очень понятно и очень подробно. 😂
> у Си есть славный Стандарт!
> Reality check:Ты самый главный пункт забыл: дырявый горе-дизайн, который прописан прямо в стандарте, на корню пресекает любые улучшения языка в плане безопасности, и поэтому десятилетиями люди пытаются заткнуть эти дыры извне костылями вроде флажков компилятора, статических анализаторов и даже, блажад, заплаток на уровне самого CPU вроде MTE.
Ничего нет лучше и надёжней С и glibc.
Переписать на Раст!
> C23 функции bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr и wmemchr [...] переопределены как макросыНе перестаю удивляться сишечному комитету. Сперва они воют о святой Обратной Совместимости, а потом БАЦ - и кучу функций заменяют макросами. 🤦
Ну и да, это прекрасный пример экспертам, которые заявляли тут, что ни перегрузки функций, ни шаблоны в языке не нужны. Оказалось, что таки нужны, но вот в недоязыке из 70х их уже не втулить.
И как замена функций на макросы ломает обратную совместимость?
> И как замена функций на макросы ломает обратную совместимость?Например, так, что указатели на соответствующие функции идут лесом.
Для конкретно этих функций я не вижу ни одного случая, когда это будет практически нужно.
Растовикам-затейникам придётся лигний раз задуматься о ттм, что рантайм у них краденый.