Сегодня вышла версия 1.0 musl, свободной реализации стандартной библиотеки языка C. musl реализует стандарты ISO C и Posix, плюс набор расширений используемых в системах на базе Linux. Код распространяется под лицензией MIT (начиная с версии 0.9.). Основные изменения:
- нововведения
- поддержка mips softfloat ABI;
- legacy setkey и API шифрования для DES;
- поддержка BSD версии struct tcphdr в дополнение к GNU версии;
- поддержка протоколов ipv6, icmpv6 в семействе функций getprotoent;
- поддержка новых архитектур
- sh (SuperH);
- x32 (ILP32 ABI для x86_64);
- совместимость
- улучшена поддержка компилятора c89 в math.h;
- удалены предупреждения об ошибках в публичных заголовках;
- добавлены отсутствующие возможности для LFS64 API;
- исправление ошибок
- переполнение буфера в printf;
- ошибки округления в printf;
- падение программы при передаче нулевого указателя в posix_spawn;
- некорректная работа ftello;
- некорректная работа wcsxfrm при n = 0;
- ошибки в install.sh, в некоторых случаях, приводящие к краху системы при обновлении libc;
- некорректная работа флага ntfw FTW_MOUNT;
- отрицательные коды ошибок в ptsname/ptsname_r;
- некорректная работа getprotoent;
- неправильные код ошибки вызвращаемой readdir когда директория удалена;
- архитектурно-специфические ошибки
- некорректная работа fesetenv(FE_DFL_ENV) на i386 и x86_64;
- strerror(EDQUOT) не работал на mips;
- recvmsg/sendmsg не работал на powerpc;
- sysv ipc не работал на powerpc и mips;
- statfs/statvfs не работали на mips;
- sigaltstack не работал на mips;
>>> Подробности