PicoLibc стандартты C кітапханасының шығарылымы 1.4.7

Кейт Пакард, белсенді Debian әзірлеушісі, X.Org жобасының жетекшісі және XRender, XComposite және XRandR сияқты көптеген X кеңейтімдерін жасаушы, жарияланған стандартты C кітапханасын шығару PicoLibc 1.4.7, шектеулі тұрақты жады және жедел жады бар ендірілген құрылғыларда пайдалану үшін әзірленген. Әзірлеу барысында кодтың бір бөлігі кітапханадан алынды newlib Cygwin жобасынан және AVR Libc, Atmel AVR микроконтроллерлері үшін әзірленген. PicoLibc коды таралады BSD лицензиясы бойынша. Кітапхана жинағына ARM (32-бит), i386, RISC-V, x86_64 және PowerPC архитектуралары үшін қолдау көрсетіледі.

Бастапқыда жоба «newlib-nano» атауымен әзірленді және аз оперативті жады бар кірістірілген құрылғыларда пайдалану қиын болатын Newlib-тің кейбір ресурсты қажет ететін функцияларын қайта өңдеуге бағытталған. Мысалы, stdio функциялары avrlibc кітапханасының ықшам нұсқасымен ауыстырылды. Код сонымен қатар ендірілген құрылымда пайдаланылмаған BSD лицензиясы жоқ құрамдастардан тазартылды. Инициализация кодының жеңілдетілген нұсқасы (crt0) қосылды және жергілікті ағындардың іске асырылуы 'struct _reent' ішінен TLS механизміне ауыстырылды (жіп-жергілікті сақтау). Мезон құралдар жинағы құрастыру үшін пайдаланылады.

Жаңа шығарылымда:

  • Қолдану арқылы құру мүмкіндігі қосылды математикалық расталған құрастырушы CompCert.
  • Clang компиляторына қолдау қосылды.
  • «Гамма» функциясының әрекеті Glibc әрекетіне сәйкес келтірілді.
  • Nano-malloc іске асыру қайтарылған жадтың тазартылуын қамтамасыз етеді.
  • Nano-realloc өнімділігі жақсарды, әсіресе бос блоктарды біріктіру және үйме өлшемін кеңейту кезінде.
  • Malloc дұрыс жұмысын тексеру үшін сынақтар жиынтығы қосылды.
  • Windows платформасына қолдау жақсартылды және mingw құралдар жинағы арқылы құру мүмкіндігі қосылды.
  • ARM жүйелерінде, егер бар болса, TLS (Thread-Local Storage) аппараттық құрал тізілімі қосылады.

Ақпарат көзі: opennet.ru