Vakio C-kirjastojen Musl 1.2.3 ja PicoLibc 1.7.6 julkaisu

Esittelyssä on standardi C-kirjasto Musl 1.2.3, joka tarjoaa libc-toteutuksen, joka soveltuu käytettäväksi sekä pöytätietokoneissa että palvelimissa sekä mobiilijärjestelmissä, ja jossa yhdistyy täysi tuki standardeille (kuten Glibc:ssä) pieneen koko, alhainen resurssien kulutus ja korkea suorituskyky (kuten uClibc, dietlibc ja Android Bionic). Siellä on tuki kaikille vaadituille C99- ja POSIX 2008 -liitännöille sekä osittain C11:lle ja laajennuksille monisäikeiseen ohjelmointiin (POSIX-säikeet), muistinhallintaan ja alueiden kanssa työskentelemiseen. Musl-koodi tarjotaan ilmaisella MIT-lisenssillä.

Uusi versio lisää qsort_r-funktion, joka on tarkoitus sisällyttää tulevaan POSIX-standardiin ja jota käytetään taulukoiden lajitteluun mielivaltaisten elementtien vertailufunktioiden avulla. Joihinkin PowerPC-suoritinmalleihin on lisätty tuki vaihtoehtoisille SPE FPU:ille (Signal Processing Engine). Yhteensopivuuden parantamiseksi on tehty muutoksia, kuten errno-tallennus, nollaosoittimien hyväksyminen gettextissä ja TZ-ympäristömuuttujan käsittely. Regressiiviset muutokset wcwidth- ja duplocale-funktioissa on korjattu, sekä useita matemaattisten funktioiden virheitä, jotka tietyissä olosuhteissa johtivat virheellisen tuloksen laskemiseen (esim. järjestelmissä, joissa ei ole FPU:ta, fmaf pyöristää tuloksen väärin) .

Lisäksi voimme huomioida muutama päivä sitten julkaistun standardin C-kirjaston PicoLibc 1.7.6 julkaisun, jonka on kehittänyt Keith Packard (X.Org-projektin johtaja) käytettäväksi sulautetuissa laitteissa, joissa on rajoitettu määrä pysyvää tallennustilaa ja RAM-muistia. Kehityksen aikana osa koodista lainattiin Newlib-kirjastosta Cygwin- ja AVR Libc -projektista, joka on kehitetty Atmel AVR -mikrokontrollereille. PicoLibc-koodia jaetaan BSD-lisenssillä. Kirjastokokoonpanoa tuetaan ARM- (32-bittinen), Aarch64-, i386-, RISC-V-, x86_64-, m68k- ja PowerPC-arkkitehtuureissa. Uusi versio toteuttaa matemaattisten inline-funktioiden käytön aarch64-arkkitehtuurille ja mahdollisuuden käyttää matemaattisia inline-funktioita arm- ja risc-v-arkkitehtuurien sovelluksissa.

Lähde: opennet.ru

Lisää kommentti