Etter seks måneder med utvikling publisert utgivelse av systembibliotek GNU C bibliotek (glibc) 2.30, som fullt ut oppfyller kravene i ISO C11- og POSIX.1-2008-standardene. Den nye utgivelsen inkluderer rettelser fra 48 utviklere.
Fra de implementert i Glibc 2.30 forbedringer du kan merke:
Den dynamiske linkeren gir støtte for «--preload»-alternativet for forhåndsinnlasting av delte objekter (analogt med miljøvariabelen LD_PRELOAD);
Lagt til twalk_r-funksjon, lik den allerede eksisterende twalk-funksjonen, men lar deg sende et ekstra argument til en gitt tilbakeringingsfunksjon;
Nye funksjoner getdents64, gettid og tgkill er lagt til for Linux;
Sørg for at minneadministrasjonsfunksjonene malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign og posix_memalign exit med en feilkode når den totale objektstørrelsen overstiger PTRDIFF_MAX-verdien. Denne endringen unngår udefinert oppførsel når resultatet av pekermanipulering fører til overløp av typen ptrdiff_t;
Lagt til POSIX-funksjoner pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock og sem_clockwait, lik "tidsbestemt" ekvivalenter, men aksepterer i tillegg en clockid_t parameter for å velge tidtakeren;
Kodingsdata, tegntypeinformasjon og translitterasjonstabeller er oppdatert for å støtte Unicode 12.1.0-spesifikasjonen;
Librt-biblioteket gir ikke lenger funksjonene clock_gettime, clock_getres, clock_settime, clock_getcpuclockid og clock_nanosleep for nye applikasjoner, men bruker i stedet automatisk definisjonene i libc;
Alternativet "inet6" er fjernet fra /etc/resolv.conf. Fjernet utdaterte flagg RES_USE_INET6, RES_INSECURE1 og RES_INSECURE2 fra resolv.h;
Når du spesifiserer alternativet "--enable-bind-now", er installerte programmer nå bundet ved å bruke BIND_NOW-flagget;
Den Linux-spesifikke sys/sysctl.h-headerfilen og sysctl-funksjonen har blitt avviklet, og applikasjoner bør bruke /proc pseudo-FS i stedet;
Building Glibc krever nå GCC 6.2 eller nyere (enhver kompilator kan brukes til å bygge applikasjoner);
Sårbarhet fikset CVE-2019-7309 i implementeringen av memcmp-funksjonen for utdatert x32-underarkitektur (ikke å forveksle med x86 IA-32), som et resultat av at funksjonen feilaktig kunne returnere verdien 0 for ikke-matchende strenger;
Sårbarhet fikset CVE-2019-9169, som kan føre til at data leses fra et område utenfor bufferens grenser når visse regulære uttrykk behandles.