The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск стандартных Си-библиотек Glibc 2.43 и newlib 4.6.0

24.01.2026 23:32 (MSK)

После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library 2.43 (glibc), которая полностью следует требованиям стандартов ISO C23 и POSIX.1-2024. В создании нового выпуска приняли участие 69 разработчиков.

Из реализованных в Glibc 2.43 улучшений можно отметить:

  • Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc. Для сборки Glibc требуется как минимум версия Clang 18.
  • Для систем Linux добавлена функция mseal(), позволяющая процессам выставлять блокировку на изменение определённых частей своего адресного пространства.
  • Для систем Linux добавлена функция openat2(), в отличие от функции openat() поддерживающая набор дополнительных флагов для ограничения разрешения файлового пути (запрет пересечения точек монтирования, символических ссылок, magic-ссылок (/proc/PID/fd), компонентов "../").
  • Добавлены функции free_sized, free_aligned_sized, memset_explicit и memalignment, появившиеся в стандарте C23.
  • В соответствии со стандартом C23 вызов assert определён как макрос с переменным числом аргументов, поддерживающий выражения с запятой внутри инициализатора.
  • В соответствии со стандартом C23 функции bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr и wmemchr, возвращающие указатели на входные массивы, переопределены как макросы, возвращающие указатель на тип с квалификатором "const", если входной аргумент является указателем на тип с квалификатором "const".
  • В заголовочный файл math.h добавлены определения типов long_double_t, _Float32_t, _Float64_t и _Float128_t, появившихся в стандарте C23.
  • Добавлены опциональные режимы исчисления времени TIME_MONOTONIC (постоянно увеличивающееся время, не зависящее от изменения системных часов), TIME_ACTIVE и TIME_THREAD_ACTIVE (время активного выполнения процесса или потока) для использования в функции timespec_get.
  • Из проекта CORE-MATH перенесены оптимизированные варианты математических функций acosh, asinh, atanh, erf, erfc, lgamma и tgamma.
  • Добавлены оптимизированные реализации функций fma, fmaf, remainder, remaindef, frexpf, frexp, frexpl (binary128) и frexpl (intel96).
  • Повышена производительность математических функций acosf, acoshf, asinhf, atan2f, atanhf, coshf, fmodf, lgammaf/lgammaf_r, log10f, remainderf, sinhf, sqrtf, tgammaf, y0/j0, y1/j1 и yn/jn, благодаря удалению кода обработки ошибок SVID (вызов пользовательской функции matherr при ошибке) для новых сборок (для сохранения совместимости с уже собранными программами они оставлены в режиме compat).
  • На системах x86 добавлена поддержка процессоров Intel Nova Lake и Wildcat Lake.
  • На системах AArch64 в функции malloc по умолчанию включена поддержка больших страниц памяти (transparent huge pages) размером 2MB (параметр ibc.malloc.hugetlb теперь выставлен в 1). В функции clone() реализовано отключение состояния ZA (Z-Array) на CPU с поддержкой расширения SME (Scalable Matrix Extension).
  • Для систем AArch64, поддерживающих расширение BTI (Branch Target Identification), добавлена настройка glibc.cpu.aarch64_bti, позволяющая принудительно активировать BTI для всех исполняемых файлов и библиотек. BTI обеспечивает блокирование переходов на произвольные участки кода для противодействия созданию гаджетов в эксплоитах, использующих приёмы возвратно-ориентированного программирования.
  • На системах AArch64, поддерживающих одно из расширений для защиты ветвления (Branch Target Identification или Guarded Control Stack), разрешено использование переменной окружения "LD_DEBUG=security" для вывода компоновщиком предупреждений при загрузке исполняемых файлов и библиотек, не поддерживающих данные расширения.
  • Для систем AArch64 добавлены векторные варианты функций exp2m1, exp10m1, log10p1, log2p1 и rsqrt.
  • Для архитектуры RISC-V добавлена оптимизированная реализация функции memset, использующая расширение RVV (RISC-V Vector).
  • В тестовом наборе значительно расширена проверка многопоточности и функций scanf, strerror и strsignal.
  • Данные кодировок, информация о типах символов и таблицы транслитерации обновлены для поддержки спецификации Unicode 17.0.0.
  • В реализации функциональности LD_PROFILE прекращено использование каталога по умолчанию (/var/tmp) для записи данных профилирования. Для сохранения подобных данных теперь требуется явное определение для них каталога через переменную окружения LD_PROFILE_OUTPUT.
  • Устранены уязвимости:



Кроме того, после года разработки проект Cygwin опубликовал выпуск стандартной Си-библиотеки newlib 4.6.0, развиваемой инженерами из компании Red Hat. Библиотека нацелена на предоставление компактной реализации стандартной Си-библиотеки (libc), пригодной для использования на встраиваемых системах c небольшим объёмом постоянного хранилища и оперативной памяти. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.

В новой версии newlib:

  • Расширена поддержка спецификации POSIX.1-2024.
  • Повышена производительность функций memcpy, mempcpy и memmove.
  • Добавлена опция "--enable-newlib-hw-misaligned-access".
  • Проведена оптимизация архитектуры RISC-V функций серии mem* и str*.
  • Переработан код обработки локалей, который избавлен от глобальной переменной global_locale_string в пользу отдельных переменных locale_string для каждого объекта локали с типом locale_t.
  • Добавлена поддержка новой платформы m68k-atari-elf.
  • Из FreeBSD-библиотеки gdtoa перенесён код strtorQ.c, который задействован для реализации поддержки 128-разрядного типа "long double" в функции strtold.
  • Данные кодировок обновлены до Unicode 17.0.


  1. Главная ссылка к новости (https://sourceware.org/piperma...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.42 и набора утилит GNU Binutils 2.45
  3. OpenNews: Уязвимость в Glibc, затрагивающая статически собранные suid-файлы с dlopen
  4. OpenNews: Выпуск стандартной Си-библиотеки PicoLibc 1.8.9
  5. OpenNews: Выпуск стандартной Си-библиотеки Musl 1.2.5
  6. OpenNews: Опубликована стандартная Си-библиотека newlib 4.5.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64670-glibc
Ключевые слова: glibc, newlib
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (105) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.4, Аноним (4), 00:25, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc. Для сборки Glibc требуется как минимум версия Clang 18.

    Ну и где настоящие сишники, когда они так нужны? Кто там рассказывал, что у си несколько компиляторов?

     
     
  • 2.6, Аноним (6), 00:48, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Они заняты фиксами CVE и добавлением новых.
     
  • 2.8, Аноним (8), 01:13, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!

    Reality check:

    1. Стандарт платный. Странная особенность для вроде бы "открытого" "общедоступного" языка.

    2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет. Допустим, в оглавлении написано: "Глава о том, как складывать инты .... Страница 1234". Переходим на эту страницу и читаем: "Складывайте как хотите. int + int это undefined behavior."

    3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго компилятора там всегда экспериментальная. Например, хромиум официально собирается только шлангом. Для поддержки GCC всегда нужны патчи. Всегда! За пруфами идите в репу Gentoo, в котором эти патчи обновляются каждый (!) релиз хромиума.

     
     
  • 3.10, Аноним (10), 04:23, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +16 +/
    >1. Стандарт платный.

    А черновики стандарта нет. Последний черновик ничем не отличается итогового стандарта. Вот он www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf

    >2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет.

    Неправда, все написанно очень понятно и подробно.

    >3. Гигантское количество проектов собирается ровно одним компилятором.

    ... если они используют собственные расширения компиляторов.

     
     
  • 4.14, Аноним (14), 04:40, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> undefined behavior
    > очень понятно и подробно

    Да, это прям очень понятно и очень подробно. 😂

     
  • 4.35, Аноним (-), 11:43, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Последний черновик ничем не отличается итогового стандарта

    А как вы об этом узнали? Неужели купили "стандарт" и сравнили?))

    > Неправда, все написанно очень понятно и подробно.

    Очень подробно расписано "А вот х его знает что должно быть, поэтому пусть будет UB, а вы там как-то сами разберитесь. Главное чтобы это никогда не происходило, даже если это сложение двух чисел".

    > ... если они используют собственные расширения компиляторов.

    А зачем такому прекрасно продуманному йазычку понадобились какие-то там разрешения компиляторов? Причем такие простейшие как 128-bit Integers, Compound Literals и т.д. На момент добавления в расширения их в "стандарте" не было.

    Или это был способ ЕЕЕшнуть ядро линя гнутыми копирастами?

     
     
  • 5.39, Аноним (39), 12:11, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А как вы об этом узнали? Неужели купили "стандарт" и сравнили?))

    Как будто, купленное не утекает в торренты.

     
  • 5.54, Аноним (54), 15:32, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > х его знает что должно быть, поэтому пусть будет UB

    А создатели стандарта и не обязаны за тебя додумывать, что ты там хоьел сделать. Тебя предупредили - если писать вот так, то будет УБ. Дальше - вопрос твоей состоятельности как программиста.

     
     
  • 6.58, Аноним (14), 15:49, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А создатели стандарта и не обязаны за тебя додумывать, что ты там хоьел сделать. Тебя предупредили - если писать вот так, то будет УБ.

    Ага, пердупредили, что если сложить два инта - получишь UB. Действительно, что же я хотел сделать?

     
     
  • 7.61, Аноним (61), 16:56, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Складывай уинты.

    Там нет UB.

     
     
  • 8.63, Аноним (14), 17:04, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Отличный совет А отрицательные числа никому не нужны, я так понимаю ... текст свёрнут, показать
     
     
  • 9.72, Кошкажена (?), 19:06, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для целых со знаком -fsanitize undefined... текст свёрнут, показать
     
  • 8.73, Кошкажена (?), 19:08, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, Страуструп и Google не советуют unsigned кроме кака для манипуляций с би... текст свёрнут, показать
     
  • 7.66, Аноним (54), 18:05, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если у тебя знаний для твоей хотелки недостаточно - кто ж тебе виноват? Обмазывайся проверками, или используй либу для arbitrary precision integer arithmetics. Не умеешь - твоя проблема.
     
     
  • 8.75, Аноним (14), 19:14, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Меня умиляет, как ты пытаешься МЕНЯ обвинить в никчемности этого так называемого... текст свёрнут, показать
     
     
  • 9.110, Аноним (54), 10:25, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А кто ещё виноват в том, что ты либо выбрал неправильный инструмент, либо не уме... текст свёрнут, показать
     
     
  • 10.115, Аноним (4), 11:06, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сначала одни с алтернативным чувством нормы - железячники в прошлом наклепали ку... текст свёрнут, показать
     
  • 7.74, Кошкажена (?), 19:13, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, пердупредили, что если сложить два инта - получишь UB. Действительно, что же я хотел сделать?

    А что хотел? wraparound? Для явных операций c проверкой от переполнения в с23 добавили <stdckdint.h>

     
     
  • 8.79, Аноним (-), 19:23, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хотя бы implementation defined Чтобы был конечный список того, что может произо... текст свёрнут, показать
     
     
  • 9.80, Кошкажена (?), 19:34, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зависит от архитектуры Ничего не мешало до этого использовать другие решения ... текст свёрнут, показать
     
     
  • 10.83, Аноним (83), 19:43, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    У языка есть конечное множество поддерживаемых архитектур Следовательно список ... текст свёрнут, показать
     
     
  • 11.85, Кошкажена (?), 19:52, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что вы собрались добавлять в стандарт при появлении новой архитектуры ... текст свёрнут, показать
     
     
  • 12.86, Аноним (-), 20:10, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    То как язык работает с этой архитектурой, очевидно Те самые варианты чегось сл... текст свёрнут, показать
     
  • 12.98, Аноним (98), 00:51, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ЯП должно быть до лампочки какая там архитектура, это проблемы компилятора как о... текст свёрнут, показать
     
  • 8.114, Аноним (4), 11:02, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну желательно, чтобы в 2026 году всё-таки выкинули язык из 1970-ых, и стандартиз... текст свёрнут, показать
     
  • 4.65, Bottle (?), 17:19, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    О да, анон, ты же потратил триста швейцарских франков для сравнения черновика и стандарта, да?
     
  • 3.12, Аноним (14), 04:26, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > у Си есть славный Стандарт!
    > Reality check:

    Ты самый главный пункт забыл: дырявый горе-дизайн, который прописан прямо в стандарте, на корню пресекает любые улучшения языка в плане безопасности, и поэтому десятилетиями люди пытаются заткнуть эти дыры извне костылями вроде флажков компилятора, статических анализаторов и даже, блажад, заплаток на уровне самого CPU вроде MTE.

     
     
  • 4.55, Аноним (54), 15:34, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Столько языков придемали - бери и пиши на том, который нравится. Нет же, надо прибежать на опеннет поныть о том, какой Си плохой.
     
     
  • 5.57, Аноним (14), 15:47, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет же, надо прибежать на опеннет поныть о том, какой Си плохой.

    Вообще-то обсуждение идет об упоротости стандарта, если ты не заметил. А то, что Си плохой - это не для кого давно не новость.

     
     
  • 6.67, Аноним (54), 18:07, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Столько языков придемали - бери и пиши на том, который нравится. Нет же, надо прибежать на опеннет поныть о том, какой стандарт упоротый.
     
     
  • 7.95, Аноним (14), 23:48, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > бери и пиши на том, который нравится. Нет же, надо прибежать на опеннет поныть о том, какой стандарт упоротый.

    Так я и пишу, лол. Только это не отменяет того факта, что стандарт упоротый.

     
  • 4.120, Аноним (-), 12:44, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Ты самый главный пункт забыл: дырявый горе-дизайн, который прописан прямо в стандарте

    Сидишь пишешь всякую пургу. Может у тебя самого задница дырявая. На сегодня Си самый лучший и оптимальный язык программирования.

     
  • 3.23, Аноним (-), 09:37, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Стандарт платный. Странная особенность для вроде бы "открытого" "общедоступного" языка.

    Общедоступный не означает на халяву. Тебе же никто до него доступ не закрыл. Купи. Или ты коммуняка? GNU поощряет коммерцию. Комитет трудился, составлял Стандарт а ты хочешь забесплатно что-ли? Вознагради Комитет своими деньгами. Стандат это продукт интеллектуального труда, а любой труд должен оплачиваться.

    >Гигантское количество проектов собирается ровно одним компилятором.

    Должен быть один GCC на всю планету. А если хотите конкуррента GCC, то конкуррент должен иметь лицензию GNU_v3, не ниже.

     
     
  • 4.26, Аноним (26), 10:24, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    знаешь анекдот про женщину, которая бы дала за миллион, благодаря чему, кто она ... большой текст свёрнут, показать
     
  • 4.40, Аноним (39), 12:16, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    По поводу лицензии ты прав, все конкуренты должны иметь лицензию GPLv3+.
     
     
  • 5.68, Аноним (68), 18:33, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ...чтоб скоммунизидить было проще
     
     
  • 6.70, Аноним (70), 18:59, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Копилефт невозможно скомуниздить. Обыно коммуниздят пермиссивку, из которой делают закрытые форки. И даже если кто скомуниздит копилефт, то это означает прямое нарушение лицензии.
     
  • 4.52, Аноним (14), 14:56, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Закрыли За пйволом Купить бумажную версию не вопрос Но ведь эти чудаки и за P... большой текст свёрнут, показать
     
     
  • 5.62, Аноним (62), 16:58, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Купить бумажную версию не вопрос. Но ведь эти чудаки и за PDF деньги просят.

    На бумаге уже никто стандарты не печатает. Болезный, иди смени методичку.

     
  • 5.100, Аноним (100), 02:54, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Вообще, удивительно, что ты не предлагаешь сделать платными сами компиляторы.

    Почему если работяга на стройке работает, то его работодатель платит за инструменты, если работяга работает на себя, то он покупает из своего кармана. Логично платить и за компилятопф и за скомпилированные программы процент.

     
  • 3.28, Аноним324 (ok), 10:27, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Гигантское количество проектов собирается ровно одним компилятором.

    Вообще двумя, гцц и шланг. Остальное умерло. У майкрософта ещё есть мсвц, но он всё же С++ в первую очередь, там сишка по остаточному принципу.

     
     
  • 4.46, Аноним (-), 13:24, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >мсвц

    мерсавец

    >С++ в первую очередь, там сишка по остаточному принципу.

    У компилятора Майкрософта сишка застряла на древнем стандарте ANSI89. Майкрософт сам виноват, они думали что ООП-ешная C++ заменит Чистую-процедурную. Ошиблись, сейачс уже поздно.

     
     
  • 5.50, Аноним324 (ok), 14:39, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>мсвц
    > мерсавец
    >>С++ в первую очередь, там сишка по остаточному принципу.
    > У компилятора Майкрософта сишка застряла на древнем стандарте ANSI89. Майкрософт сам виноват,
    > они думали что ООП-ешная C++ заменит Чистую-процедурную. Ошиблись, сейачс уже поздно.

    Та не ошибались они, как показала практика С никому не нужен. А стандарт С89 полностью закрывает большую часть задач которые в теории могли бы оказатся в майкрософте. Всё равно основной язык платформы С# и Typescript, остальное абсолютно вторично. Тот же линукс вообще весь на питоне склеен, все сишные кривые кор технологии, обвязали в три слоя питоном, чтобы этим хоть как-то можно было пользоватся.


     
     
  • 6.53, Аноним (39), 15:00, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Тот же линукс вообще весь на питоне склеен, все сишные кривые кор технологии, обвязали в три слоя питоном, чтобы этим хоть как-то можно было пользоватся.

    Уточним, юзерспейс Линукса, конечно. Во многом - да, не на 100%, но во многом.

     
  • 3.69, Кошкажена (?), 18:58, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!

    Давайте посчитаем

    1. gcc
    2. clang
    3. MSVC
    4. tcc
    5. lcc https://en.wikipedia.org/wiki/LCC_(compiler)
    6. compcert https://compcert.org/
    7. cproc https://sr.ht/~mcf/cproc/
    8. scc https://www.simple-cc.org/
    9. pacc https://github.com/BeRo1985/pacc
    10. MesCC от проекта GNU Mes

    Это просто, что певрое пришло в голову. Наверняка что-то еще есть.

     
     
  • 4.77, Аноним (14), 19:21, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!
    > Давайте посчитаем

    Все, что идет с позиции 4 и ниже, на практике можно только подтереться, потому что до уровня первой троицы в плане оптимизаций и поддержки платформ им как до луны. Ты сильно ошибаешься, если думаешь, что написать серьезный оптимизирующий компилятор чистой сишечки - тривиальная задача.

     
     
  • 5.82, Кошкажена (?), 19:40, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!
    >> Давайте посчитаем
    > Ты сильно ошибаешься, если думаешь, что написать серьезный оптимизирующий компилятор чистой сишечки - тривиальная задача.

    7, 8, 9 используют qbe. Сколько кода в нем, а также в cproc можете посмотреть. Никто не говорит, что задача простая. Об этом явно написано на главной qbe. Но не понимаю, что это мы плавно перешли от темы "релизовать стандарт" к теме "сделать супер быструю реализацию". Не надо так.


     
     
  • 6.88, Аноним (4), 20:35, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    https habr com ru articles 592671 Это просто замечательно, когда ядро прибито... большой текст свёрнут, показать
     
     
  • 7.121, Аноним (-), 12:46, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Си - это самый настоящий монстр, делающий любые сложные вещи невозможными.

    С Си всё возможно. Просто ты не осилил процедурную парадигму.

     
  • 6.90, Аноним (14), 20:39, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Но не понимаю, что это мы плавно перешли от темы "релизовать стандарт" к теме "сделать супер быструю реализацию".

    Нет, тема была не просто реализовать стандарт, а чтобы при этом получился юзабельный компилятор (выше говорилось "Гигантское количество проектов собирается ровно одним компилятором"). Ведь если ты реализуешь сугубо по стандарту, у тебя получится бесполезный огрызок (зато по стандарту!). Вот поэтому реальные проекты завязываются на конкретный компилятор, потому что в нем помимо нормальной оптимизации кода и поддержки платформ есть (а) фичи, которые расширяют недоязык и (б) средства для закупоривания дыр недоязыка (типа разных флажков компилятора для проверок на тот самый UB).

     
  • 5.84, Кошкажена (?), 19:44, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!
    >> Давайте посчитаем
    > Все, что идет с позиции 4 и ниже, на практике можно только
    > подтереться, потому что до уровня первой троицы в плане оптимизаций и
    > поддержки платформ им как до луны.

    Вот здесь вы можете ознакомиться с информацией https://compcert.org/man/manual001.html

     
     
  • 6.91, Аноним (14), 20:44, 25/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.87, Аноним (4), 20:28, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Давайте посчитаем

    И сколько из этих компиляторов - игрушечные? В том плане, что их не хватит для компиляции системы с нуля, от ядра и станартной библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для повседневного использования.
    >Наверняка что-то еще есть.

    Конечно есть. Целая куча точно таких же игрушечных компиляторов, непригодных для любого использования.

     
     
  • 5.89, Кошкажена (?), 20:35, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>Давайте посчитаем
    > И сколько из этих компиляторов - игрушечные? В том плане, что их
    > не хватит для компиляции системы с нуля, от ядра и станартной
    > библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для
    > повседневного использования.

    Mes + MesCC + Mes C Library can build a bootstrappable TinyCC that is self-hosting. Using this bootstrappable-tcc and the Mes C library we can build an ancient version of the GNU tools triplet: glibc-2.2.5, binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for i686-linux, x8664-linux, armhf-linux and aarch64-linux.

     
     
  • 6.96, Аноним (96), 00:00, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Давайте посчитаем
    >> И сколько из этих компиляторов - игрушечные? В том плане, что их не хватит для компиляции системы с нуля, от ядра и станартной библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для  повседневного использования.
    > Mes + MesCC + Mes C Library can build a bootstrappable TinyCC

    "С помощью этих компиляторов мы можем бутсрапнуть gcc и потом собрать все им!" ... не, ну чисто формально верно, но сильно смахивает на жонглирование формулировками. Ты попробуй tinyCC хотя бы юзерлэнд собрать. Ядро, glibc, GTK там с WM.

     
     
  • 7.102, Кошкажена (?), 07:06, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>>>Давайте посчитаем
    >>> И сколько из этих компиляторов - игрушечные? В том плане, что их не хватит для компиляции системы с нуля, от ядра и станартной библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для  повседневного использования.
    >> Mes + MesCC + Mes C Library can build a bootstrappable TinyCC
    > "С помощью этих компиляторов мы можем бутсрапнуть gcc и потом собрать все
    > им!" ... не, ну чисто формально верно, но сильно смахивает на
    > жонглирование формулировками.

    Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.

    > Ты попробуй tinyCC хотя бы юзерлэнд собрать. Ядро, glibc,
    > GTK там с WM.

    Выше же написано, что glibc собирается.

     
     
  • 8.107, Аноним (107), 09:48, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, но только древнюю версию gcc-2 95 3 Читай свою же цитату внимательнее ... текст свёрнут, показать
     
  • 6.112, Аноним (4), 10:57, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >we can build an ancient version of the GNU tools triplet
    >Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.

    Вам прямо говорят, что сборка возможна только для древних версий. Следовательно, новые версии собрать невозможно. Следовательно, даже так, это игрушечные компиляторы, не способные собрать даже базовое сборочное окружение. Про сборку всего остального, вроде linux можно даже не спрашивать. Как итог, минимум два пункта из вашего списка можно сразу же вычёркивать.

     
     
  • 7.113, Кошкажена (?), 11:02, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>we can build an ancient version of the GNU tools triplet
    >>Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.
    > Вам прямо говорят, что сборка возможна только для древних версий. Следовательно, новые
    > версии собрать невозможно. Следовательно, даже так, это игрушечные компиляторы, не способные
    > собрать даже базовое сборочное окружение.

    Они для бутстрапа используются и понятно, что они не замена gcc в плане оптимизаций. Введите определение игрушечного компилятора?

     
     
  • 8.116, Аноним (4), 11:29, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Их невозможно использовать для бутстрапа в том виде, в котором обычно подразумев... большой текст свёрнут, показать
     
     
  • 9.118, Кошкажена (?), 12:24, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Бутстрап нужен чтобы получить компилятор из исходных код... текст свёрнут, показать
     
     
  • 10.125, Аноним (4), 14:03, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Всё равно, это абсолютно ничем не лучше раста Раст первоначально написан на Oca... текст свёрнут, показать
     
  • 3.76, Кошкажена (?), 19:17, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > 3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго
    > компилятора там всегда экспериментальная. Например, хромиум

    Это от проекта же зависит. У хромиума еще и своя система сборки.

     
     
  • 4.78, Аноним (14), 19:22, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Поддержка второго компилятора там всегда экспериментальная. Например, хромиум
    > У хромиума еще и своя система сборки.

    При чем здесь система сборки, если он за компилятор говорит?

     
     
  • 5.81, Кошкажена (?), 19:37, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> Поддержка второго компилятора там всегда экспериментальная. Например, хромиум
    >> У хромиума еще и своя система сборки.
    > При чем здесь система сборки, если он за компилятор говорит?

    Это к тому же "а почему бы им не поддержать условный cmake?". Не хотят и не поддерживают. Делает ли это cmake неиспользуемым? Нет.

     
     
  • 6.92, Аноним (14), 20:46, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Не хотят и не поддерживают. Делает ли это cmake неиспользуемым? Нет.

    Ты извини, но этот весь бред про системы сборки и CMake не имеет никакого отношения к теме о поддержке конкретного компилятора.

     
     
  • 7.103, Кошкажена (?), 07:11, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Не хотят и не поддерживают. Делает ли это cmake неиспользуемым? Нет.
    > Ты извини, но этот весь бред про системы сборки и CMake не
    > имеет никакого отношения к теме о поддержке конкретного компилятора.

    Утверждается, что chromium поддерживает 1 компилятор условно. Значит остальные не нужны? Это не правда.

     
     
  • 8.108, Аноним (107), 10:02, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это значит, что именно Cromium остальные не нужны ... текст свёрнут, показать
     
  • 3.97, Аноним (-), 00:49, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, давайте проверим реальность Прямо в шапке новости - нам светит ссыль на htt... большой текст свёрнут, показать
     
     
  • 4.111, Аноним (111), 10:49, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, давай проверим Открываем первую страницу, а там draft Ой, нехорошо вышл... большой текст свёрнут, показать
     
  • 2.27, Аноним (27), 10:25, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    98% программ собираются и gcc, и clang.

    Толсто!

     
     
  • 3.64, Аноним (4), 17:14, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    При наличии стандарта, программа будет собираться абсолютно любым компилятором. Более того, при наличии стандарта, в случае, если llvm не в состоянии собрать программу, в этом самом llvm заводится баг, а не вставляется костыль в каждую отдельную прикладную программу.
     
     
  • 4.93, Аноним (14), 20:48, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > При наличии стандарта, программа будет собираться абсолютно любым компилятором.

    Ну да: главное, что собираться будет. А то, что вести будет по-разному, натыкаясь UB - это уже мелочи.

     
     
  • 5.99, Аноним (-), 00:52, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну да: главное, что собираться будет. А то, что вести будет по-разному,
    > натыкаясь UB - это уже мелочи.

    Это баги программы в общем то. А вы что предлагаете? Забить на стандарты вообще и вертухаться как флюгер на ветру под очередные причуды какой-то горстки хипстеров нанятых стремноватыми манагерами полутора корп? Так только питон какой получается. Весьма такой характерный, с периодом полураспада софта на этом в год. Так что большая часть софта - одноразовые макеты.

     
     
  • 6.109, Аноним (107), 10:05, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А вы что предлагаете? Забить на стандарты вообще

    Нет, предлагать что-то уже давно поздно. А лет эдак 30 назад вполне можно было предложить развивать язык по-человечески, а не продолжать этот цирк с кривыми нашлепками под названием "стандарт".

     
  • 4.119, Аноним (119), 12:42, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >если llvm не в состоянии собрать программу, в этом самом llvm заводится баг, а не вставляется костыль в каждую отдельную прикладную программу.

    А потом ждётся ГОД до следующего релиза, за который твоя аппаратная платформа устареет.

     
  • 2.37, Аноним (39), 12:04, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, несколько. Но собрать GLibc способны не все из них. Например, TinyCC и SDCC не смогут.
     
  • 2.45, Аноним (45), 12:48, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "Настоящие" котируют только С89, остальные стандарты недостаточно проверены временем.
     
  • 2.104, Sm0ke85 (ok), 08:48, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну и где настоящие сишники, когда они так нужны? Кто там рассказывал, что у си несколько компиляторов?

    Что тебя возмущает/удивляет...? Мысль сформулируй...

     

  • 1.9, Аноним (14), 04:16, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > C23 функции bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr и wmemchr [...] переопределены как макросы

    Не перестаю удивляться сишечному комитету. Сперва они воют о святой Обратной Совместимости, а потом БАЦ - и кучу функций заменяют макросами. 🤦

    Ну и да, это прекрасный пример экспертам, которые заявляли тут, что ни перегрузки функций, ни шаблоны в языке не нужны. Оказалось, что таки нужны, но вот в недоязыке из 70х их уже не втулить.

     
     
  • 2.11, Аноним (10), 04:25, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И как замена функций на макросы ломает обратную совместимость?
     
     
  • 3.13, Аноним (14), 04:35, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > И как замена функций на макросы ломает обратную совместимость?

    Например, так, что указатели на соответствующие функции идут лесом.

     
     
  • 4.16, Аноним (10), 05:13, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Для конкретно этих функций я не вижу ни одного случая, когда это будет практически нужно.
     
     
  • 5.18, Аноним (18), 09:12, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Есть .lib, или даже .so, которые ссылаются на эти функции. Чё делать будешь?
     
     
  • 6.21, Аноним (-), 09:28, 25/01/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.20, Аноним (-), 09:27, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >заявляли тут, что ни перегрузки функций, ни шаблоны в языке не нужны. Оказалось, что таки нужны

    Где нужны? В твоих мечтах?

     
     
  • 3.42, Аноним (39), 12:26, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну макросы это уже какая-никакая подвижка в сторону шаблонов.
     
     
  • 4.47, Аноним (-), 13:26, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Хочется шабонов - юзай С++, нефик трогать чистый Си.
     
  • 3.48, Аноним (14), 14:13, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> заявляли тут, что ни перегрузки функций, ни шаблоны в языке не нужны. Оказалось, что таки нужны
    > Где нужны?

    В языке С, очевидно. Причем настолько нужны, что их в виде костыликов добавили в стандарт и библиотеку.

    > В твоих мечтах?

    Как же тебя трясет, бедолагу. Что-то содержательное по теме обсуждения можешь сказать?

     
  • 2.25, Q (??), 10:05, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    С с перегрузкой функций и шаблонами уже есть и называется от С++ 🤷♂
     
     
  • 3.33, Аноним (26), 10:47, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    а что мешает перегружать функции в С? ну не из каробки фича, но какая разница будет функция именованная или переменная. Что за шаблоны понятия не имею, но я и не программист.

    Вообще, аккуратно можно написать что угодно, хоть на си, хоть на асме, хоть сразу в бинарных инструкциях, так же как и наговнокодить. какие притензии к языку, обвинять напильник в том что он больно бьет по пальцам..

     
  • 3.71, Кошкажена (?), 19:02, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > С с перегрузкой функций
    > уже есть и называется от С++ 🤷♂

    man 3 _Generic

     
  • 2.29, Аноним (27), 10:27, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    -std=c89 кто отнял?
     
     
  • 3.49, Аноним (14), 14:20, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Никто. Только речь не про это, если ты не заметил, а про подход комитета к "развитию" языка.
     

  • 1.19, Аноним (-), 09:25, 25/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc.

    Пермиссивщики враги копилефта. Зачем их поддерживать?

     
     
  • 2.31, Аноним (61), 10:46, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    С большой долей вероятности именно пермиссивщики и проплатили или сами сделали это.
     
  • 2.34, Аноним (34), 11:39, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Возможно они за Свободу?
    В отличии от раковых запретительных лицензий.

    Зачем поддерживать тех, кто запрещает, да еще и пахнет коммуняцкими лозунгами.

     
     
  • 3.51, Аноним (39), 14:48, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Их свобода - свобода продаванов. А свобода кода их не заботит.
     
     
  • 4.56, Аноним (56), 15:47, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Код это не субьект, у него свободы быть не может.

    Свобода может быть у человека.
    И разрешительные лицензии дают больше свободы чем раковые запретительные.

    Вот и всё, где свободы для программиста больше - там и лицензия свободная.

     
  • 2.36, Аноним (-), 11:45, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Пермиссивщики враги копилефта.

    Копилефт враг создателей и здравоого смысла. И друг потpe6лядей.
    Во ты только что сказал "кто твой друг" и мы сразу поняли кто ты.

     
     
  • 3.43, Аноним (39), 12:30, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Странно, а я всё думал, что потреbляди это те, кто жрут блобятину без разбору и им наплевать на открытость.
     
     
  • 4.44, Аноним (44), 12:42, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > и им наплевать на открытость

    Как будто droч на "открытость" делает из потреbляди создателя.
    Наоборот: как раз потреbляди люто-бешено бояться, что автор посмеет "закрыть" код. Или что еще хуже - попробует заработать на жизнь!
    То что лицензия изменится только нового кода, а весь старый код остается под старой лицензией и останется доступен под старыми условиями их не волнует, потому что потреbлядь все равно не в состоянии ничего толкового с ним сделать. Зато очень-очень боится что он потеряет возможность пользоваться приложенькой. Поэтому он топит за "открытость" (по мнению мозолееда и его секты)

     

  • 1.117, Аноним (117), 11:39, 26/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >На системах x86 добавлена поддержка процессоров Intel Nova Lake и Wildcat Lake.

    Тут что-то не то. Какое отношение библиотека Си имеет к архитектуре CPU? Си -- язык переносимый, он на всех архитектурах работает, главное чтобы компилятор поддерживал.

     
     
  • 2.123, Аноним (-), 12:55, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется, в новой версии включена поддержка новых процессорных инструкций в исходных кодах библиотек. Типа когда ты компилируешь glibc в системе с процессорами Intel Nova Lake и Wildcat Lake, в бинарях активируется поддержка процессорных инструкций характерных для Intel Nova Lake и Wildcat Lake.
     
     
  • 3.124, Аноним (124), 13:06, 26/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Там dynamic dispatch.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру