The OpenNET Project / Index page

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

Выпуск стандартной Си-библиотеки Musl 1.2.6

21.03.2026 10:02 (MSK)

После двух лет разработки представлен релиз стандартной Си-библиотеки Musl 1.2.6, предоставляющей реализацию libc, которая подходит для применения как на стационарных ПК и серверах, так и на мобильных системах, сочетая полноценную поддержку стандартов (как в Glibc) с небольшим размером, низким потреблением ресурсов и высокой производительностью (как в uClibc, dietlibc и Android Bionic). Имеется поддержка всех обязательных интерфейсов C99 и POSIX 2008, а также частично C11 и набор расширений для многопоточного программирования (POSIX threads), управления памятью и работы с локалями. Код Musl поставляется под свободной лицензией MIT.

Основные изменения:

  • Реализована функция posix_getdents, появившаяся в стандарте POSIX-2024. Функция читает содержимое каталога, связанного с открытым файловым дескриптором и помещает информацию о подкаталогах и файлах в структуры posix_dent с возможностью ограничения максимального размера.
  • Добавлена специфичная для Linux функция renameat2, предоставляющая средства для атомарной замены имён двух файлов (первый файл переименовывается во второй, а второй в первый). От renameat новая функция отличается наличием дополнительного флагового поля - без выставления флага поведение renameat2 полностью аналогично renameat, а при указании флага RENAME_NOREPLACE операция переименования не приводит к замене уже существующего файла.
  • Для систем Loongarch64 добавлена поддержка механизма TLSDESC (Thread-Local Storage Descriptor) для эффективного доступа к переменным в локальном хранилище потока.
  • При помощи vDSO оптимизирована работы функции clock_gettime на архитектурах riscv32, riscv64, powerpc, powerpc64 и s390x. vDSO (virtual dynamic shared object) позволяет перенести обработчик системного вызова из ядра в пространство пользователя и избежать переключений контекста.
  • Для определения возможностей CPU в runtime компиляторов, символ __getauxval переведён в публичный ABI.
  • Устранена уязвимость (CVE-2025-26519), приводящая к переполнению буфера при преобразовании специально оформленного текста из кодировки EUC-KR в UTF-8 при помощи функции iconv(). Уязвимость выявлена более года назад и до релиза устранялась через установку патча.
  • Решены проблемы с совместимостью в функциях initgroups, getusershell, exit, atexit, strerror, isatty, hasmntopt и vdso, а также в заголовочных файлах sched.h и shadow.h.
  • Улучшено соответствие спецификациям в функциях pwrite (решена проблема с O_APPEND), mbnrtowcs (учтены требования POSIX-2024), strptim (учтены требования POSIX-2024e), inet_ntop (обеспечено соответствие RFC 5952).


  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимость в Musl, эксплуатируемая при перекодировании текста в кодировке EUC-KR
  3. OpenNews: Представлен порт systemd для систем на базе библиотеки Musl
  4. OpenNews: Выпуск стандартной Си-библиотеки Musl 1.2.5
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65037-musl
Ключевые слова: musl, libc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.11, Аноним (11), 11:16, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как там встроенный аллокатор? Производительность на уровне glibc?
     
     
  • 2.12, Аноним (11), 11:18, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И вдогонку, dlclose() ещё не доделали?
     
  • 2.18, Аноним (18), 11:30, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Для тех, кому нужен "взрослый" аллокатор, есть tcmalloc, jemalloc, mimalloc - тысячи их.
     
     
  • 3.21, Аноним (21), 11:55, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В книге Кернигана и Ритчи есть примеры того как можно самому написать аллокатор. А то что сам написал это круче чем пользоваться библиотечными.
     
     
  • 4.22, Аноним (-), 12:03, 21/03/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.24, laindono (ok), 12:06, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Чтоб узнать, получилось ли лучше, надо измерить. А тут никто так не умеет. Простенький аллокатор на коленке действительно может быть лучше. Если поток всего один и заранее попросить большой выровненный кусок.
     

  • 1.13, Аноним (13), 11:22, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    с использованием musl про игры и в целом про протон/вайн можно забыть. нужна только чтобы окунуться в линукс двадцатилетней давности когда ничего не работало и надо было пердолиться на каждом шагу.
     
     
  • 2.23, Аноним (23), 12:04, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так он же в докере по умолчанию. Зачем там Линукс?
     
     
  • 3.26, ef (?), 13:02, 21/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Он в докер-образах есть только если образы собраны с его использованием, например что-нибудь на основе образа alpine. А так много образов обираются и на основе дебиана, и даже на основе прости ктулху убунты, и там обычный глибц.
     

  • 1.15, Аноним (15), 11:26, 21/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > работы с локалями

    Это зачем в стандартной библиотеке?

     

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



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

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