GNU C-biblioteket er en åpen kildekode, gratis og kraftig bibliotekssoftware for alle GNU / Linux-distribusjoner. Det er også kjent som Glibc og kreves av ethvert UNIX-lignende datoperativsystem. GNU C-biblioteket har ansvar for å definere systemanropene, samt ulike andre grunnleggende funksjoner, for eksempel malloc, åpne, avslutte, printf, etc.
Brukt som standard i alle Linux-kjernebaserte operativsystemer
GNU C-biblioteket installeres og brukes som standard i alle Linux-kjernebaserte operativsystem, designet fra grunnen til å fungere som hoved C-biblioteket i GNU-systemer og ethvert annet operativsystem drevet av Linux-kjernen.
Designet for å være bærbar
Glibc er et C-bibliotek med høy ytelse, skrevet helt i C-programmeringsspråket. Den er designet for å være bærbar, internasjonalisert og konstruert for å støtte alle relevante standarder, inkludert POSIX.1-2008 og ISO C11.
Støtter funksjoner av kjente UNIX-varianter
Mens GNU C-biblioteket har et fullt internasjonalisert grensesnitt, forsøker det å støtte funksjoner av kjente UNIX-varianter, for eksempel BSD og System V, takket være den innebygde kompatibilitetsmodusen.
Komme i gang med GNU C Library
Mens GNU C-biblioteket er installert som standard i nesten alle GNU / Linux-operativsystemer, kan du også installere det selv ved hjelp av kildepakken distribuert på nettstedet eller Softoware gratis. For å begynne, last ned og lagre arkivet i hjemmekatalogen din.
Pakke arkivet med et arkivadministrasjonsverktøy, åpne et terminalvindu, gå til stedet der arkivfilene er hentet, kjør & lsquo;. configure & rsquo;. kommandoen for å konfigurere programmet (se & lsquo; ./ configure --help & rsquo; kommandoen for ulike optimaliseringsalternativer).
Kjør deretter & lsquo; gjør & rsquo; kommandoen for å kompilere biblioteket, som kan installeres system bredt ved å kjøre en av & lsquo; gjør installasjon & rsquo; eller & ldquo; sudo gjør installasjon & rsquo; kommandoer, avhengig av roten din eller en privilegert bruker.
Hva er nytt i denne versjonen:
- https://sourceware.org/ml/libc-announce/2018/msg00000.html
Hva er nytt i versjon 2.27:
- https://sourceware.org/ml/libc-announce/2018/msg00000.html
Hva er nytt i versjon:
- Den minste Linux-kjerneversjonen som denne versjonen av GNU C-biblioteket kan brukes med, er 3.2, bortsett fra i [4567] 86 og x86_64, der Linux-kjerneversjon 2.6.32 eller nyere er tilstrekkelig (på arkitekturer som allerede krevde kjerne versjoner nyere enn 3,2, disse kravene forblir uendret). Linux 3.2 eller nyere kjernehoder kreves på alle arkitekturer.
- Pap_AN-lokaliteten er slettet. Dette har blitt avskrevet i lang tid. Den har blitt erstattet av pap_AW & amp; pap_CW, som begge har lenge vært med i tidligere utgivelser.
- Funksjonene readdir_r og readdir64_r er blitt utdatert. Det anbefales å bruke readdir og readdir64 i stedet.
- Typen "union-ventetid" er fjernet. Det ble deprecert tidlig på 1990-tallet og aldri en del av POSIX. Søknadskode skal bruke int type i stedet for "union vent".
- En ny NSS-handling legges til for å lette stor distribuert systemadministrasjon. Handlingen MERGE gjør det mulig for eksterne brukerbutikker som LDAP å bli slått sammen i lokale brukerbutikker som / etc / groups for å gi enkle å bruke, oppdaterte og administrerte sett med sammenslåtte legitimasjonsbeskrivelser. Den nye handlingen kan brukes ved å konfigurere den i /etc/nsswitch.conf: group: files [SUCCESS = merge] nis Implementert av Stephen Gallagher (Red Hat).
- Den avviklede __malloc_initialize_hook-variabelen er fjernet fra API-en.
- Det lange, ubrukte alternativet localedef -old-stil er fjernet. Det har ikke gjort noe i over 16 år. Skript som bruker dette alternativet, kan trygt slippe det.
- nextup, nextup, nextupf, nextdownl, nextdown og nextdownf legges til libm. De er definert av TS 18661 og IEEE754-2008. De neste funksjonene returnerer neste representativ verdi i retning av positiv uendelighet, og neste ned-funksjonene returnerer neste representativ verdi i retning av negativ uendelighet. Disse er for øyeblikket aktivert som GNU-utvidelser.
- Sikkerhetsrelaterte endringer:
- En unødvendig stakk kopi i _nss_dns_getnetbyname_r ble fjernet. Det kan resultere i en stabeloverflate når getnetbyname ble kalt med et altfor langt navn. (CVE-2016-3075)
- Tidligere har getaddrinfo kopiert store mengder adressedata til stabelen, selv etter at fikseringen for CVE-2013-4458 er blitt brukt, potensielt resulterer i en overfylling av stabler. getaddrinfo bruker nå en heapfordeling i stedet. Rapportert av Michael Petlan. (CVE-2016 til 3706)
- Globfunksjonen led av en stabelbasert bufferoverflyt når den ble kalt med GLOB_ALTDIRFUNC-flagget, og oppsto et langt filnavn. Rapportert av Alexander Cherepanov. (CVE-2016-1234)
- Sun RPC UDP-klienten kunne eksplodere all tilgjengelig stakkplass når den oversvømmet med utformede ICMP- og UDP-meldinger. Rapportert av Aldy Hernandez 'alloca plugin for GCC. (CVE-2,016 til 4,429)
- IPv6-navnet serveradministrasjonskode i libresolv kan føre til hukommelselekkasje for hver tråd som er opprettet, utfører en sviktende navneoppslag og utganger. Over tid kan dette resultere i en tjenestenekt på grunn av minneutmattelse. Rapportert av Matthias Schiffer. (CVE-2016-5417)
- Følgende feil er løst med denne versjonen: <>[1170] localedata: ne_NP: oppdatere nepalsk lokaldefinisjonsfil [3629] manual: stpcpy beskrivelse i string.texi refererer til MS-DOG i stedet for MS-DOS. [6527] malloc: [powerpc] Malloc-justering er utilstrekkelig for PowerPC [6796] matte: fdim () angir ikke errno på overløp [10354] libc: posix_spawn skal bruke vfork () i flere tilfeller enn i dag [11213] localedata: localedata: Legg til opphavsrettens ansvarsfraskrivelse til lokale filer [12143] localedata: chr_US: new Cherokee locale [12450] localedata: sgs_LT: new locale [12676] localedata: ln_CD: new locale [13237] localedata: LC_ADDRESS.country_name: oppdater alle lokaler med siste CLDR data [13304] matematikk: fma, fmaf, fmal produsere feilresultater [14259] bygge: --localedir arg å konfigurere ignoreres [14499] nptl: Bruker posix_spawn atfork handlers / bruk vfork? [14750] libc: Race tilstand i posix_spawn vfork bruk vs signal handlers [14934] localedata: es_CL: feil første ukedag chilean locale [15262] localedata: LC_MESSAGES.yesexpr / noexpr: inkonsekvent bruk av romanisation [15263] localedata: LC_MESSAGES.yesexpr / noexpr: inkonsekvent bruk av 1/0 og +/- [15264] lokaldata: LC_MESSAGES.yesstr / nostr: mangler i mange lokaler [15368] nptl: raise () er ikke async-signal-sikker [15479] matte: tak, gulv, runde og trunc heve unøyaktige unntak [15578] localedata: kk_KZ: diverse oppdateringer [16003] localedata: pap_AN: punt old locale [16137] localedata: iw_IL: punkt gammel lokalitet [16190] localedata: eo: new esperanto locale [16374] localedata: lv_LV: bytt valutasymbol i LC_MONETARY til euro [16742] malloc: løpstilstand: pthread_atfork () kalles før første malloc () resulterer i uventet låsegang / deadlocks [16975] localedata: LC_MESSAGES.yesexpr / noexpr: gjenta kapitalisering i alle lokaler [16983] localedata: postal_fmt tillater ikke% l og% n modifiseringsenheter [17565] localedata : pt_PT: feil (arbeids-) uke start [17899] matte: [powerpc] floorl returnerer negativ null med FE_DOWNWARD [17950] build: Build mislykkes med -msse [18205] localedata: be_BY *: feil first_weekday and first_workday [18433] libc : posix_spawn returnerer ikke riktig ved manglende utførelse av [18453] localedata: charmaps / IBM875: feil koder [18712] streng: bits / string2.h uforenlig med -O2 -Werror = pakket -Wsystem-headers [18896] localedata: he_IL: forbedringer for valuta [18911] localedata: ro_RO: Korrigere ukedagens navn for "tirsdag" i rumensk lokaldata [18960] locale: s390: _nl_locale_subfreeres bruker larl opcode på feiljustert symbol [19056] libc: Deprecate readdir_r [19133] localedata: pt_ *: dager & amp; Måneder bør være små bokstaver på portugisisk språk [19198] localedata: nl_NL: små forbedringer for nederlandske lokaliteter [19257] nettverk: Per-thread minnelekkasje i __res_vinit med IPv6 nameservers (CVE-2016-5417) [19269] bygge: tst-audit4 og tst-audit10-feil med gcc-6 på non-avx-maskin [19400] språk: manglende mangel på "iso-639.def", triviell løsning i beskrivelse [19431] malloc: Deadlock mellom fflush, getdelim og gaffel [19505] libc: Feil filbeskrivelse validitetskontroller i posix_spawn_file_actions_add {open, close, dup2} [19509] dynamisk link: dlsym, dlvsym rapporterer ikke feil gjennom dlerror ved bruk av RTLD_NEXT [19512] locale: Stale `#ifndef HAVE_BUILTIN_EXPECT 'i` intl / {gettextP , loadinfo}.h '[19534] libc: execle, execlp kan bruke malloc [19568] localedata: * _CH: Sveitsiske lokaliteter har inkonsekvent begynnelse av uken [19573] nettverk: res_nclose og __res_maybe_init er uenig om navneserverinitialisering, breaking Hesiod [19575] localedata: Status av GB18030 tabeller [19581] localedata: sr_ * date_fmt streng inneholder ytterligere newline [19583] streng: SSSE3_Fast_Copy_Backward flagg må aktiveres for AMD Excavator core [19592] math: [ldbl-128ibm] stammer feil i ikke-standard runde modus [19593 ] math: [ldbl-128ibm] truncl feil i ikke-standard runde modus [19594] math: [ldbl-128ibm] roundl feil i ikke-standard runde modus [19595] math: [ldbl-128ibm] fmodl feil for resultater i subnormal dobbelt rekkevidde [19602] matematikk: [ldbl-128ibm] fmodl håndtering av like argumenter med lav null null feil [19603] matte: [ldbl-128ibm] resterende, remquol feil signaturhåndtering i likestillingstester [19610] dynamisk lenke: ldconfig - X fjerner uaktuelle symbolske lenker [19613] libc: s390x (64 bit) makroutvidelse WCOREDUMP og andre [19633] locale: strfmon_l gjelder global lokalnummer til nummerformatering [19642] nettverk: Minnelekkasje i getnameinfo [19648] libc: test-skjelett.c: Ikke sett RLIMIT_DATA [19653] libc: Mulighet for NULL pointer dereference (CWE-476) i glibc-2.22 [19654] math: [x86_64] Trenger testcase for BZ # 19590 fix [19671] localedata: Mangler Sanity Sjekk for malloc () i 'tst-fmon.c' & amp; 'tst-numeric.c' [19674] matte: [ldbl-128ibm] powl feil overløpshåndtering [19677] matte: [ldbl-128ibm] gjenværende likestillingstest feil for null lav del [19678] matte: [ldbl-128ibm] nextafterl , nexttowardl feil tegn på nullresultat [19679] dynamisk link: gcc-4.9.3 C ++ unntakshåndtering ødelagt på grunn av ujevnt stabel [19726] locale: Konvertering UCS4LE til INTERN med ikonv () oppdaterer ikke pekere og lengder i feilsøking . [19727] locale: Konvertering fra / til UTF-xx med iconv () rapporterer ikke alltid feil på UTF-16-surrogatverdier.[19755] nscd: nscd påstandssvikt i gc [19758] dynamisk lenke: Typo i EXTRA_LD_ENVVARS for x86-64 [19759] libc: mempcpy burde ikke være inlined [19762] dynamisk link: HAS_CPU_FEATURE / HAS_ARCH_FEATURE er lett å misbruke [ 19765] libc: s390 trenger en optimalisert mempcpy [19779] glob: glob: bufferoverløp med GLOB_ALTDIRFUNC på grunn av feil ANVENDELSE for grense for NAME_MAX grense (CVE-2016-1234) [19783] bygge: Benchtests støtter ikke - enbar hardcoded-path i-test [19787] nettverk: Manglende og feil avkortingskontroll i getnameinfo [19790] matematikk: [ldbl-128ibm] nærliggende feil i ikke-standard runde modus [19791] nettverk: Feilsøkingsfeil i res_query.c med un-connectable navn server adresser [19792] libc: MIPS: backtrace gir uendelig backtrace med makecontext [19822] math: libm.så installer clobbers gammel versjon [19825] nettverk: resolv: send_vc kan returnere uninitialized data i andre svar på getaddrinfo [19830] nettverk: nss_dns: bør sjekke RDATA lengde mot bufferlengde [19831] nettverk: nss_dns: getaddrinfo returnerer uninitialized data når konfrontert med A / AAAA-poster med ugyldig størrelse [19837] nss: nss_db: Ingen retries for noen lange linjer med en større buffer [19848] matte: powl (10, n) for n = -4, -5, -6, -7 er av med mer enn 1 ULP [19853] stdio: Utskrift IBM lang dobbel i desimal med høy presisjon er noen ganger feil [19860] bygge: x86_64: kompilere feil for tst-audit10 og tst-auditmod10b [19861] nptl: libpthread IFUNC resolver for gaffel kan føre til krasj [19862] nettverk: resolv, nss_dns: Fjern gjenværende logging av uventede posttyper [19865] nettverk: Feilfeil eller minnelekkasje i _nss_dns_getcanonname_r [19868] nettverk: nss_dns: netent-kode hopper ikke over ikke-PTR-poster [ 19879] nettverk: nss_dns: Stack overflow i getnetbyname implementa (CVE-2016-3075) [19881] streng: Forbedre x86-64 memset [19907] streng: Feil memcpy tester [19916] dynamisk link: S390: fprs / vrs blir ikke lagret / gjenopprettet mens symbolene løses [19925] libc : termios.h XCASE navneområde [19928] streng: memmove-vec-unaligned-erms.S er sakte med stor datastørrelse [19929] libc: limits.h NL_NMAX namespace [19931] stdio: Minnelekkasje i vfprintf [19957] libc: klon (CLONE_VM) tilgang ugyldig overordnet minne [19963] localedata: en_IL: Ny lokalitet [19989 ] stdio: stdio.h cuserid namespace [19994] nettverk: getaddrinfo gjenoppretter ikke RES_USE_INET6 flagg i gethosts [19996] locale: langinfo.h nl_langinfo_l namespace [20005] stdio: fflush på en fil åpnet med fmemopen tilbakestiller posisjon til 0 [20010] nettverk: getaddrinfo: Stack overflow i vertjent oversettelse (CVE-2016-3706) [20012] stdio: libio: fmemopen append modefeil [20014] stdio: stdio.h navneområde for pre-tråder POSIX [20017] nettverk: resolv: Bruk gmtime_r i stedet for gmtime i p_secstodate [20023] libc: fcntl.h tidsspesifikke navneområde [20024] matte: [x86_64] vektoriserte sinkoser ødelegger stablet [20031] nettverk: nss_hesiod: Heap overløb i get_txt_records [20041] tid: sys / time.h timespec namespace [20043] libc: unistd.h mangler cuserid for UNIX98 og før [20044] libc: unistd .h mangler pthread_atfork for UNIX98 [20051] libc: ttyslot i feil overskrift under feil forhold [20054] libc: gethostname ikke erklært for XPG4 [20055] libc: termios.h mangler tcgetsid for XPG4 [20072] dynamisk link: x86 init_cpu_features kalles to ganger i statisk kjørbar [20073] libc: sys / stat.h fchmod namespace [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 deklarere grantpt, ptsname, unlockpt for XPG3 [20111] libc: struct sockaddr_storage kan ikke aggregert kopieres [20112] nettverk: sunrpc: stack i Sun RPC clntudp_call (CVE-2016-4429) [20115] streng: Ekstra justering i memset-vec-unaligned-erms.S [20119] libc: Feil maske for prosessorer nivåtype fra CPUID [20139] dynamisk link: Øvre del av zmm nullstilles hvis Glibc er bygget med AS ikke støtter AVX512 [20151] matematikk: [ldbl-128 / ldbl-128ibm] j0l, j1l, y0l, y1l returnere sNaN for sNaN argument [20153] math: [ldbl-128ibm] sqrtl (sNaN) returnerer sNaN [20156] matematikk: [ldbl-128ibm] ceill, rintl etc. return sNaN for sNaN argument [20157] matte: [powerpc] fabsl (sNaN) hevder feilaktig "ugyldig" [20160] matematikk: owerpc] ceil, rint etc.returnere sNaN for sNaN-inngang [20178] libc: posix_spawn {p} skal ikke ringe exit [20191] stdio: libio: vtables hardening [20195] streng: FMA4-deteksjon krever CPUID-utførelse med register eax = 0x80000001 [20198] libc: quick_exit ødelegger feil C + + 11 tråd gjenstander. [20205] matte: [i386 / x86_64] nextafterl feil inkrementerende negative undernormaler [20212] matematikk: acos (sNaN) returnerer sNaN [20213] math: asin (sNaN) returnerer sNaN [20214] nettverk: Linux header synkronisering med linux / in6. h og ipv6.h igjen.[20238] matematikk: [i386] asinhl (sNaN) returnerer sNaN [20219] matte: [i386] atanhl (sNaN) returnerer sNaN [20222] stdio: fopencookie: Manglefunksjonspoints [20224] math: [i386] cbrtl (sNaN) returnerer sNaN [20225] matte: ldexp, scalbn, scalbln retur sNaN for sNaN-input [20226] matte: [i386 / x86_64] expl, exp10l, expm1l returnere sNaN for sNaN-inngang [20227] matte: [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: få * seg segfaults uten forutgående sett * ent [20240] matte: modf (sNaN) returnerer sNaN [20248] libc: debug / tst-longjump_chk2 kaller printf fra en signalhåndterer [20250] math: frexp (sNaN ) returnerer sNaN [20252] matematikk: atan2 (sNaN, qNaN) unnlater å heve "ugyldig" [20255] ma th: [i386] fdim, fdimf returnere med overskytende rekkevidde og presisjon / dobbeltrunde [20256] matte: [i386 / x86_64] fdiml returnerer sNaN for sNaN-inngang [20260] streng: ../sysdeps/x86/bits/string.
h: 1092: 3: feil: array subscript er under array bounds [-Werror = array-bounds] [20262] nis: _nss_nis_initgroups_dyn returnerer alltid NSS_STATUS_NOTFOUND [20263] nptl: robust mutex deadlocks hvis andre trådforespørsler tidsbestemt / linux) [20277] libc: $ dp er ikke initialisert riktig i sysdeps / hppa / start.S [20284] malloc: malloc: Korrupt arena unngås forårsaker unødvendige MMAP fallbacks [20296] math: [i386 / x86_64] scalbl returnerer sNaN for sNaN-inngang, mangler "ugyldige" unntak [20314] nptl: make [4]: *** [/usr/include/stdlib.h] Feil 1 [20316] localedata: id_ID: Februar i stedet for Pebruari [20327] streng: POWER8 stromsecmp returnerer feil resultat [20347] matte: Feil: Test: j0_downward (0xap + 0) [20348] libc: FAIL: misc / tst-preadvwritev64 [20349] libc: 64-biters verdi går annerledes i p {readv, writev} {64} [20350] libc: Det er ingen test for p {les, skriv} 64 [20357] matematikk: Feil cos-resultat for 1.5174239687223976 [20384] bygge: Kjør ikke libmvec-sincos-avx * tester på ikke avx m achines
Hva er nytt i versjon 2.23:
- CVE-2015-7547: glibc getaddrinfo () stabelbasert bufferoverløp - Fast på utviklingsgren for glibc 2.23-utgivelse.
Hva er nytt i versjon 2.21:
- Følgende feil løses med denne utgivelsen: 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, 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 forhold kan wscanf tildele for lite minne for de skannede argumentene og overlate den tildelte bufferen. Implementeringen beregner nå riktig bufferstørrelse når du bruker malloc.
- En ny semaforalgoritme har blitt implementert i generisk C-kode for alle maskiner. Tidligere tilpassede montering implementeringer av semaphore var vanskelig å begrunne om eller sikre at de var trygge. Den nye versjonen av semaphore støtter maskiner med 64-biters eller 32-bits atomoperasjoner. Den nye semaphorealgoritmen brukes av sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait og sem_getvalue.
- Porten til Altera Nios II har blitt bidratt med Mentor Graphics.
- Optimalisert strcpy, stpcpy, strncpy, stpncpy, strcmp og strncmp implementeringer for powerpc64 / powerpc64le. Implementert av Adhemerval Zanella (IBM).
- Lagt til støtte for TSX lock-elision av pthread mutexes på powerpc32, powerpc64 og powerpc64le. Dette kan forbedre låseskalering av eksisterende programmer på HTM-kompatible systemer. Låsekodekoden er bare aktivert med --enable-lock-elision = ja. Også, implementeringen av TSX Lock Elision for PowerPC vil utløse en transaksjon avbrudd på hver syscall for å unngå at bivirkninger blir synlige utenfor transaksjoner.
- Optimalisert strcpy, stpcpy, strchrnul og strrchr implementeringer for AArch64. Bidragt av ARM Ltd.
- i386 memcpy funksjoner optimalisert med SSE2 ujustert last / butikk.
- CVE-2104-7817 Wordexp-funksjonen kan ignorere WRDE_NOCMD-flagget under bestemte inngangsbetingelser som resulterer i utførelse av et skall for kommandosubstitusjon når applikasjonen ikke ber om det. Implementeringen kontrollerer nå WRDE_NOCMD umiddelbart før du utfører skallet og returnerer feilen WRDE_CMDSUB som forventet.
- CVE-2012-3406-funksjonen for utskriftsfiltype kan føre til en stabeloverflate når du behandler formatstrenger med et stort antall formatspesifikatorer.
- CVE-2014-9402 Nss_dns-implementeringen av getnetbyname kan føre til en uendelig loop hvis DNS-svaret inneholdt en PTR-post av et uventet format.
- Minste GCC-versjonen som kan brukes til å bygge denne versjonen av GNU C-biblioteket, er GCC 4.6. Eldre GCC-versjoner, og ikke-GNU-kompilatorer, kan fortsatt brukes til å kompilere programmer ved hjelp av GNU C-biblioteket.
- GNU C-biblioteket er nå bygget med -Werror som standard. Dette kan deaktiveres ved å konfigurere med --disable-werror.
- Nye steder: tu_IN, bh_IN, raj_IN, ce_RU.
- Den utdaterte sigvec-funksjonen er fjernet. Dette var det opprinnelige 4.2BSD-grensesnittet som inspirerte POSIX.1-signifikasjonsgrensesnittet, hvilke programmer har brukt i stedet i omtrent 25 år. Selvfølgelig forblir ABI-kompatibiliteten for gamle binærer som bruker sigvec intakt.
- Samlet gettekst 0.19.3 i underkatalogen i underkatalogen. Dette reparerer bygningen med nyere versjoner av bison.
- Støtte for MIPS o32 FPXX, FP64A og FP64 ABI Extensions. Den originale MIPS o32 hard-float ABI krever en FPU der dobbelt-presisjonsregistre overlegger to påfølgende single-precision registers. MIPS32R2 introduserte en ny FPU-modus (FR = 1) hvor dobbelt-presisjonsregistre utvider de tilsvarende enkelt-presisjonsregistrene som er inkompatible med o32 hard-float ABI. MIPS SIMD ASE og MIPSR6-arkitekturen krever begge bruk av FR = 1 som gjør en overgang nødvendig. Nye O32 ABI-utvidelser gjør det mulig for brukere å migrere over tid fra den opprinnelige o32 ABI til den oppdaterte o32 FP64 ABI. For å oppnå dette, sporer den dynamiske linkeren nå ABI for alle lastede objekter og bekrefter at nye objekter er kompatible. Modusoverganger vil også bli forespurt etter behov, og ustøttede objekter vil bli avvist. ABI-kontrollene inkluderer både myke og harde float-ABIer for o32, n32 og n64.
Kommentarer ikke funnet