The OpenNET Project / Index page

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

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

22.01.2024 09:17

Опубликован релиз стандартной Си-библиотеки PicoLibc 1.8.6, развиваемой Китом Паккардом (Keith Packard, лидер проекта X.Org) для применения на встраиваемых устройствах с ограниченным размером постоянного хранилища и оперативной памяти. При разработке часть кода заимствована из библиотеки newlib от проекта Сygwin и AVR Libc, развивавшейся для микроконтроллеров Atmel AVR. Код PicoLibc распространяется под лицензией BSD. Поддерживается сборка библиотеки для архитектур ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k и PowerPC.

Изначально проект развивался под именем "newlib-nano" и был нацелен на переработку некоторых ресурсоёмких функций Newlib, которые было проблематично использовать на встраиваемых устройствах с небольшим ОЗУ. Например, в PicoLibc функции stdio заменены на компактный вариант из библиотеки avrlibc. Код также вычищен от неиспользуемых в сборке для встраиваемых устройств компонентов, поставляемых не под лицензией BSD. Добавлен упрощённый вариант кода инициализации (crt0), а реализация вызовов переведена с 'struct _reent' на механизм TLS (thread-local storage). Для сборки задействован инструментарий Meson.

В новом выпуске:

  • Перенесены изменения из Newlib 4.4.0, такие как поддержка типа "long double" на архитектурах i386, RISC-V, Aarch64 и x86_64, поддержка расширений RISC-V Zfinx/Zdinx, возможность использования масок при вставке каталогов, реализация порта для процессоров Xtensa, выделение обработчиков printf в отдельные файлы для сокращения размера при компоновке.
  • В picolibc.ld добавлены символы "__eh_*" для LLVM libunwind.
  • Включена тестовая поддержка 32-разрядных систем SPARC.
  • Обеспечена поддержка целевых платформ с нетипичными типами с плавающей запятой, которые теперь отражаются в 32-, 64-, 80- и 128-разрядные типы в коде picolibc.
  • Добавлена поддержка RISC-архитектуры SuperH.
  • Улучшена трассировка стека при отладке кода исключений на системах RISC-V.
  • Добавлена опция "-Dfast-bufio=true" для повышения эффективности чтения и записи при использовании bufio.
  • Проведена чистка публичных inline-функций для совместного использования семантики gnu_inline.
  • Большинство функций fenv для повышения производительности переведены на использование inline-функций (gnu_inline) вместо обычных.
  • Создана альтернативная реализация ctype, в которой не используется массив ctype и производится прямое сравнение значений.


  1. Главная ссылка к новости (https://github.com/picolibc/pi...)
  2. OpenNews: Выпуск стандартных Си-библиотек Musl 1.2.3 и PicoLibc 1.7.6
  3. OpenNews: Выпуск стандартной Си-библиотеки PicoLibc 1.5
  4. OpenNews: Представлена стандартная Си-библиотека Musl 1.0.0, развиваемая в качестве альтернативы Glibc
  5. OpenNews: В Си-библиотеке nolibc, входящей в состав ядра Linux, реализована поддержка сигналов
  6. OpenNews: Выпуск системной библиотеки Glibc 2.38 и набора утилит GNU Binutils 2.41
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60476-picolibc
Ключевые слова: picolibc, libc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:07, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ждём в OpenWrt?
     
     
  • 2.7, Аноним (7), 12:53, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет.
     

  • 1.2, Шарп (ok), 11:08, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    >развиваемой Китом Паккардом (Keith Packard, лидер проекта X.Org)

    Чел вместо допиливания иксов занимается устранением фатальных недостатков в уже существующих libc.

     
     
  • 2.4, Аноним (4), 12:09, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> фатальных недостатков в уже существующих libc <<<

    Когда я изучал сие чудо (picolibc), то для себя отметил что проблема во-первых, по факту это просто куча копи-паст кода который писался разными люди (никакой кодинг стайл там и в помине не валялся при чём даже на уровне тела функции!!!!!!; в общем всё ради "правильной для корпарасов" лицензии). С тестированием там тоже всё плохо! Но основная проблема там как и везде - заголовочные файлы (необходимое зло)!!!! Я попытался сделать рефакторинг этого чуда, но понял что это очень трудозатратная и нудная задача, так что для себя я решил что за бесплатно таким заниматься будет только мазохист (кстати это было в то время когда какой-то чувак решил проделать такую же "чистку" на уровне ядра линукс, - уж не знаю чем там всё закончилось, но чел реальный мазохист!)

     
  • 2.5, Аноним (-), 12:22, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Это как бэ намекает что на икса по... даже лидеру их проекта.
    Но у тебя есть прекрасный шансы взять флаг в свои руки и возродить было величие этого к̶у̶с̶к̶а̶ ̶о̶в̶н̶а̶  отличного проекта!
     
  • 2.11, Аноним (-), 14:30, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А зачем иксы дописывать?
    По мнению г̶о̶р̶о̶д̶с̶к̶и̶х̶ ̶с̶у̶м̶а̶ш̶е̶д̶ш̶и̶х̶ местных экспертов они и так "идеальны и просто работают".
    Подумаешь половина новых технологий нефурычат, а половина старых - дырявая как шапка почтальона Печкина.
    Зато не вейланд)

    ps. вообще немного жаль чувака, он не может сказать "я устал от этого багованного куска xorg! да пошло оно все лесом", приходится украдкой пилить сторонние проекты

     
     
  • 3.15, _kp (ok), 18:56, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> "идеальны и просто работают".

    Не могу не согласиться, и с тем и другим.
    Но не добавлено, что X, при всех их достоинствах, морально устаревают и не поспевают за современными потребностями.

     
  • 2.16, Аноним (16), 21:17, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чел помогал в разработке wayland и xwayland, и доклады читал о переходе на wayland. Это подход настоящего инженера - думай над улучшением механизмов и предлагай новые решения, отбросив эмоции и личные хотелки. А не местные истерички "wayland/xorg говно, лол кек чебурек, закопать выкинуть".
     
  • 2.23, Бывалый смузихлёб (?), 12:18, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    допиливать иксы сейчас - что перекрашивать печку в сгоревшей хате
     

  • 1.3, Аноним (4), 11:55, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    передаю привет, анону, который даже не поленился зарепортить баг о которой я как-то писал тут в комментариях:)
     
     
  • 2.10, Аноним (10), 14:03, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    будешь должен
     

  • 1.6, Аноним (6), 12:28, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Изначально проект развивался под именем "newlib-nano" и был

    написан сотрудниками ARM для микроконтроллеров, входит в комплект newlib и не имеет отношения к cygwin

     
  • 1.8, Аноним (7), 12:57, 22/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Код PicoLibc распространяется под лицензией BSD.

    Проприетарщики, с их закрытыми прошиками, будут рады. Интересно, они ему ему хоть спасибо скажут?

     
     
  • 2.17, Аноним (16), 21:22, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Внезапно, любому нужному открытому коду рады в первую очередь любители опенсорса. А чужие деньги считать и в лицензиях буковки интерпретировать удел безыдейных лодырей.
     
  • 2.18, Аноним (-), 22:13, 22/01/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так гпл-нутые могут ее заразить, это лицензия же свободная и позволяет свободно распоряжаться кодом.
    В отличие от самой gpl))
     
     
  • 3.19, Аноним (19), 01:07, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Таким беззащитным библиотекам нужна прививка свободы от GPL.
     

  • 1.20, Аноним (20), 09:31, 23/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Именно такой и должна быть стандартная либа! А не тот ужас под названием glibc.
     
     
  • 2.22, Аноним (22), 09:50, 23/01/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, для микроконтроллеров без MMU и мало что умеющая, шутник.
     

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



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

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