GNU C Library

Tela Software:
GNU C Library
Detalhes de Software:
Versão: 2.28 Atualizado
Data de upload: 16 Aug 18
Revelador: Roland McGrath
Licença: Livre
Popularidade: 16

Rating: 3.0/5 (Total Votes: 2)

A biblioteca GNU C é um software de biblioteca livre e poderoso, de código aberto, para qualquer distribuição GNU / Linux. Também é conhecido como Glibc e requerido por qualquer sistema operacional de computador semelhante ao UNIX. O GNU C Library é responsável por definir as chamadas do sistema, bem como várias outras funcionalidades básicas, como malloc, open, exit, printf, etc.


Usado por padrão em todos os sistemas operacionais baseados em kernel do Linux

A biblioteca GNU C é instalada e usada por padrão em todo o sistema operacional baseado em kernel Linux, projetado desde o início para atuar como a principal biblioteca C nos sistemas GNU e qualquer outro sistema operacional alimentado pelo kernel Linux.


Projetado para ser portátil

Glibc é uma biblioteca C de alto desempenho, escrita inteiramente na linguagem de programação C. Ele foi projetado para ser portátil, internacionalizado e projetado para suportar todos os padrões relevantes, incluindo POSIX.1-2008 e ISO C11.


Suporta recursos de variantes do UNIX bem conhecidas

Embora a biblioteca GNU C tenha uma interface totalmente internacionalizada, ela tenta suportar recursos de variantes UNIX conhecidas, como BSD e System V, graças aos seus modos de compatibilidade incorporados.

Começando com a biblioteca GNU C

Enquanto a biblioteca GNU C é instalada por padrão em quase todos os sistemas operacionais GNU / Linux, você também pode reinstalá-la usando o pacote fonte distribuído em seu site ou no Softoware gratuitamente. Para começar, faça o download e salve o arquivo no seu diretório pessoal.

Descompacte o arquivo com um utilitário gerenciador de arquivos, abra uma janela de terminal, vá para o local onde os arquivos archive foram extraídos, execute o arquivo & lsquo ;, configure & rsquo; comando para configurar o programa (consulte o comando & lsquo; ./ configure --help & rsquo; para várias opções de otimização).

Em seguida, execute o & lsquo; make & rsquo; comando para compilar a biblioteca, que pode ser instalada em todo o sistema, executando qualquer uma das opções de instalação do & lsquo; make install & rsquo; ou & sudo make install & rsquo; comandos, dependendo da sua raiz ou de um usuário privilegiado.

O que há de novo nesta versão:

  • https://sourceware.org/ml/libc-announce/2018/msg00000.html

O que há de novo na versão 2.27:

  • https://sourceware.org/ml/libc-announce/2018/msg00000.html

O que há de novo na versão:

  • A versão mínima do kernel Linux com a qual esta versão da Biblioteca GNU C pode ser usada é 3.2, exceto em i [4567] 86 e x86_64, onde a versão 2.6.32 ou posterior do kernel Linux é suficiente (em arquiteturas que já necessitavam de kernel versões mais recentes que 3.2, esses requisitos permanecem inalterados). Cabeçalhos de kernel Linux 3.2 ou posterior são necessários em todas as arquiteturas.
  • A localidade pap_AN foi excluída. Isso está obsoleto há muito tempo. Foi substituído por pap_AW & amp; pap_CW, ambos há muito tempo incluídos em lançamentos anteriores.
  • As funções readdir_r e readdir64_r foram descontinuadas. Recomenda-se usar readdir e readdir64 em seu lugar.
  • O tipo "espera de união" foi removido. Foi preterido no início dos anos 90 e nunca fez parte do POSIX. O código do aplicativo deve usar o tipo int em vez de "espera de união".
  • Uma nova ação do NSS é adicionada para facilitar a administração do sistema distribuído grande. A ação, MERGE, permite que lojas de usuários remotos, como LDAP, sejam mescladas em lojas de usuários locais, como / etc / groups, para fornecer conjuntos de credenciais mescladas fáceis de usar, atualizadas e gerenciadas. A nova ação pode ser usada configurando-a em /etc/nsswitch.conf: group: files [SUCESSO = mesclagem] nis Implementado por Stephen Gallagher (Red Hat).
  • A variável __malloc_initialize_hook reprovada foi removida da API.
  • A longa opção não utilizada localedef --old-style foi removida. Não fez nada em mais de 16 anos. Scripts que usam essa opção podem soltá-la com segurança.
  • nextupl, nextup, nextupf, nextdownl, nextdown e nextdownf são adicionados ao libm. Eles são definidos por TS 18661 e IEEE754-2008. As funções nextup retornam o próximo valor representável na direção do infinito positivo e as funções nextdown retornam o próximo valor representável na direção do infinito negativo. Estas estão atualmente ativadas como extensões GNU.
  • Alterações relacionadas à segurança:
  • Uma cópia de pilha desnecessária em _nss_dns_getnetbyname_r foi removida. Isso pode resultar em um estouro de pilha quando getnetbyname foi chamado com um nome excessivamente longo. (CVE-2016-3075)
  • Anteriormente, getaddrinfo copiava grandes quantidades de dados de endereço para a pilha, mesmo após a correção da CVE-2013-4458 ter sido aplicada, potencialmente resultando em um estouro de pilha. O getaddrinfo agora usa uma alocação de heap. Relatado por Michael Petlan. (CVE-2016-3706)
  • A função glob sofreu de um estouro de buffer baseado em pilha quando foi chamado com o sinalizador GLOB_ALTDIRFUNC e encontrou um nome de arquivo longo. Relatado por Alexander Cherepanov. (CVE-2016-1234)
  • O cliente Sun RPC UDP pode esgotar todo o espaço de pilha disponível quando inundado com mensagens ICMP e UDP criadas. Relatado pelo plugin alloca de Aldy Hernandez para o GCC. (CVE-2016-4429)
  • O código de gerenciamento do servidor de nomes IPv6 no libresolv pode resultar em um vazamento de memória para cada encadeamento criado, executa uma pesquisa de nomenclatura com falha e sai. Com o tempo, isso pode resultar em uma negação de serviço devido ao esgotamento da memória. Relatado por Matthias Schiffer. (CVE-2016-5417)
  • Os seguintes erros foram resolvidos com esta versão:
  • [1170] localedata: ne_NP: atualização do arquivo de definição de localidade do Nepal [3629] manual: a descrição do stpcpy em string.texi refere-se ao MS-DOG em vez do MS-DOS. [6527] malloc: [powerpc] Alinhamento de Malloc insuficiente para PowerPC [6796] math: fdim () não define errno em estouro [10354] libc: posix_spawn deve usar vfork () em mais casos do que atualmente [11213] localedata: localedata: adicionar aviso de direitos autorais aos arquivos de idioma [12143] localedata: chr_US: novo local Cherokee [12450] localedata: sgs_LT: novo locale [12676] localedata: ln_CD: novo locale [13237] localedata: LC_ADDRESS.country_name: atualizar todos os locais com o CLDR mais recente dados [13304] matemática: fma, fmaf, fmal produzir resultados errados [14259] construir: --localedir arg para configurar é ignorado [14499] nptl: Posix_spawn chama os manipuladores do atfork / use vfork? [14750] libc: Condição de corrida em uso de vfork posix_spawn vs manipuladores de sinal [14934] localedata: es_CL: locale chileno errado no primeiro dia da semana [15262] localedata: LC_MESSAGES.yesexpr / noexpr: uso inconsistente de romanização [15263] localedata: LC_MESSAGES.yesexpr / noexpr: uso inconsistente de 1/0 e +/- [15264] localedata: LC_MESSAGES.yesstr / nostr: falta em muitas localidades [15368] nptl: raise () não é assíncrono com sinal seguro [15479] matemática: ceil, floor, round e trunc raise exceção inexata [15578] localedata: kk_KZ: várias atualizações [16003] localedata: pap_AN: punt localidade antiga [16137] localedata: iw_IL: localidade antiga local [16190] localedata: eo: nova localidade esperanto [16374] localedata: lv_LV: alterar o símbolo monetário em LC_MONETARY para euro [16742] malloc: condição de corrida: pthread_atfork () chamado antes de primeiro malloc () resulta em inesperado comportamento de travamento / deadlocks [16975] localedata: LC_MESSAGES.yesexpr / noexpr: revisitar a capitalização em todas as localidades [16983] localedata: postal_fmt não permite% l e% n modificadores [17565] localedata : pt_PT: início (semana) incorreto [17899] matemática: [powerpc] floorl retorna zero negativo com FE_DOWNWARD [17950] build: Build falha com -msse [18205] localedata: be_BY *: errado first_weekday e first_workday [18433] libc : posix_spawn não retorna corretamente após falha ao executar [18453] localedata: charmaps / IBM875: códigos incorretos [18712] string: bits / string2.h incompatível com -O2 -Werror = compactado -Wsystem-headers [18896] localedata: he_IL: melhorias para a moeda [18911] localedata: ro_RO: Corrigindo o nome do dia da semana para "Tuesday" em dados de idioma romeno [18960] locale: s390: _nl_locale_subfreeres usa o código de operação do larl no símbolo desalinhado [19056] libc: Deprecate readdir_r [19133] localedata: pt_ *: days & amp; os meses devem ser minúsculos em idioma português [19198] localedata: nl_NL: pequenas melhorias para a rede de locais holandeses [19257]: vazamento de memória por thread em __res_vinit com servidores de nomes IPv6 (CVE-2016-5417) [19269] build: tst-audit4 e tst-audit10 falhas com gcc-6 em non avx machine [19400] locale: Idioma ausente em "iso-639.def", correção trivial na descrição [19431] malloc: Deadlock entre fflush, getdelim e fork [19505] libc: Verificações incorretas de validade do descritor de arquivo em posix_spawn_file_actions_add {open, close, dup2} [19509] link dinâmico: dlsym, dlvsym não reportam erros por meio de dlerror ao usar RTLD_NEXT [19512] locale: Stale `#ifndef HAVE_BUILTIN_EXPECT 'em` intl / {gettextP , loadinfo}.h '[19534] libc: execle, execlp pode usar malloc [19568] localedata: * _CH: localidades suíças têm início inconsistente da semana [19573] rede: res_nclose e __res_maybe_init discordam sobre a inicialização do servidor de nomes, quebrando Hesiod [19575] localedata: Status de tabelas GB18030 [19581] localedata: sr_ * date_fmt string contém nova linha [19583] adicional: O sinalizador SSSE3_Fast_Copy_Backward precisa ser ativado para o núcleo da escavadeira AMD [19592] math: [ldbl-128ibm] ceill incorreto nos modos de arredondamento não padrão [19593 ] math: [ldbl-128ibm] truncl incorreto em modos de arredondamento não padrão [19594] math: [ldbl-128ibm] roundl incorreto em modos de arredondamento não padrão [19595] math: [ldbl-128ibm] fmodl incorreto para resultados em subnormais double range [19602] matemática: [ldbl-128ibm] fmodl manipulação de argumentos iguais com baixa parte zero incorreto [19603] matemática: [ldbl-128ibm] remainderl, remquol manipulação incorreta de sinais em testes de igualdade [19610] dynamic-link: ldconfig - X remove links simbólicos obsoletos [19613] libc: s390x (64 bit) expansão de macro WCOREDUMP e outros [19633] locale: strfmon_l aplica localidade global à formatação de números [19642] rede: Vazamento de memória em getnameinfo [19648] libc: test-skeleton.c: Não defina RLIMIT_DATA [19653] libc: potencial para desreferenciamento de ponteiro NULL (CWE-476) em glibc-2.22 [19654] math: [x86_64] Necessita de teste para correção BZ # 19590 [19671] localedata: falta de sanidade verificar por malloc () em 'tst-fmon.c' & amp; 'tst-numeric.c' [19674] math: [ldbl-128ibm] powl manipulação de estouro incorreto [19677] math: [ldbl-128ibm] teste de igualdade restante incorreto para zero parte baixa [19678] math: [ldbl-128ibm] nextafterl , nexttowardl sinal incorreto de resultado zero [19679] dynamic-link: gcc-4.9.3 Tratamento de exceção C ++ quebrado devido a pilha não alinhada [19726] localidade: Converter UCS4LE em INTERNAL com iconv () não atualiza ponteiros e comprimentos em caso de erro . [19727] localidade: A conversão de / para UTF-xx com iconv () nem sempre informa erros nos valores de substitutos UTF-16.[19755] nscd: nscd falha de asserção em gc [19758] dynamic-link: Erro de digitação em EXTRA_LD_ENVVARS para x86-64 [19759] libc: mempcpy não deveria ser embutido [19762] link dinâmico: HAS_CPU_FEATURE / HAS_ARCH_FEATURE são fáceis de usar [ 19765] libc: s390 precisa de um mempcpy otimizado [19779] glob: glob: buffer overflow com GLOB_ALTDIRFUNC devido à suposição de limite NAME_MAX incorreta (CVE-2016-1234) [19783] build: os testes de banco não suportam --enable-hardcoded-path -in-tests [19787] rede: Verificações de truncamento ausentes e incorretas em getnameinfo [19790] math: [ldbl-128ibm] nearbyintl incorreto em modos de arredondamento não padrão [19791] rede: Falha de declaração em res_query.c com nome não conectável endereços de servidor [19792] libc: MIPS: backtrace rende backtrace infinito com o makecontext [19822] math: libm.Então, instalar clobbers versão antiga [19825] rede: resolv: send_vc pode retornar dados não inicializados em segunda resposta para getaddrinfo [19830] rede: nss_dns: deve verificar comprimento RDATA em relação ao comprimento do buffer [19831] rede: nss_dns: getaddrinfo retorna dados não inicializados quando confrontados com Registros A / AAAA de tamanho inválido [19837] nss: nss_db: Não há tentativas para algumas linhas longas com um buffer maior [19848] math: powl (10, n) para n = -4, -5, -6, -7 é off por mais de 1 ULP [19853] stdio: A impressão IBM long double em decimal com alta precisão é algumas vezes incorreta [19860] build: x86_64: compila erros para tst-audit10 e tst-auditmod10b [19861] nptl: libpthread IFUNC resolvedor para fork pode levar a travar a rede [19862]: resolv, nss_dns: Remover registro restante de tipos de registro inesperados [19865] rede: Falha de declaração ou vazamento de memória na rede _nss_dns_getcanonname_r [19868]: nss_dns: código netent não ignora registros não PTR [ 19879] rede: nss_dns: estouro de pilha em getnetbyname implementa (CVE-2016-3075) [19881] string: Melhore x86-64 memset [19907] string: Testes incorretos de memcpy [19916] link dinâmico: S390: fprs / vrs não são salvos / restaurados ao resolver símbolos [19925] libc : termios.h Espaço de nomes do XCASE [19928] string: memmove-vec-unaligned-erms.S é lento com tamanho grande de dados [19929] libc: limits.h NL_NMAX namespace [19931] stdio: Vazamento de memória em vfprintf [19957] libc: clone (CLONE_VM) acessa memória pai inválida [19963] localedata: en_IL: New locale [19989] ] stdio: stdio.h namespace cuserid [19994] network: getaddrinfo não restaura o sinalizador RES_USE_INET6 em gethosts [19996] locale: langinfo.h namespace nl_langinfo_l [20005] stdio: fflush em um arquivo aberto com fmemopen redefine a posição para 0 [20010] network: getaddrinfo: Estouro de pilha na tradução do host (CVE-2016-3706) [20012] stdio: libio: fmemopen falha no modo de anexação [20014] stdio: stdio.h namespace para pré-threads POSIX [20017] rede: resolv: Use gmtime_r em vez de gmtime em p_secstodate [20023] libc: fcntl.h timespec namespace [20024] math: [x86_64] vetorizado sincos trashes da pilha [20031] rede: nss_hesiod: Heap overflow em get_txt_records [20041] tempo: sys / time.h timespec namespace [20043] libc: unistd.h faltando cuserid para UNIX98 e antes de [20044] libc: unistd .h faltando pthread_atfork para UNIX98 [20051] libc: ttyslot no cabeçalho errado sob condições erradas [20054] libc: gethostname não declarado para XPG4 [20055] libc: termios.h está faltando tcgetsid para XPG4 [20072] dynamic-link: x86 init_cpu_features é chamado duas vezes no executável estático [20073] libc: sys / stat.h namespace fchmod [20074] libc: stdlib.h namespace rand_r [20076] libc: sys / stat .h faltando S_IFSOCK, S_ISSOCK para XPG4 [20094] libc: stdlib.h não deve declarar grantpt, ptsname, unlockpt para XPG3 [20111] libc: struct sockaddr_storage não pode ser agregado-copiado [20112] rede: sunrpc: stack (frame) overflow em Sun RPC clntudp_call (CVE-2016-4429) [20115] string: Alinhamento extra em memset-vec-unaligned-erms.S [20119] libc: Máscara errada para o tipo de nível de processadores de CPUID [20139] dynamic-link: parte superior de zmm é zerado se o Glibc for construído com AS não suportando AVX512 [20151] math: [ldbl-128 / ldbl-128ibm] j0l, j1l, y0l, y1l return sNaN para o argumento sNaN [20153] math: [ldbl-128ibm] sqrtl (sNaN) retorna sNaN [20156] math: [ldbl-128ibm] ceill, rintl etc. return sNaN para o argumento sNaN [20157] math: [powerpc] fabsl (sNaN) incorretamente gera "invalid" [20160] math: [p owerpc] ceil, rint etc.return sNaN para entrada sNaN [20178] libc: posix_spawn {p} não deve chamar exit [20191] stdio: libio: vtables hardening [20195] string: detecção FMA4 requer execução CPUID com registro eax = 0x80000001 [20198] libc: quick_exit incorretamente destrói C ++ 11 objetos thread. [20205] matemática: [i386 / x86_64] nextafterl subnormais incorretos incrementos incorretos [20212] matemática: acos (sNaN) retorna sNaN [20213] matemática: asin (sNaN) retorna rede sNaN [20214]: cabeçalho do Linux sync com linux / in6. h e ipv6.h novamente.[20218] matemática: [i386] asinhl (sNaN) retorna sNaN [20219] matemática: [i386] atanhl (sNaN) retorna sNaN [20222] stdio: fopencookie: ponteiros de função Mangle [20224] math: [i386] cbrtl (sNaN) retorna sNaN [20225] matemática: ldexp, scalbn, scalbln return sNaN para entrada sNaN [20226] math: [i386 / x86_64] expl, exp10l, expm1l return sNaN para entrada sNaN [20227] math: [i386 / x86_64] logl (sNaN ) retorna sNaN [20228] math: [i386 / x86_64] log10l (sNaN) retorna sNaN [20229] math: [i386 / x86_64] log1pl (sNaN) retorna sNaN [20232] math: [ldbl-128] expm1l (sNaN) retorna sNaN [20233] math: [ldbl-128ibm] expm1l (sNaN) retorna sNaN [20234] math: [ldbl-128ibm] log1pl (sNaN) retorna sNaN [20235] math: [i386 / x86_64] log2l (sNaN) retorna sNaN [ 20237] nss: nss_db: get * ent segfaults sem precedentes set * ent [20240] math: modf (sNaN) retorna sNaN [20248] libc: debug / tst-longjump_chk2 chama printf de um manipulador de sinal [20250] math: frexp (sNaN ) retorna sNaN [20252] math: atan2 (sNaN, qNaN) falha em aumentar o valor "inválido" [20255] ma th: [i386] fdim, fdimf retornam com excesso de range e precisão / double rounding [20256] math: [i386 / x86_64] fdiml retorna sNaN para sNaN input [20260] string: ../sysdeps/x86/bits/string.

    h: 1092: 3: erro: o índice de matriz está abaixo dos limites de matriz [-Werror = limites de matriz] [20262] nis: _nss_nis_initgroups_dyn sempre retorna NSS_STATUS_NOTFOUND [20263] nptl: richlocks de mutex robustos se outras solicitações de segmento bloquearem o tempo (Only arm / linux) [20277] libc: $ dp não foi inicializado corretamente em sysdeps / hppa / start.S [20284] malloc: malloc: A evasão de arena corrompida causa fallbacks de mmap desnecessários [20296] math: [i386 / x86_64] scalbl retorna sNaN para Entrada sNaN, faltando exceções "inválidas" [20314] nptl: make [4]: ​​*** [/usr/include/stdlib.h] Erro 1 [20316] localedata: id_ID: Februari em vez de Pebruari [20327] string: POWER8 strcasecmp retorna resultado incorreto [20347] matemática: Falha: Teste: j0_downward (0xap + 0) [20348] libc: FALHA: misc / tst-preadvwritev64 [20349] libc: o valor de 64 bits é passado de forma diferente em p {readv, writev} {64} [20350] libc: Não há teste para p {leitura, escrita} 64 [20357] matemática: Resultado cos incorreto para 1.5174239687223976 [20384] build: Não execute testes libmvec-sincos-avx * em non avx m achines

O que há de novo na versão 2.23:

  • CVE-2015-7547: estouro de buffer baseado em pilha glibc getaddrinfo () - Corrigido na ramificação de desenvolvimento para o release 2.23 da glibc.

O que há de novo na versão 2.21:

  • Os seguintes erros são resolvidos com esta versão: 6652, 10672, 12674, 12847, 12926, 13862, 14132, 14138, 14171, 14498, 15215, 15378, 15884, 16009, 16418, 16191, 16469, 16576, 16617, 16618, 16619, 16657, 16740, 16857, 17192, 17266, 17273, 17344, 17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571, 17572, 17573, 17574, 17582, 17583, 17584, 17585, 17589, 17594, 17601, 17608, 17616, 17625, 17630, 17633, 17634, 17635, 17647, 17653, 17657, 17658, 17664, 17665, 17668, 17682, 17702, 17717, 17719, 17722, 17723, 17724, 17725, 17732, 17733, 17744, 17745, 17746, 17747, 17748, 17775, 17777, 17780, 17781, 17782, 17791, 17793, 17796, 17797, 17801, 17803, 17806, 17834, 17844, 17848, 17868, 17869, 17870, 17885, 17892.
  • CVE-2015-1472 Sob certas condições, o wscanf pode alocar pouca memória para os argumentos a serem verificados e estourar o buffer alocado. A implementação agora calcula corretamente o tamanho do buffer necessário ao usar o malloc.
  • Um novo algoritmo de semáforo foi implementado no código C genérico para todas as máquinas. As implementações anteriores do assembly personalizado do semáforo eram difíceis de avaliar ou garantir que fossem seguras. A nova versão do semáforo suporta máquinas com operações atômicas de 64 ou 32 bits. O novo algoritmo de semáforo é usado por sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait e sem_getvalue.
  • A porta para Altera Nios II foi contribuída pela Mentor Graphics.
  • Implementações de strcpy, stpcpy, strncpy, stpncpy, strcmp e strncmp otimizadas para powerpc64 / powerpc64le. Implementado por Adhemerval Zanella (IBM).
  • Adicionado suporte para exclusão de trechos TSX de mutexes pthread em powerpc32, powerpc64 e powerpc64le. Isso pode melhorar o dimensionamento de bloqueio de programas existentes em sistemas compatíveis com HTM. O código de elisão de bloqueio só é ativado com --enable-lock-elision = yes. Além disso, a implementação do TSX lock elision para o powerpc emitirá uma interrupção de transação em cada syscall para evitar efeitos colaterais visíveis fora das transações.
  • Implementações strcpy, stpcpy, strchrnul e strrchr otimizadas para o AArch64. Contribuído por ARM Ltd.
  • funções memcpy do i386 otimizadas com carregamento / armazenamento não alinhado do SSE2.
  • CVE-2104-7817 A função wordexp poderia ignorar o sinalizador WRDE_NOCMD sob determinadas condições de entrada, resultando na execução de um shell para substituição de comando quando o aplicativo não o solicitou. A implementação agora verifica WRDE_NOCMD imediatamente antes de executar o shell e retorna o erro WRDE_CMDSUB conforme o esperado.
  • As funções do estilo printf CVE-2012-3406 podem ter um estouro de pilha ao processar sequências de formato com um grande número de especificadores de formato.
  • CVE-2014-9402 A implementação nss_dns de getnetbyname poderia ser executada em um loop infinito se a resposta do DNS contivesse um registro PTR de formato inesperado.
  • A versão mínima do GCC que pode ser usada para construir esta versão da biblioteca GNU C é o GCC 4.6. Versões mais antigas do GCC, e compiladores não-GNU, ainda podem ser usados ​​para compilar programas usando a biblioteca C GNU.
  • A biblioteca GNU C agora é construída com -Werror por padrão. Isso pode ser desativado configurando com --disable-werror.
  • Novas localidades: tu_IN, bh_IN, raj_IN, ce_RU.
  • A função sigvec obsoleta foi removida. Esta foi a interface 4.2BSD original que inspirou a interface sigaction POSIX.1, que os programas usam há 25 anos. Obviamente, a compatibilidade ABI para binários antigos usando sigvec permanece intacta.
  • Gettext mesclado 0.19.3 no subdiretório intl. Isso corrige o edifício com novas versões do bison.
  • Suporte para MIPS o32 FPXX, FP64A e FP64 ABI Extensions. O ABI de disco rígido MI32 o32 original requer um FPU onde os registros de precisão dupla sobrepõem dois registradores consecutivos de precisão simples. O MIPS32R2 introduziu um novo modo FPU (FR = 1), no qual os registradores de precisão dupla estendem os registros de precisão única correspondentes, o que é incompatível com o ABI de flutuação dura o32. A arquitetura MIPS SIMD ASE e MIPSR6 requerem o uso de FR = 1, fazendo a transição necessária. Novas extensões o32 da ABI permitem que os usuários migrem com o tempo a partir da ABI o32 original até a ABI o32 FP64 atualizada. Para conseguir isso, o vinculador dinâmico rastreia agora a ABI de qualquer objeto carregado e verifica se os novos objetos são compatíveis. Transições de modo também serão solicitadas conforme necessário e objetos não suportados serão rejeitados. As verificações ABI incluem tanto ABIs suaves e rígidas para o32, n32 e n64.

Comentário para GNU C Library

Comentários não encontrado
Adicionar comentário
Ligue imagens!