The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Представлена стандартная Си-библиотека Musl 1.0.0, развиваем..."
Отправлено opennews, 20-Мрт-14 20:36 
После трёх лет разработки представлен (http://www.openwall.com/lists/musl/2014/03/20/1) первый значительный релиз новой стандартной Си-библиотеки Musl 1.0.0 (http://www.musl-libc.org) (libc), ориентированной для использования в Linux-устройствах нового поколения. Библиотека отличается (http://www.etalabs.net/compare_libcs.html) небольшим размером, высокой производительностью, безопасностью, простотой  и соблюдением стандартов. Автором проекта является Рич Фелкер (Rich Felker), участник проекта Openwall и член группы Austin Group, развивающей и поддерживающей стандарты POSIX. Код Musl поставляется (http://www.musl-libc.org/download.html) под свободной лицензией MIT.

Musl является универсальной реализацией libc и подходит для применения, как на стационарных ПК и серверах, так и на мобильных системах, сочетая полноценную поддержку стандартов, свойственную для полновесных библиотек, таких как  Glibc (GNU C library), с небольшим размером, низким потреблением ресурсов и высокой производительностью, свойственными специализированным вариантам libc для встраиваемых систем, таких как uClibc, dietlibc и Android Bionic. Musl предоставляет (http://wiki.musl-libc.org/wiki/Compatibility) полную поддержку всех обязательных интерфейсов C99 и POSIX 2008, а также частично C11 и набор расширений, получивших распространение в Linux-окружениях. В том числе библиотека предоставляет средства для многопоточного программирования, управления памятью и работы с локалями.


Проект Musl старается придерживаться совместимости с Glibc в части функциональности, как на бинарном уровне, так и на уровне исходных текстов. При этом, Musl  не ставит перед собой цель обеспечения совместимости с Glibc на уровне ошибок (http://wiki.musl-libc.org/wiki/Functional_differences_from_g...), идущих в разрез со стандартами. На уровне исходных текстов обеспечена достаточно неплохая совместимость с Glibc. На бинарном уровне совместимость ещё оставляет желать лучшего - хотя уже можно загружать при использовании musl некоторые динамические библиотеки, собранные с Glibc, запуск приложений при замене /lib/ld-linux.so.2 на musl пока не поддерживается.


Что касается несовместимости на уровне кода, если работающее с Glibc приложение не удаётся собрать с Musl, то, как правило, проблемы вызваны ошибками при формировании списка директив include, указанием нестандартных элементов  (например, __pid_t  вместо pid_t) или использованием программных интерфейсов, пока не доступных в musl. В настоящее время сборка с Musl успешно протестирована на более чем 5000 пакетах из архива pkgsrc.

  


Musl поддерживает (http://wiki.musl-libc.org/wiki/Supported_Platforms) работу только в Linux и может работать с ядрами Linux, начиная с выпуска 2.6.39. Официально поддерживаются следующие архитектуры: i386, x86_64, ARM (armv4t и новее), MIPS, PowerPC и Microblaze. Экспериментальная поддержка обеспечена для SuperH (SH) и x32. Из компиляторов поддерживаются GCC 3.4.6+, Clang 3.2+, PCC  1.1.0+ и CParser/firm (http://pp.ipd.kit.edu/firm/).


На базе Musl уже развивается (http://wiki.musl-libc.org/wiki/Projects_using_musl) несколько дистрибутивов Linux, среди которых проекты OSv (https://www.opennet.ru/opennews/art.shtml?num=37936), Sabotage (https://github.com/sabotage-linux/sabotage), LightCube OS (https://github.com/jhuntwork/lightcube-bootstrap-musl), starchlinux (http://starchlinux.org/), morpheus (http://git.2f30.org/morpheus/) и Snowflake (https://bitbucket.org/GregorR/snowflake).  Musl также применяется в компиляторе Emscripten (http://emscripten.org/), используемом для преобразования C/C++ проектов  в представление на JavaScript. Из известных дистрибутивов, в которых обеспечена опциональная поддержка Musl, можно отметить Debian, Ubuntu, OpenWrt, Gentoo и Arch Linux. Среди дистрибутивов, планирующих переход по умолчанию на Musl: Aboriginal (http://landley.net/aboriginal/), Alpine (http://alpinelinux.org/) и Dragora (http://www.dragora.org/).


URL: http://www.openwall.com/lists/musl/2014/03/20/1
Новость: https://www.opennet.ru/opennews/art.shtml?num=39365

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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