Нашри китобхонаи стандартии C PicoLibc 1.4.7

Кит Паккард, таҳиягари фаъоли Debian, роҳбари лоиҳаи X.Org ва созандаи бисёр васеъшавии X, аз ҷумла XRender, XComposite ва XRandR, нашр нашри китобхонаи стандартии C PicoLibc 1.4.7, барои истифода дар дастгоҳҳои дарунсохти бо нигаҳдории доимии маҳдуд ва RAM таҳия шудааст. Ҳангоми таҳия, як қисми рамз аз китобхона гирифта шуд newlib аз лоиҳаи Cygwin ва AVR Libc, барои микроконтроллерҳои Atmel AVR таҳия шудааст. Рамзи PicoLibc паҳн мекунад таҳти иҷозатномаи BSD. Маҷмаи китобхона барои меъмории ARM (32-бит), i386, RISC-V, x86_64 ва PowerPC дастгирӣ карда мешавад.

Дар ибтидо, лоиҳа бо номи "newlib-nano" таҳия шуда буд ва барои аз нав кор кардани баъзе функсияҳои захираҳои серталаби Newlib, ки истифодаи онҳо дар дастгоҳҳои дохилшуда бо хотираи ками RAM мушкил буд, равона карда шуда буд. Масалан, функсияҳои stdio бо версияи паймоне аз китобхонаи avrlibc иваз карда шудаанд. Рамз инчунин аз ҷузъҳои литсензиянашудаи BSD тоза карда шудааст, ки дар сохти воридшуда истифода намешаванд. Варианти соддакардашудаи рамзи оғозёбӣ (crt0) илова карда шуд ва татбиқи риштаҳои маҳаллӣ аз 'struct _reent' ба механизми TLS (захираи риштаи маҳаллӣ). Асбоби Meson барои васлкунӣ истифода мешавад.

Дар нашри нав:

  • Илова қобилияти сохтани истифода аз ҷиҳати математикӣ тасдиқ карда шудааст компилятор CompCert.
  • Дастгирии иловашуда барои компилятори Clang.
  • Рафтори функсияи "гамма" ба рафтори Glibc мувофиқ карда шудааст.
  • Амалисозии nano-malloc кафолат медиҳад, ки хотираи баргардонидашуда тоза карда шавад.
  • Фаъолияти беҳтаршудаи nano-realloc, махсусан ҳангоми якҷоя кардани блокҳои озод ва васеъ кардани андозаи теппа.
  • Барои тафтиши кори дурусти malloc маҷмӯи санҷишҳо илова карда шуд.
  • Дастгирии беҳтар барои платформаи Windows ва қобилияти сохтани бо истифода аз асбобҳои mingw илова карда шуд.
  • Дар системаҳои ARM, агар мавҷуд бошад, феҳристи сахтафзори TLS (Thread-Local Storage) фаъол аст.

Манбаъ: opennet.ru