Efter sex mÄnaders utveckling utgÄvan av systembiblioteket (glibc) , som helt uppfyller kraven i standarderna ISO C11 och POSIX.1-2008. Den nya versionen innehÄller fixar frÄn 48 utvecklare.
I Glibc 2.30 har implementerats Tillagd support för Synopsys ARC HS (ARCv2 ISA) processorer. För porteringen krÀvs minst binutils 2.32, gcc 8.3 och Linux-kÀrna 5.1. Tre varianter av ABI stöds: arc-linux-gnu, arc-linux-gnuhf och arceb-linux-gnu (big-endian);
- I den dynamiska lĂ€nkaren har stöd för alternativet «âpreload» tillhandahĂ„llits för förladdning av delade objekt (motsvarande miljövariabeln LD_PRELOAD);
- Funktionen twalk_r har lagts till, liknande den redan existerande funktionen twalk, men som tillÄter att skicka ett ytterligare argument till den angivna callback-funktionen;
- Nya funktioner som getdents64, gettid och tgkill har lagts till för Linux;
- Avslutning med felkod har sÀkerstÀllts för funktionerna för minneshantering malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign och posix_memalign, i situationer nÀr det totala objektets storlek överstiger PTRDIFF_MAX. Denna Àndring förhindrar odefinierat beteende nÀr resultatet av pekarmanipulationer leder till överflöd av typen ptrdiff_t;
- Funktioner föreslagna i POSIX sÄsom pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock och sem_clockwait, som liknar tidsbestÀmda motsvarigheter, men som dessutom tar emot parametern clockid_t för att vÀlja timer; - Kodningsdata, information om teckentyper och transliterations-tabeller har uppdaterats för att stödja Unicode-specifikationen 12.1.0;
- I biblioteket librt tillhandahÄlls inga funktioner för nya applikationer sÄsom clock_gettime, clock_getres, clock_settime, clock_getcpuclockid och clock_nanosleep, istÀllet anvÀnds definitioner i libc automatiskt;
- Stödet för alternativet «inet6» i /etc/resolv.conf har avslutats. FörÄldrade flaggor RES_USE_INET6, RES_INSECURE1 och RES_INSECURE2 har tagits bort frÄn resolv.h;
- NĂ€r alternativet «âenable-bind-now» anges, lĂ€nkas nu installerade program med flaggan BIND_NOW;
- Den Linux-specifika headerfilen sys/sysctl.h och funktionen sysctl har deklarerats som förÄldrade, för vilka applikationer istÀllet bör anvÀnda den pseudo-FS /proc;
- För att bygga Glibc krÀvs nu GCC 6.2 eller en nyare version (vilket som helst kompilator kan anvÀndas för att bygga applikationer);
- SÀkerhetsbrist ÄtgÀrdad i implementeringen av funktionen memcmp för underarkitektur x32 (förvÀxla inte med x86 IA-32), vilket gjorde att funktionen felaktigt kunde returnera vÀrdet 0 för icke-matching strÀngar;
- SÀkerhetsbrist ÄtgÀrdad , vilket kan leda till att data lÀses frÄn ett omrÄde utanför bufferten vid hantering av vissa reguljÀra uttryck.
KĂ€lla: opennet.ru
