Pas gjashtë muajve zhvillimi lëshimi i bibliotekës sistemike (glibc) , i cili plotëson plotësisht kërkesat e standardeve ISO C11 dhe POSIX.1-2008. Versioni i ri përfshin rregullime nga 48 zhvillues.
Nga realizimet në Glibc 2.30 mund të theksohet:
- NĂ« lidhĂ«sin dinamik Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r opsionin «âpreload» pĂ«r ngarkimin paraprak tĂ« objekteve tĂ« ndarĂ« (analog me variablin e mjedisit LD_PRELOAD);
- ĂshtĂ« shtuar funksioni twalk_r, i ngjashĂ«m me funksionin ekzistues twalk, por qĂ« lejon kalimin e njĂ« argumenti shtesĂ« nĂ« funksionin callback tĂ« caktuar;
- Për Linux janë shtuar funksionet e reja getdents64, gettid dhe tgkill;
- ĂshtĂ« siguruar pĂ«rfundimi me kod tĂ« gabimit tĂ« funksioneve tĂ« menaxhimit tĂ« memories malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign dhe posix_memalign, nĂ« situatĂ«n kur madhĂ«sia totale e objektit kalon vlerĂ«n PTRDIFF_MAX. Ky ndryshim lejon shmangien e sjelljes sĂ« paqartĂ« kur rezultati i manipulimeve me treguesit çon nĂ« mbingarkesĂ« tĂ« tipit ptrdiff_t;
- Janë shtuar funksionet e propozuara në POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock dhe sem_clockwait, të ngjashme me ekuivalentët «timed», por që pranojnë gjithashtu parametrin clockid_t për të zgjedhur orarin; - Të dhënat e kodimeve, informacioni mbi llojet e karaktereve dhe tabelat e transliterimit janë përditësuar për të mbështetur specifikimin Unicode 12.1.0;
- Në bibliotekën librt për aplikacionet e reja nuk ofrohen më funksionet clock_gettime, clock_getres, clock_settime, clock_getcpuclockid dhe clock_nanosleep, por që përdoren automatikisht përkufizimet në libc;
- Në /etc/resolv.conf është ndaluar mbështetje për opsionin «inet6». Nga resolv.h janë fshirë flakët e vjetruara RES_USE_INET6, RES_INSECURE1 dhe RES_INSECURE2;
- Kur caktohet opsioni «âenable-bind-now», programet e instaluara tani lidhen duke pĂ«rdorur flamurin BIND_NOW;
- Janë shpallur të vjetra skedarët e kokave specifikë për Linux sys/sysctl.h dhe funksioni sysctl, për të cilat aplikacionet duhet të përdorin sistemin e fs /proc;
- Për ndërtimin e Glibc tani kërkohet GCC 6.2 ose një version më të ri (për ndërtimin e aplikacioneve mund të përdoren çfarëdo kompilatorësh);
- Janë eliminuar dobësitë në implementimin e funksionit memcmp për sublarkitekturën x32 (mos e ngatërro me x86 IA-32), si rezultat i të cilit funksioni mund të kthejë gabimisht vlerën 0 për vargje të papërshtatshme;
- Janë eliminuar dobësitë , e cila mund të çojë në leximin e të dhënave jashtë kufijve të tamponit gjatë përpunimit të disa shprehive të rregullta.
Burimi: opennet.ru
