Após seis meses de desenvolvimento publicado lançamento da biblioteca do sistema Biblioteca GNU C (glibc) 2.30, que atende integralmente aos requisitos da ISO C11 e POSIX.1-2008. A nova versão inclui correções de 48 desenvolvedores.
Implementado em Glibc 2.30 melhorias você pode observar:
O vinculador dinâmico suporta a opção "--preload" para pré-carregar objetos compartilhados (semelhante à variável de ambiente LD_PRELOAD);
Adicionada função twalk_r, semelhante à função twalk já existente, mas permitindo passar um argumento adicional para a função de retorno de chamada fornecida;
Para Linux, novas funções getdents64, gettid e tgkill foram adicionadas;
As funções de gerenciamento de memória malloc, calloc, realloc, reallocarray, valloc, pvalloc, memalign e posix_memalign terminam com um código de erro quando o tamanho total do objeto excede o valor PTRDIFF_MAX. Essa alteração evita comportamento indefinido quando o resultado de uma manipulação de ponteiro resulta em um overflow do tipo ptrdiff_t;
Adicionadas funções propostas POSIX pthread_cond_clockwait, pthread_mutex_clocklock,
pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock e sem_clockwait, semelhantes aos equivalentes "temporizados", mas usando adicionalmente um parâmetro clockid_t para selecionar um temporizador;
Dados de codificação, informações de tipo de caractere e tabelas de transliteração foram atualizados para suportar a especificação Unicode 12.1.0;
As funções clock_gettime, clock_getres, clock_settime, clock_getcpuclockid e clock_nanosleep não são mais fornecidas na biblioteca librt para novos aplicativos e as definições libc são usadas automaticamente;
/etc/resolv.conf descontinuou a opção "inet6". Removidos sinalizadores obsoletos RES_USE_INET6, RES_INSECURE1 e RES_INSECURE2 de resolv.h;
Ao especificar a opção "--enable-bind-now", os programas instalados agora são vinculados usando o sinalizador BIND_NOW;
O arquivo de cabeçalho sys/sysctl.h específico do Linux e a função sysctl foram descontinuados e os aplicativos devem usar o pseudo-FS /proc;
Glibc agora requer GCC 6.2 ou mais recente para construir (qualquer compilador pode ser usado para construir aplicativos);
Vulnerabilidade corrigida CVE-2019-7309 na implementação da função memcmp para obsoleto Subarquitetura x32 (não deve ser confundida com x86 IA-32), como resultado a função pode retornar incorretamente o valor 0 para strings não correspondentes;
Vulnerabilidade corrigida CVE-2019-9169, o que pode fazer com que os dados sejam lidos de um buffer fora dos limites ao processar determinadas expressões regulares.