GNU C Library er en open source, gratis og kraftfuld bibliotekssoftware til enhver GNU / Linux distribution. Det er også kendt som Glibc og kræves af ethvert UNIX-lignende computersystem. GNU C Library har ansvaret for at definere systemopkald samt forskellige andre grundlæggende funktionaliteter, såsom malloc, open, exit, printf osv.
Bruges som standard i alle Linux-kernelbaserede operativsystemer
GNU C-biblioteket installeres og bruges som standard i alle Linux-kernelbaserede operativsystemer, designet fra bunden til at fungere som hovedbiblioteket i GNU-systemer og ethvert andet operativsystem, der drives af Linux-kernen.
Designet til at være bærbar
Glibc er et højtydende C-bibliotek, der er skrevet helt i C-programmeringssproget. Den er designet til at være bærbar, internationaliseret og konstrueret til at understøtte alle relevante standarder, herunder POSIX.1-2008 og ISO C11.
Understøtter funktioner i velkendte UNIX-varianter
Mens GNU C-biblioteket har en fuldt internationaliseret grænseflade, forsøger den at understøtte funktioner i velkendte UNIX-varianter, såsom BSD og System V, takket være dets indbyggede kompatibilitetsfunktioner.
Kom godt i gang med GNU C Library
Mens GNU C-biblioteket er installeret som standard i næsten alle GNU / Linux-operativsystemer, kan du også geninstallere det selv ved hjælp af kilden pakket gratis på sin hjemmeside eller Softoware. For at starte, download og gem arkivet i din hjemmemappe.
Udpak arkivet med et arkivadministratorprogram, åben et terminalvindue, gå til det sted, hvor arkivfilerne er blevet uddraget, kør & lsquo; ./ configure & rsquo; kommando til at konfigurere programmet (se & lsquo; ./ configure --help & rsquo; kommandoen for forskellige optimeringsindstillinger).
Kør derefter & lsquo; lave & rsquo; kommando til at kompilere biblioteket, som kan installeres system bredt ved at køre en af & lsquo; gøre installation & rsquo; eller "sudo make install & rsquo; kommandoer afhængigt af din rod eller en privilegeret bruger.
Hvad er nyt i denne udgave:
- https://sourceware.org/ml/libc-announce/2018/msg00000.html
Hvad er nyt i version 2.27:
- https://sourceware.org/ml/libc-announce/2018/msg00000.html
Hvad er nyt i version:
- Den minimale Linux-kernelversion, som denne version af GNU C-biblioteket kan bruges med, er 3.2, undtagen på i [4567] 86 og x86_64, hvor Linux-kernelversion 2.6.32 eller nyere er tilstrækkelig (på arkitekturer, der allerede krævede kernel versioner nyere end 3,2, disse krav forbliver uændrede). Linux 3.2 eller nyere kernehoveder er påkrævet på alle arkitekturer.
- Pap_AN-lokaliteten er blevet slettet. Dette er blevet forældet i lang tid. Det er blevet erstattet af pap_AW & amp; pap_CW, som begge har længe været med i tidligere udgivelser.
- Funktionerne readdir_r og readdir64_r er blevet udskrevet. Det anbefales at bruge readdir og readdir64 i stedet.
- Typen "union wait" er blevet fjernet. Den blev udskudt i begyndelsen af 1990'erne og blev aldrig en del af POSIX. Anvendelseskode skal bruge int type i stedet for "union vent".
- En ny NSS-handling tilføjes for at lette stor distribueret systemadministration. Handlingen MERGE gør det muligt for fjernbrugere som LDAP at blive slået sammen i lokale brugerforretninger som / etc / groups for at give nemme, opdaterede og administrerede sæt fusionerede legitimationsoplysninger. Den nye handling kan bruges ved at konfigurere den i /etc/nsswitch.conf: group: files [SUCCESS = merge] nis Implementeret af Stephen Gallagher (Red Hat).
- Den udskrevne __malloc_initialize_hook-variabel er blevet fjernet fra API'en.
- Den lange ubrugte localedef-style-funktion er blevet fjernet. Det har ikke gjort noget i over 16 år. Scripts, der bruger denne indstilling, kan sikkert slippe det.
- nextupl, nextup, nextupf, nextdownl, nextdown og nextdownf tilføjes til libm. De er defineret af TS 18661 og IEEE754-2008. De næste funktioner returnerer den næste repræsentative værdi i retning af positiv uendelighed, og næste ned-funktioner returnerer den næste repræsentative værdi i retning af negativ uendelighed. Disse aktiveres for øjeblikket som GNU-udvidelser.
- Sikkerhedsrelaterede ændringer:
- En unødvendig stakkopi i _nss_dns_getnetbyname_r blev fjernet. Det kan resultere i en stabel overløb, når getnetbyname blev kaldt med et alt for langt navn. (CVE-2016-3075)
- Tidligere har getaddrinfo kopieret store mængder adressedata til stakken, selv efter at fixet for CVE-2013-4458 er blevet anvendt, muligvis resulterer i en stabeloverløb. getaddrinfo bruger nu en heapfordeling i stedet. Rapporteret af Michael Petlan. (CVE-2016-3706)
- Globfunktionen led af en stakbaseret bufferoverløb, da den blev kaldt med GLOB_ALTDIRFUNC-flag og stødte på et langt filnavn. Rapporteret af Alexander Cherepanov. (CVE-2016-1234)
- Sun RPC UDP-klienten kunne udtømme alt tilgængeligt stakplads, når det oversvømmet med udformede ICMP- og UDP-meddelelser. Rapporteret af Aldy Hernandez 'alloca plugin til GCC. (CVE-2016-4429)
- IPv6 navneserverstyringskoden i libresolv kan resultere i et hukommelseslækage for hver tråd, der oprettes, udfører et fejlagtigt navneopslag og udgange. Over tid kan dette resultere i en benægtelse af tjeneste på grund af hukommelseudmattelse. Rapporteret af Matthias Schiffer. (CVE-2016-5417)
- Følgende fejl er løst med denne udgivelse: <>[1170] localedata: ne_NP: opdatere nepalsk lokaldefinitionsfil [3629] manual: stpcpy beskrivelse i string.texi refererer til MS-DOG i stedet for MS-DOS. [6527] malloc: [powerpc] Malloc justering er utilstrækkelig til PowerPC [6796] math: fdim () indstiller ikke errno på overløb [10354] libc: posix_spawn skal bruge vfork () i flere tilfælde end i øjeblikket [11213] localedata: localedata: Tilføj ophavsretlig ansvarsfraskrivelse til lokalfilerne [12143] localedata: chr_US: new Cherokee locale [12450] localedata: sgs_LT: ny lokalitet [12676] localedata: ln_CD: ny lokalitet [13237] lokaldata: LC_ADDRESS.country_name: opdater alle lokaliteter med seneste CLDR data [13304] matematik: fma, fmaf, fmal producerer forkerte resultater [14259] build: --localedir arg at konfigurere ignoreres [14499] nptl: Påberåber posix_spawn atfork handlers / use vfork? [14750] libc: Race betingelse i posix_spawn vfork brug vs signalhåndteringsenheder [14934] localedata: es_CL: forkert første ugedag chilenske locale [15262] localedata: LC_MESSAGES.yesexpr / noexpr: inkonsekvent brug af romanisation [15263] localedata: LC_MESSAGES.yesexpr / noexpr: inkonsekvent brug af 1/0 og +/- [15264] lokaldata: LC_MESSAGES.yesstr / nostr: mangler i mange lokaliteter [15368] nptl: raise () er ikke async-signal-sikker [15479] matematik: ceil, gulv, runde og trunc hæve inexakt undtagelse [15578] localedata: kk_KZ: forskellige opdateringer [16003] localedata: pap_AN: punt old locale [16137] localedata: iw_IL: point old locale [16190] lokaldata: eo: new esperanto locale [16374] localedata: lv_LV: skift valutasymbol i LC_MONETARY til euro [16742] malloc: løbstilstand: pthread_atfork () kaldes før første malloc () resulterer i uventet låsegang / deadlocks [16975] localedata: LC_MESSAGES.yesexpr / noexpr: Revider kapitalisering i alle lokaliteter [16983] localedata: postal_fmt tillader ikke% l og% n modifikatorer [17565] localedata : pt_PT: wrong (work-) uge start [17899] math: [powerpc] floorl returnerer negativt nul med FE_DOWNWARD [17950] build: Build mislykkes med -msse [18205] localedata: be_BY *: forkert first_weekday og first_workday [18433] libc : posix_spawn vender ikke korrekt tilbage ved manglende udførelse af [18453] localedata: charmaps / IBM875: forkerte koder [18712] streng: bits / string2.h uforenelig med -O2 -Werror = pakket -Wsystem-headers [18896] localedata: he_IL: forbedringer for valuta [18911] localedata: ro_RO: Korrigering af weekdagens navn til "Tuesday" i rumænske lokaldata [18960] locale: s390: _nl_locale_subfreeres bruger larl opcode på misaligned symbol [19056] libc: Deprecate readdir_r [19133] localedata: pt_ *: dage & amp; måneder skal være små bogstaver på portugisisk sprog [19198] localedata: nl_NL: små forbedringer for nederlandske lokaliteter [19257] netværk: Per-thread hukommelseslækage i __res_vinit med IPv6 navneservere (CVE-2016-5417) [19269] build: tst-audit4 og tst-audit10 fejl med gcc-6 på non-avx machine [19400] locale: Sprog mangler i "iso-639.def", trivial fix i beskrivelse [19431] malloc: Deadlock mellem fflush, getdelim og gaffel [19505] libc: Forkert filbeskrivelses validitetskontrol i posix_spawn_file_actions_add {open, close, dup2} [19509] dynamisk link: dlsym, dlvsym rapporterer ikke fejl gennem dlerror, når du bruger RTLD_NEXT [19512] locale: Stale `#ifndef HAVE_BUILTIN_EXPECT 'i` intl / {gettextP , loadinfo}.h '[19534] libc: execle, execlp kan bruge malloc [19568] localedata: * _CH: Schweiziske lokaliteter har inkonsekvent begyndelse af ugen [19573] netværk: res_nclose og __res_maybe_init er uenige om navnserverinitialisering, ved at bryde Hesiod [19575] localedata: Status af GB18030 tabeller [19581] localedata: sr_ * date_fmt streng indeholder yderligere newline [19583] streng: SSSE3_Fast_Copy_Backward flag skal aktiveres for AMD Excavator kerne [19592] math: [ldbl-128ibm] ceill forkert i ikke-standard afrundingsformer [19593 ] matematik: [ldbl-128ibm] truncl forkert i ikke-standardafrundingstilstande [19594] matematik: [ldbl-128ibm] roundl forkert i ikke-standardafrundingsmetoder [19595] math: [ldbl-128ibm] fmodl forkert for resultater i subnormal dobbelt rækkevidde [19602] matematik: [ldbl-128ibm] fmodl håndtering af lige argumenter med lav nul forkert [19603] matematik: [ldbl-128ibm] resterende remquol ukorrekt signagehåndtering i lighedstest [19610] dynamisk link: ldconfig - X fjerner uaktuelle symbolske links [19613] libc: s390x (64 bit) makroudvidelse WCOREDUMP og andre [19633] locale: strfmon_l anvender global lokalitet til nummerformatering [19642] netværk: Hukommelseslækage i getnameinfo [19648] libc: testskelet.c: Angiv ikke RLIMIT_DATA [19653] libc: Mulighed for NULL pointer dereference (CWE-476) i glibc-2.22 [19654] matematik: [x86_64] Brug testcase til BZ # 19590 fix [19671] localedata: Manglende Sanity Check for malloc () i 'tst-fmon.c' & amp; 'tst-numerisk.c' [19674] matematik: [ldbl-128ibm] pulver forkert overløbshåndtering [19677] matematik: [ldbl-128ibm] resterende ligestillingstest forkert for null lav del [19678] matematik: [ldbl-128ibm] nextafterl , nexttowardl ukorrekt tegn på nul resultat [19679] dynamisk link: gcc-4.9.3 C ++-undtagelseshåndtering brudt på grund af unaligned stack [19726] locale: Konvertering UCS4LE til INTERN med iconv () opdaterer ikke peger og længder i fejlsituation . [19727] locale: Konvertering fra / til UTF-xx med iconv () rapporterer ikke altid fejl på UTF-16-surrogatværdier.[19755] nscd: nscd påstandsvigt i gc [19758] dynamisk link: Typo i EXTRA_LD_ENVVARS for x86-64 [19759] libc: mempcpy skal ikke indlejres [19762] dynamisk link: HAS_CPU_FEATURE / HAS_ARCH_FEATURE er let at misbruge [ 19765] libc: s390 har brug for en optimeret mempcpy [19779] glob: glob: bufferoverløb med GLOB_ALTDIRFUNC på grund af forkert NAME_MAX limit assumption (CVE-2016-1234) [19783] build: benchtests understøtter ikke - en-hardcoded-path -in-tests [19787] netværk: Manglende og forkerte afkortningskontroller i getnameinfo [19790] math: [ldbl-128ibm] nærliggende forkert i ikke-standardafrundingstilstande [19791] netværk: Assertionsfejl i res_query.c med un-connectable name server adresser [19792] libc: MIPS: backtrace giver uendelig backtrack med makecontext [19822] math: libm.så installer clobbers gamle version [19825] netværk: resolv: send_vc kan returnere uninitialiserede data i andet svar på getaddrinfo [19830] netværk: nss_dns: bør tjekke RDATA længde mod bufferlængde [19831] netværk: nss_dns: getaddrinfo returnerer uninitialiserede data, når de konfronteres med A / AAAA-registreringer af ugyldig størrelse [19837] nss: nss_db: Ingen retries for nogle lange linjer med en større buffer [19848] matematik: powl (10, n) for n = -4, -5, -6, -7 er off med mere end 1 ULP [19853] stdio: Udskrivning IBM lang dobbelt i decimal med høj præcision er nogle gange forkert [19860] build: x86_64: kompilere fejl for tst-audit10 og tst-auditmod10b [19861] nptl: libpthread IFUNC resolver til gaffel kan føre til crash [19862] netværk: resolv, nss_dns: Fjern resterende logning af uventede posttyper [19865] netværk: Assertionsfejl eller hukommelseslækage i _nss_dns_getcanonname_r [19868] netværk: nss_dns: netent-kode overspringer ikke over ikke-PTR-poster [ 19879] netværk: nss_dns: Stack overløb i getnetbyname implementa (CVE-2016-3075) [19881] streng: Forbedre x86-64 memset [19907] streng: Forkerte memcpy tests [19916] dynamisk-link: S390: fprs / vrs gemmes ikke / gendannes under løsning af symboler [19925] libc : termios.h XCASE navneområde [19928] streng: memmove-vec-unaligned-erms.S er langsom med stor datastørrelse [19929] libc: limits.h NL_NMAX navneområde [19931] stdio: Hukommelseslækage i vfprintf [19957] libc: klon (CLONE_VM) adgang ugyldig overordnet hukommelse [19963] localedata: en_IL: Ny lokalitet [19989 ] stdio: stdio.h cuserid namespace [19994] netværk: getaddrinfo gendanner ikke RES_USE_INET6 flag i gethosts [19996] locale: langinfo.h nl_langinfo_l namespace [20005] stdio: fflush på en fil åbnet med fmemopen nulstiller position til 0 [20010] netværk: getaddrinfo: Stackoverløb i hostent-oversættelse (CVE-2016-3706) [20012] stdio: libio: fmemopen append modefejl [20014] stdio: stdio.h navneområde for pre-tråde POSIX [20017] netværk: resolv: Brug gmtime_r i stedet for gmtime i p_secstodate [20023] libc: fcntl.h timespec namespace [20024] matematik: [x86_64] vektoriserede sinkoser trashes stakken [20031] netværk: nss_hesiod: Heap overløb i get_txt_records [20041] tid: sys / time.h timespec navneområde [20043] libc: unistd.h mangler cuserid for UNIX98 og før [20044] libc: unistd .h mangler pthread_atfork til UNIX98 [20051] libc: ttyslot i forkert overskrift under forkerte forhold [20054] libc: gethostname ikke erklæret for XPG4 [20055] libc: termios.h mangler tcgetsid til XPG4 [20072] dynamisk link: x86 init_cpu_features kaldes to gange i statisk eksekverbar [20073] libc: sys / stat.h fchmod navneområde [20074] libc: stdlib.h rand_r navneområde [20076] libc: sys / stat .h mangler S_IFSOCK, S_ISSOCK for XPG4 [20094] libc: stdlib.h bør ikke erklære grantpt, ptsname, unlockpt for XPG3 [20111] libc: struct sockaddr_storage kan ikke aggregeres kopieret [20112] netværk: sunrpc: stack (frame) overflow i Sun RPC clntudp_call (CVE-2016-4429) [20115] streng: Ekstrajustering i memset-vec-unaligned-erms.S [20119] libc: Forkert maske til processorer niveau type fra CPUID [20139] dynamisk link: Øvre del af zmm er nulstillet, hvis Glibc er bygget med AS ikke understøtter AVX512 [20151] matematik: [ldbl-128 / ldbl-128ibm] j0l, j1l, y0l, y1l retur sNaN for sNaN argument [20153] math: [ldbl-128ibm] sqrtl (sNaN) returnerer sNaN [20156] matematik: [ldbl-128ibm] ceill, rintl etc. returner sNaN for sNaN argument [20157] math: [powerpc] fabsl (sNaN) hæver fejlagtigt "ugyldig" [20160] matematik: owerpc] ceil, rint osv.returnere sNaN for sNaN-indgang [20178] libc: posix_spawn {p} skal ikke kalde exit [20191] stdio: libio: vtables-hærdning [20195] streng: FMA4-detektion kræver CPUID-udførelse med register eax = 0x80000001 [20198] libc: quick_exit ødelægger forkert C + + 11 trådobjekter. [20205] matematik: [i386 / x86_64] nextafterl forkert stigning negative undernormaler [20212] matematik: acos (sNaN) returnerer sNaN [20213] math: asin (sNaN) returnerer sNaN [20214] netværk: Linux header synkronisering med linux / in6. h og ipv6.h igen.[20238] math: [i386] asinhl (sNaN) returnerer sNaN [20219] math: [i386] atanhl (sNaN) returnerer sNaN [20222] stdio: fopencookie: Mangle funktionspegere [20224] matematik: [i386] cbrtl (sNaN) returnerer sNaN [20225] matematik: ldexp, scalbn, scalbln retur sNaN for sNaN input [20226] math: [i386 / x86_64] expl, exp10l, expm1l returnér sNaN for sNaN input [20227] math: [i386 / x86_64] logl (sNaN returnerer sNaN [20228] math: [i386 / x86_64] log10l (sNaN) returnerer sNaN [20229] math: [i386 / x86_64] log1pl (sNaN) returnerer sNaN [20232] math: [ldbl-128] expm1l (sNaN) returnerer sNaN [20233] math: [ldbl-128ibm] expm1l (sNaN) returnerer sNaN [20234] math: [ldbl-128ibm] log1pl (sNaN) returnerer sNaN [20235] math: [i386 / x86_64] log2l (sNaN) returnerer sNaN [ 20237] nss: nss_db: get * ent segfaults uden forudgående sæt * ent [20240] matematik: modf (sNaN) returnerer sNaN [20248] libc: debug / tst-longjump_chk2 kalder printf fra en signalhåndterer [20250] math: frexp (sNaN ) returnerer sNaN [20252] math: atan2 (sNaN, qNaN) undlader at hæve "ugyldig" [20255] ma th: [i386] fdim, fdimf returnerer med overskydende rækkevidde og præcision / dobbeltrunding [20256] matematik: [i386 / x86_64] fdiml returnerer sNaN for sNaN input [20260] streng: ../sysdeps/x86/bits/string.
h: 1092: 3: fejl: array subscript er under array grænser [-Werror = array-bounds] [20262] nis: _nss_nis_initgroups_dyn returnerer altid NSS_STATUS_NOTFOUND [20263] nptl: robust mutex deadlocks hvis andre thread requests timedlock / linux) [20277] libc: $ dp er ikke initialiseret korrekt i sysdeps / hppa / start.S [20284] malloc: malloc: Korrupt arena undgåelse forårsager unødvendige mmap fallbacks [20296] math: [i386 / x86_64] scalbl returnerer sNaN for sNaN-input, mangler "ugyldige" undtagelser [20314] nptl: make [4]: *** [/usr/include/stdlib.h] Fejl 1 [20316] localedata: id_ID: Februar i stedet for Pebruari [20327] streng: POWER8 strcasecmp returnerer ukorrekt resultat [20347] matematik: Fejl: Test: j0_downward (0xap + 0) [20348] libc: FAIL: misc / tst-preadvwritev64 [20349] libc: 64-bit værdien afviger forskelligt i p {readv, writev} {64} [20350] libc: Der er ingen test for p {læs, skriv} 64 [20357] matematik: Forkert cos resultat for 1.5174239687223976 [20384] build: Kør ikke libmvec-sincos-avx * test på ikke-avx m askiner
Hvad er nyt i version 2.23:
- CVE-2015-7547: glibc getaddrinfo () stakbaseret bufferoverløb - Fixed on development branch for glibc 2.23 release.
Hvad er nyt i version 2.21:
- Følgende fejl løses med denne udgivelse: 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, 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 Under visse omstændigheder kan wscanf allokere for lidt hukommelse til de scannede argumenter og overløb den tildelte buffer. Implementeringen beregner nu den korrekte bufferstørrelse korrekt, når du bruger malloc.
- En ny semaforalgoritme er blevet implementeret i generisk C-kode for alle maskiner. Tidligere tilpassede montage implementeringer af semaphore var vanskelige at begrunde eller sikre, at de var sikre. Den nye version af semaphore understøtter maskiner med 64-bit eller 32-bit atomoperationer. Den nye semaphorealgoritme bruges af sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait og sem_getvalue.
- Port til Altera Nios II er blevet bidraget af Mentor Graphics.
- Optimeret strcpy, stpcpy, strnppy, stpncpy, strcmp og strnmp implementeringer for powerpc64 / powerpc64le. Implementeret af Adhemerval Zanella (IBM).
- Tilføjet support til TSX lock elision af pthread mutexes på powerpc32, powerpc64 og powerpc64le. Dette kan forbedre låseskalering af eksisterende programmer på HTM-kompatible systemer. Lås elisionskoden er kun aktiveret med --enable-lock-elision = ja. Også implementeringen af TSX Lock Elision for PowerPC udsteder en transaktion afbrydelse på hver syscall for at undgå, at bivirkninger bliver synlige udenfor transaktioner.
- Optimeret strkpy, stpcpy, strchrnul og strrchr implementeringer til AArch64. Bidragt af ARM Ltd.
- i386 memcpy funktioner optimeret med SSE2 uændret load / store.
- CVE-2104-7817 Wordexp-funktionen kunne ignorere WRDE_NOCMD-flaget under bestemte indgangsforhold, hvilket resulterede i udførelse af en shell til kommandosubstitution, da applikationen ikke anmodede om det. Implementeringen kontrollerer nu WRDE_NOCMD umiddelbart inden du udfører skallen og returnerer fejlen WRDE_CMDSUB som forventet.
- Funktionerne CVE-2012-3406 printf-stil kan løbe ind i en stabeloverløb, når der behandles formatstrings med et stort antal formatspecifikatorer.
- CVE-2014-9402 Nss_dns implementeringen af getnetbyname kunne løbe ind i et uendeligt sløjfe, hvis DNS-svaret indeholdt en PTR-registrering af et uventet format.
- Den minimale GCC-version, der kan bruges til at opbygge denne version af GNU C-biblioteket, er GCC 4.6. Ældre GCC-versioner og ikke-GNU-kompilatorer kan stadig bruges til at kompilere programmer ved hjælp af GNU C-biblioteket.
- GNU C-biblioteket er nu bygget med -Werror som standard. Dette kan deaktiveres ved at konfigurere med --disable-werror.
- Nye lokaliteter: tu_IN, bh_IN, raj_IN, ce_RU.
- Den forældede sigvec-funktion er blevet fjernet. Dette var den oprindelige 4.2BSD-grænseflade, der inspirerede POSIX.1 sigaction-grænsefladen, hvilke programmer har brugt i stedet for omkring 25 år. Selvfølgelig forbliver ABI-kompatibiliteten for gamle binære filer, der bruger sigvec, intakte.
- Samlet gettext 0.19.3 i underkataloget. Dette løser opbygningen med nyere versioner af bison.
- Støtte til MIPS o32 FPXX, FP64A og FP64 ABI Extensions. Den originale MIPS o32 hard-float ABI kræver en FPU, hvor dobbelt præcision registrerer overlay to på hinanden følgende enkelt-præcisionsregistre. MIPS32R2 introducerede en ny FPU-tilstand (FR = 1), hvor dobbelt-precisionsregistre udvider de tilsvarende enkelt-præcisionsregistre, som er uforenelige med o32 hard-float ABI. MIPS SIMD ASE og MIPSR6-arkitekturen kræver begge brug af FR = 1, hvilket gør en overgang nødvendig. Nye O32 ABI-udvidelser giver brugerne mulighed for at overføre over tid fra den oprindelige o32 ABI til den opdaterede o32 FP64 ABI. For at opnå dette, sporer den dynamiske linker nu ABI'en for alle indlæste objekter og verificerer, at nye objekter er kompatible. Modusovergange vil også blive anmodet om efter behov, og ikke-understøttede objekter vil blive afvist. ABI-kontrollerne omfatter både soft and hard float ABI'er for o32, n32 og n64.
Kommentarer ikke fundet