Ստանդարտ C գրադարանների թողարկում Musl 1.2.3 և PicoLibc 1.7.6

Ներկայացված է Musl 1.2.3 ստանդարտ C գրադարանի թողարկումը, որն ապահովում է libc-ի իրականացում, որը հարմար է ինչպես աշխատասեղանի համակարգիչների, այնպես էլ սերվերների, ինչպես նաև շարժական համակարգերի վրա օգտագործելու համար՝ համատեղելով ստանդարտների ամբողջական աջակցությունը (ինչպես Glibc-ում) փոքրի հետ: չափը, ռեսուրսների ցածր սպառումը և բարձր կատարողականությունը (ինչպես uClibc-ում, dietlibc-ում և Android Bionic-ում): Աջակցություն կա բոլոր անհրաժեշտ C99 և POSIX 2008 ինտերֆեյսներին, ինչպես նաև մասամբ C11-ին և մի շարք ընդլայնումների բազմաշերտ ծրագրավորման (POSIX թելեր), հիշողության կառավարման և տեղանքների հետ աշխատելու համար: Musl կոդը տրամադրվում է MIT անվճար լիցենզիայի ներքո:

Նոր տարբերակն ավելացնում է qsort_r ֆունկցիան, որը նախատեսված է ապագա POSIX ստանդարտում ներառելու համար և օգտագործվում է զանգվածները տեսակավորելու համար՝ օգտագործելով կամայական տարրերի համեմատման գործառույթները: PowerPC պրոցեսորի որոշ մոդելների համար ավելացվել է այլընտրանքային SPE FPU-ների (Ազդանշանների մշակման շարժիչ) աջակցություն: Փոփոխություններ են կատարվել՝ բարելավելու համատեղելիությունը, ինչպիսիք են errno-ի պահպանումը, զրոյական ցուցիչների ընդունումը gettext-ում և կառավարել TZ միջավայրի փոփոխականը: Ուղղվել են wcwidth և duplocale ֆունկցիաների ռեգրեսիվ փոփոխությունները, ինչպես նաև մաթեմատիկական ֆունկցիաների մի քանի սխալներ, որոնք որոշակի հանգամանքներում հանգեցրել են սխալ արդյունքի հաշվարկի (օրինակ, առանց FPU համակարգերի, fmaf-ը սխալ է կլորացրել արդյունքը) .

Բացի այդ, մենք կարող ենք նշել մի քանի օր առաջ թողարկված ստանդարտ C գրադարանի PicoLibc 1.7.6 թողարկումը, որը մշակվել է Keith Packard-ի (X.Org նախագծի ղեկավար) կողմից՝ սահմանափակ քանակությամբ մշտական ​​պահեստով և RAM-ով ներկառուցված սարքերում օգտագործելու համար: Մշակման ընթացքում կոդի մի մասը փոխառվել է newlib գրադարանից Cygwin և AVR Libc նախագծից, որը մշակվել է Atmel AVR միկրոկառավարիչների համար: PicoLibc կոդը բաշխվում է BSD լիցենզիայի ներքո: Գրադարանի հավաքումը աջակցվում է ARM (32-bit), Aarch64, i386, RISC-V, x86_64, m68k և PowerPC ճարտարապետությունների համար: Նոր տարբերակն իրականացնում է մաթեմատիկական inline ֆունկցիաների օգտագործումը aarch64 ճարտարապետության համար և մաթեմատիկական inline ֆունկցիաների օգտագործման հնարավորությունը arm և risc-v ճարտարապետության հավելվածներում:

Source: opennet.ru

Добавить комментарий