GNU C Library

Szoftver screenshot:
GNU C Library
Szoftver adatai:
Változat: 2.28 Frissítve
Feltöltés dátuma: 16 Aug 18
Fejlesztő: Roland McGrath
Engedély: Ingyenes
Népszerűség: 16

Rating: 3.0/5 (Total Votes: 2)

A GNU C könyvtár egy nyílt forráskódú, ingyenes és nagy teljesítményű könyvtári szoftver bármely GNU / Linux disztribúció számára. Más néven Glibc néven is ismert, és bármilyen UNIX-szerű számítógépes operációs rendszer szükséges. A GNU C Könyvtár feladata a rendszerhívások meghatározása, valamint a különböző alapvető funkciók, mint például a malloc, open, exit, printf, stb.


Alapértelmezés szerint minden Linux kernel alapú operációs rendszerben használható

A GNU C könyvtárat alapértelmezés szerint minden Linux kernel alapú operációs rendszer használja, amely az alapoktól kezdve a GNU-rendszerek és a Linux kernel által működtetett egyéb operációs rendszerek közé tartozik. p>
Úgy tervezték, hogy hordozható

A Glibc egy nagy teljesítményű C könyvtár, amelyet teljes egészében a C programozási nyelv ír. A hordozható, nemzetköziesített és az összes vonatkozó szabványt támogatja, beleértve a POSIX.1-2008 és az ISO C11 szabványokat.


Támogatja a jól ismert UNIX változatok jellemzőit

Bár a GNU C könyvtár teljesen nemzetköziesített, a jól ismert UNIX változatok, például a BSD és a System V funkcióinak támogatására törekszik a beépített kompatibilitási módoknak köszönhetően.

A GNU C könyvtár kezdete

Bár a GNU C könyvtár alapértelmezés szerint telepítve van szinte minden GNU / Linux operációs rendszerben, a saját webhelyén vagy a Softoware ingyenesen letölthető forráscsomag segítségével is újratelepíthető. Kezdje el, töltse le és mentse el az archívumot a saját könyvtárába.

Csomagolja ki az archívumot egy archívumkezelő segédprogrammal, nyisson meg egy terminál ablakot, menjen el az archív fájlok kibontásához, futtassa az & lsquo; ./ configure & rsquo; parancsot a program konfigurálásához (lásd az & lsquo; ./ configure --help & rsquo; parancsot a különböző optimalizálási lehetőségekhez).

Ezután futtassa az & lsquo; make & rsquo; parancsot a könyvtár összeállítására, amely telepíthető az egész & amp; lsquo; make install & rsquo; vagy & lsquo; sudo make install & rsquo; parancsok, attól függően, hogy a gyökér vagy a kiváltságos felhasználó.

Újdonság ebben a kiadásban:

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

Újdonság a 2.27-es verzióban:

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

Újdonság a verzióban:

  • A GNU C könyvtár ezen verziójához használható minimális Linux kernelverzió a 3.2, kivéve i [4567] 86 és x86_64, ahol a 2.6.32 vagy újabb Linux kernel verziója elegendő (olyan architektúráknál, amelyek már kernelt legfeljebb 3,2 verziók, ezek a követelmények változatlanok maradnak). Linux 3.2-es vagy újabb rendszermag-fejlécek szükségesek minden architektúrában.
  • A pap_AN helyet törölték. Ezt már hosszú ideje elavulták. Ezt a pap_AW & amp; pap_CW, amelyek mindegyike régóta szerepel a korábbi kiadásokban.
  • A readdir_r és readdir64_r függvények elavultak. A readdir és readdir64 használatát javasoljuk.
  • A "szakszervezeti vár" típusa el lett távolítva. Az 1990-es évek elején elavult, soha nem része a POSIX-nak. Az alkalmazáskódnak az "unite wait" helyett az int típusúnak kell lennie.
  • Új NSS műveletet adtak hozzá a nagy elosztott rendszeradminisztráció megkönnyítéséhez. A MERGE-művelet lehetővé teszi az olyan távoli felhasználói tárolók, mint például az LDAP összeolvasztását helyi felhasználói tárolókba, mint például az / etc / groups, hogy egyszerűen használható, frissített és kezelt összevont hitelesítési adatok álljanak rendelkezésre. Az új műveletet az /etc/nsswitch.conf fájlban lehet beállítani: group: files [SUCCESS = merge] nis A Stephen Gallagher (Red Hat) implementálása.
  • Az elavult __malloc_initialize_hook változót eltávolítottuk az API-ból.
  • A hosszú, nem használt localedef - old-style opciót eltávolítottuk. 16 éve nem csinált semmit. Az ezzel az opcióval rendelkező parancsfájlok biztonságosan eldobhatják.
  • nextupl, nextup, nextupf, nextdownl, nextdown és nextdownf hozzáadva a libmhez. Ezeket a TS 18661 és az IEEE754-2008 határozza meg. A következő funkciók a pozitív végtelenség irányába mutatják a következő reprezentálható értéket, és a nextdown funkciók a következő ábrázolható értéket visszaküldik a negatív végtelenség irányába. Ezek jelenleg GNU kiterjesztésekként engedélyezettek.
  • Biztonsági változások:
  • A _nss_dns_getnetbyname_r nevű felesleges verem másolatát eltávolítottuk. Lehet, hogy a verem túlcsordulása akkor keletkezik, amikor a getnetbyname-et túlságosan hosszú névvel hívták. (CVE-2016-3075)
  • Korábban a getaddrinfo nagy mennyiségű címadatot másolt át a verembe, még a CVE-2013-4458 javításának alkalmazása után is, ami potenciálisan túlcsordulást eredményezett. A getaddrinfo most egy heap-allokációt használ. Jelentette Michael Petlan. (CVE-2016-3706)
  • A glob függvény egy verem alapú puffer túlcsordulással szenvedett el, amikor a GLOB_ALTDIRFUNC jelzővel hívták és hosszú fájlnevet találtak. Jelentette Alexander Cherepanov. (CVE-2016-1234)
  • A Sun RPC UDP kliens kimeríthette az összes rendelkezésre álló veremterületet, ha az elkészült ICMP és UDP üzenetek elárasztják. Jelentette Aldy Hernandez 'alloca plugin for GCC. (CVE-2016-4429)
  • A libresolv IPv6 névkiszolgálói kezelési kódja a memóriában szivárgást eredményezhet minden létrejött szál esetén, hibás név szerinti keresést végez, és kilép. Idővel ez a memória kimerülés miatt a szolgáltatás megtagadásához vezethet. Jelentette Matthias Schiffer. (CVE-2016-5417)
  • A következő hibák megoldódnak ezzel a kiadással:
  • <>[1170] localedata: ne_NP: update Nepali helymeghatározási fájl [3629] manuális: stpcpy leírás string.texi MS-DOG helyett MS-DOS. [6527] malloc: [powerpc] Malloc beállítás nem elegendő a PowerPC-hez [6796] math: fdim () nem állít be errno a túlcsordulásra [10354] libc: posix_spawn a vfork () többszöri felhasználását használja [11213] localedata: localedata: adj hozzá szerzői jogi felelősséget a helyi fájlokhoz [12143] localedata: chr_US: új Cherokee hely [12450] localedata: sgs_LT: új hely [12676] localedata: ln_CD: új hely [13237] localedata: LC_ADDRESS.country_name: adatok [13304] math: fma, fmaf, fmal rossz eredményeket hoznak létre [14259] build: --localedir argumentum konfigurálásra figyelmen kívül hagyni [14499] nptl: A posix_spawn meghívja az atfork kezelőket / használja a vforkot? [14750] localcontent: es_CL: rossz első hét napja chilean locale [15262] localedata: LC_MESSAGES.yesexpr / noexpr: a romanizáció következetlen használata [15263] localedata: LC_MESSAGES.yesexpr / noexpr: az 1/0 és a +/- [15264] localedata: LC_MESSAGES következetlen használata.yesstr / nostr: hiányzik sok helyen [15368] nptl: raise () nem async-jel-safe [15479] matematika: ceil, floor, round and trunc raise inexact exception [15578] localedata: kk_KZ: localedata: pap_AN: pont régi hely [16137] localedata: iw_IL: pont régi hely [16190] localedata: eo: új esperanto locale [16374] localedata: lv_LV: változás pénznem szimbólum LC_MONETARY-ben euro [16742] malloc: versenyfeltétel: pthread_atfork () előhívja az első malloc () függvényt a váratlan zárolási viselkedéshez / holtpontokhoz [16975] localedata: LC_MESSAGES.yesexpr / noexpr: újraértékeli az összes helyi mappát [16983] localedata: postal_fmt nem engedélyezi% l és% n módosítót [17565] localedata : pt_PT: rossz (munka) hét kezdete [17899] matematika: [powerpc] floorl visszaad negatív értéket FE_DOWNWARD [17950] build: Build sikertelen -msse [18205] localedata: be_BY *: rossz first_weekday és first_workday [18433] libc : posix_spawn nem helyes vissza helyes végrehajtásakor [18453] localedata: charmaps / IBM875: helytelen kódok [18712] string: bits / string2.h inkompatibilis a -O2 -Werror = csomagolt -Wsystem-headers [18896] localedata: he_IL: javítás a pénznemre [18911] localedata: ro_RO: A hét napjának neve a "kedden" román helyadatokban [18960] locale: s390: _nl_locale_subfreeres a larl opcode-t rosszul illesztett szimbólumon használja [19056] libc: Deprecate readdir_r [19133] localedata: pt_ *: napok & amp; hónapok kis betűvel rendelkeznek portugál nyelven [19198] localedata: nl_NL: kis javítások a holland helyi hálózatokhoz [19257] hálózat: __res_vinit IPv6 névkiszolgálón (CVE-2016-5417) [19269] átmeneti memória szivárgás [19269] build: tst-audit4 és tst-audit10 hibák a gcc-6 nem avx gépen [19400] locale: nyelv hiányzik az "iso-639.def" -ben, triviális javítás a leírásban [19431] malloc: zárolás az fflush, getdelim és a villa között [19505] libc: Hibás fájlleíró érvényességi ellenőrzés a posix_spawn_file_actions_add {open, close, dup2} [19509] dinamikus hivatkozás esetén: dlsym, dlvsym nem jelent hibát a dlerror használatával az RTLD_NEXT [19512] locale: Stale `#ifndef HAVE_BUILTIN_EXPECT 'kifejezéssel az` intl / {gettextP , loadinfo}.h [19534] libc: execle, execlp használhat malloc [19568] localedata: * _CH: A svájci helyiek a hét kezdetének ellentmondásosak [19573] hálózat: res_nclose és __res_maybe_init nem értenek egyet a névszerver inicializálásában, törés Hesiod [19575] localedata: Állapot a GB18030 táblázatokban [19581] localedata: sr_ * date_fmt karakterlánc további új sorozatot tartalmaz [19583]: az SSSE3_Fast_Copy_Backward zászlót engedélyezni kell az AMD Excavator core számára [19592] math: [ldbl-128ibm] ] math: [ldbl-128ibm] truncl hibás a nem alapértelmezett kerekítési módokban [19594] matematika: [ldbl-128ibm] roundl helytelen a nem alapértelmezett kerekítési módokban [19595] matematika: [ldbl-128ibm] kettős tartomány [19602] matematika: [ldbl-128ibm] fmodl egyenlő argumentumok kezelése alacsony rész nulla hibás [19603] math: [ldbl-128ibm] maradék, hibás jeltovábbítás egyenértékű tesztekben [19610] dinamikus link: ldconfig - X eltávolítja a szimbolikus linkeket [19613] libc: s390x (64 bites) makró kiterjesztés WCOREDUMP és mások [19633] locale: strfmon_l globális területi beállításokat alkalmaz a szám formázására [19642] hálózat: memória szivárgás getnameinfo [19648] libc: test-skeleton.c: Ne állítson be RLIMIT_DATA [19653] libc: Potenciál a NULL pointer dereferencehez (CWE-476) a glibc-2.22-ben [19654] math: [x86_64] Szükség van a BSC # 19590 javításra [19671] localedata: () a 'tst-fmon.c' & [1967] math: [ldbl-128ibm] hibás overflow kezelés [19677] math: [ldbl-128ibm] maradék egyenlőségi teszt nullára alacsony rész [19678] matematika: [ldbl-128ibm] nextafterl , nexttowardl null eredmény hibás jele [19679] dinamikus kapcsolat: gcc-4.9.3 C ++ kivétel kezelése nem igazolt verem miatt [19726] locale: Az UCS4LE belsővé alakítása INTERNAL-val az iconv () függvénygel nem frissíti a mutatókat és a hosszúságokat hiba esetén . [19727] locale: Az iconf () függvénnyel az UTF-xx-ből történő konvertálás nem mindig jelent hibákat az UTF-16 helyettesítő értékeken.[19755] nscd: nscd állítás hiba gc-ben [19758] dinamikus kapcsolat: TYPE EXTRA_LD_ENVVARS x86-64 [19759] libc: mempcpy nem illeszthető be [19762] dinamikus kapcsolat: HAS_CPU_FEATURE / HAS_ARCH_FEATURE könnyen használható [ 19765] libc: s390 szükséges optimalizált mempcpy [19779] glob: glob: puffer túlcsordulás a GLOB_ALTDIRFUNC-val hibás NAME_MAX limit feltételezés miatt (CVE-2016-1234) [19783] build: a bencstests nem támogatja --enable-hardcoded-path -in-tests [19787] hálózat: Hiányzó és helytelen csonkolási ellenőrzések a getnameinfo [19790] matematikában: [ldbl-128ibm] nearbyintl helytelen a nem alapértelmezett lekerekítési módokban [19791] hálózat: Assignment failure in res_query.c un-connectable name kiszolgáló címek [19792] libc: MIPS: a backtrace végtelen visszalépést hoz létre makecontext [19822] math: libm.így: install clobbers régi verzió [19825] network: resolv: send_vc visszaadhatatlan inicializálatlan adatokat a getaddrinfo [19830] második válaszában: nss_dns: ellenőriznie kell a RDATA hosszúságot a pufferhosszig szemben [19831] network: nss_dns: getaddrinfo visszaadja a neminicializált adatokat, Az érvénytelen méretű AA / AAAA rekordok [19837] nss: nss_db: Nem folytatódnak a nagyobb pufferrel rendelkező hosszú sorok [19848] math: forrása (10, n) az n = -4, -5, -6, -7 esetén [19860] build: x86_64: fordít hibákat tst-audit10 és tst-auditmod10b [19861] nptl: libpthread IFUNC resolver forkhoz [19862] hálózat: nss_dns: a netent kód nem ugrik át nem PTR rekordok között [19865] hálózat: 19879] hálózat: nss_dns: Stack túlcsordulás a getnetbyname implementa-ban [19971] string: javítása x86-64 memset [19907] string: hibás memcpy tesztek [19916] dinamikus kapcsolat: S390: fprs / vrs nem mentésre / visszaállításra a szimbólumok feloldása közben [19925] libc : termios.h XCASE névtér [19928] string: memmove-vec-unaligned-erms.S lassú, nagy adatmérettel [19929] libc: limits.h NL_NMAX névtér [19931] stdio: Memory leak in vfprintf [19957] libc: klón (CLONE_VM) hozzáférés érvénytelen szülőmemória [19963] localedata: en_IL: ] stdio: stdio.h cuserid namespace [19994] hálózat: getaddrinfo nem helyezi vissza a RES_USE_INET6 flagot a gethostban [19996] locale: langinfo.h nl_langinfo_l namespace [20005] stdio: fflush az fmemopenen megnyitott fájlban 0 [20010] network: getaddrinfo: Stack túlcsordulás a hostáns fordításban (CVE-2016-3706) [20012] stdio: libio: fmemopen hozzáfűzési mód meghibásodása [20014] stdio: stdio.h névtér előszálakhoz POSIX [20017] hálózat: resolv: gmtime_r a gmtime helyett p_secstodate [20023] helyett libc: fcntl.h timespec namespace [20024] matematika: [x86_64] vektorizált sinkozik a verem [20031] hálózatát: nss_hesiod: Heap overflow in get_txt_records [20041] time: sys / time.h timespec namespace [20043] libc: unistd.h hiányzik cuserid a UNIX98-hoz és mielőtt [20044] libc: unistd .h hiányzik pthread_atfork UNIX98 [20051] libc: ttyslot rossz fejlécben rossz körülmények között [20054] libc: gethostname nem deklarált az XPG4 [20055] libc: termios számára.h hiányzó parancsfájl az XPG4 számára [20072] dinamikus kapcsolat: az x86 init_cpu_features kétszer meg van nevezve statikusan végrehajtható [20073] libc: sys / stat.h fchmod namespace [20074] libc: stdlib.h rand_r névtér [20076] libc: sys / stat .h eltűnik S_IFSOCK, S_ISSOCK az XPG4-hez [20094] libc: stdlib.h nem deklarálhat támogatást, ptsname, unlockpt az XPG3 [20111] libc: struct számára sockaddr_storage nem lehet összesítve másolni [20112] hálózat: sunrpc: verem (keret) túlcsordulás a Sun RPC-ben clntudp_call (CVE-2016-4429) [20115] string: Extra igazítás a memset-vec-unaligned-erms.S [20119] libc: hibás maszk a processzorok szintjétől CPUID-től [20139] dinamikus kapcsolat: felső rész a zmm értékét nullázza, ha a Glibc az AS nem támogatja az ASX-t [20151] matematika: [ldbl-128 / ldbl-128ibm] j0l, j1l, y0l, y1l visszatérés sNaN az sNaN argumentumhoz [20153] math: [ldbl-128ibm] sqrtl (sNaN) visszaadja a sNaN [20156] matematikát: [ldbl-128ibm] ceill, rintl stb. return sNaN a sNaN argumentumhoz [20157] math: [powerpc] fabsl (sNaN) owerpc] ceil, rint stb.return sNaN a sNaN bemenethez [20178] libc: posix_spawn {p} nem szabad kilépni [20191] stdio: libio: vtables keményedés [20195] string: FMA4 észlelés CPUID-végrehajtást igényel regisztrálással eax = 0x80000001 [20198] libc: C + + 11 szál objektum. [20205] matematika: [i386 / x86_64] nextafterl helytelen negatív résznormák növelése [20212] math: acos (sNaN) visszatér sNaN [20213] math: asin (sNaN) visszatér sNaN [20214] hálózat: Linux header sync with linux / in6. h és ipv6.h ismét.[20218] math: [i386] asinhl (sNaN) visszaadja a sNaN [20219] matematikát: [i386] atanhl (sNaN) visszatér sNaN [20222] stdio: fopencookie: Mangle függvénymutatók [20224] visszatérés sNaN [20225] matematika: ldexp, scalbn, scalbln visszatérés sNaN sNaN bemenethez [20226] matematika: [i386 / x86_64] expl, exp10l, expm1l visszatérés sNaN sNaN bemenethez [20227] matematika: [i386 / x86_64] logl (sNaN (sNaN) visszaadja sNaN [20229] math: [i386 / x86_64] log1pl (sNaN) visszatér sNaN [20232] math: [ldbl-128] expm1l (sNaN) sNaN [20233] math: [ldbl-128ibm] expm1l (sNaN) visszatér sNaN [20234] math: [ldbl-128ibm] log1pl (sNaN) visszatér sNaN [20235] matematika: [i386 / x86_64] [20240] math: modf (sNaN) visszaadja sNaN [20248] libc: debug / tst-longjump_chk2 hívja printf parancsot a jelkezelőből [20250] math: frexp (sNaN ) visszaadja sNaN [20252] math: atan2 (sNaN, qNaN) nem emeli "érvénytelen" [20255] ma th: [i386] fdim, fdimf visszatérés túlzott tartomány és precíziós / kettős kerekítés [20256] matematika: [i386 / x86_64] fdiml visszatér sNaN az sNaN bemenethez [20260] string: ../sysdeps/x86/bits/string.

    h: 1092: 3: hiba: a tömbindex alatta van a tömbhatároknak [-Werror = array-bounds] [20262] nis: _nss_nis_initgroups_dyn mindig visszatér NSS_STATUS_NOTFOUND [20263] nptl: robusztus mutex holtpontok, / linux) [20277] libc: $ dp nem helyesen lett inicializálva a sysdeps / hppa / start.S [20284] malloc: malloc: Korrupt aréna elkerülése szükségtelen mmap visszaesést [20296] matematika: [i386 / x86_64] scalbl visszatér sNaN sNaN bemenet hiányzó "érvénytelen" kivételek [20314] nptl: make [4]: ​​*** [/usr/include/stdlib.h] 1. hiba [20316] localedata: id_ID: Február helyett Pebruari [20327] string: POWER8 strcasecmp hibás eredményt ad vissza [20347] math: Hiba: Teszt: j0_downward (0xap + 0) [20348] libc: FAIL: misc / tst-preadvwritev64 [20349] libc: A 64 bites érték eltérően halad a p {readv, writev} {64} [20350] libc: Nincs teszt p {olvasni, írni} 64 [20357] math: Hibás cos eredmény 1.5174239687223976 [20384] build: Ne futtasson libmvec-sincos-avx * teszteket nem avx m achines

Az újdonság a 2.23-as verzióban:

  • CVE-2015-7547: glibc getaddrinfo () verem alapú puffer túlcsordulás - Javítva a fejlesztési ágon a glibc 2.23 verzióhoz.

Az újdonság a 2.21-es verzióban:

  • A következő hibák megoldódnak a következő verziókkal: 6652, 10672, 12674, 12847, 12926, 13862, 14132, 14138, 14171, 14498, 15215, 15378, 15884, 16009, 16418, 16191, 16469, 16576, 16618, 16619, 16657, 16740, 16857, 17192, 17266, 17273, 17344, 17363, 17370, 17371, 17411, 17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571, 17574, 17 175, 17 175, 17 175, 175, 175, 17722, 17732, 17732, 17724, 17725, 17732, 17733, 17744, 17745, 17746, 17747, 17748, 17775, 17777, 17780, 17781, 17782, 17791, 17793, 17796, 17797, 17844, 17848, 17868, 17869, 17870, 17885, 17892.
  • CVE-2015-1472 Bizonyos körülmények között a wscanf túl kevés memóriát tud szétosztani a beolvasandó argumentumokra, és túláramolja a hozzárendelt puffert. A megvalósítás most helyesen számolja ki a szükséges puffer méretét a malloc használatakor.
  • Az összes gépen új generációs C-kódban új szemafor algoritmus került bevezetésre. A szemaforák korábbi egyedi assembly-implementációit nehéz volt megmagyarázni vagy biztosítani, hogy biztonságban legyenek. A semafor új verziója támogatja a 64 bites vagy 32 bites atomi műveletekkel rendelkező gépeket. Az új szemafor algoritmust sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait és sem_getvalue használják.
  • A Port of Altera Nios II-t a Mentor Graphics hozta létre.
  • Optimális strcpy, stpcpy, strncpy, stpncpy, strcmp és strncmp implementációk a powerpc64 / powerpc64le számára. Végrehajtotta Adhemerval Zanella (IBM).
  • Hozzáadta a pthread mutexek TSX-zárolásának támogatását a powerpc32, a powerpc64 és a powerpc64le segítségével. Ez javíthatja a meglévő programok zárolásának méretezését a HTM rendszereken. A lock elision kód csak akkor engedélyezett, ha: --enable-lock-elision = yes. Továbbá a TSX lock elision végrehajtása a powerpc számára minden tranzakcióhoz megszakítja a tranzakciót, hogy a mellékhatások ne legyenek láthatóak a tranzakciókon kívül.
  • Optimális strcpy, stpcpy, strchrnul és strrchr implementációk az AArch64-hez. Hozzájárult az ARM Kft.
  • i386 memcpy függvények optimalizálva az SSE2 nem igazított terheléssel / tárolóval
  • CVE-2104-7817 A wordexp függvény bizonyos bemeneti feltételek mellett figyelmen kívül hagyhatja a WRDE_NOCMD zászlót, ami egy parancsértelmező helyett egy shell parancs végrehajtását eredményezi, amikor az alkalmazás nem kérte. A megvalósítás most azonnal ellenőrzi a WRDE_NOCMD parancsot, mielőtt végrehajtja a shell-ot, és a várakozásnak megfelelően visszaadja a WRDE_CMDSUB hibát.
  • A CVE-2012-3406 printf-stílusú függvények nagyszámú formátum-specifikátor formátumú formátumok feldolgozásakor egy köteg túlcsordulást eredményezhetnek.
  • CVE-2014-9402 A getnetbyname nss_dns végrehajtása végtelen hurokba fusshat, ha a DNS-válasz egy váratlan formátumú PTR rekordot tartalmazott.
  • A GNU C könyvtár ezen verziójának elkészítéséhez használható minimális GCC verzió GCC 4.6. A régebbi GCC-verziók és a nem GNU-fordítók továbbra is használhatóak a GNU C-könyvtár használatával.
  • A GNU C könyvtár alapértelmezés szerint a -Werror. Ez letiltható a --disable-werror beállítással.
  • Új helyek: tu_IN, bh_IN, raj_IN, ce_RU.
  • Az elavult sigvec funkciót eltávolítottuk. Ez volt az eredeti 4.2BSD interfész, amely inspirálta a POSIX.1 sigaction interfészt, amelyet a programok már 25 éve használnak. Természetesen az ABI kompatibilitása a régi signa-bináris fájlokkal együtt marad.
  • Egyesített gettext 0.19.3 az intl alkönyvtárba. Ez a bürokról újabb verziókkal javítja az épületet.
  • Támogatás a MIPS o32 FPXX, FP64A és FP64 ABI kiterjesztésekhez. Az eredeti MIPS o32 kemény úszó ABI olyan FPU-t igényel, ahol a dupla pontosságú regiszterek két egymást követő egypontos regisztert fedeznek fel. A MIPS32R2 új FPU módot (FR = 1) vezetett be, ahol a dupla pontosságú regiszterek kiterjesztik a megfelelő egypontosságú regisztereket, amelyek nem kompatibilisek az o32 kemény úszó ABI-val. A MIPS SIMD ASE és a MIPSR6 architektúra egyaránt FR = 1 használatát igényli. Az új o32 ABI kiterjesztések lehetővé teszik a felhasználóknak az eredeti o32 ABI-ről a frissített o32 FP64 ABI-re történő áttérést. Ennek elérése érdekében a dinamikus linker most betölti az összes betöltött objektum ABI-jét, és ellenőrzi, hogy az új objektumok kompatibilisek-e. A mód átmenetek is igény szerint lesznek, és a nem támogatható objektumok elutasításra kerülnek. Az ABI-ellenőrzések tartalmazzák a puha és kemény úszó ABI-kat is az o32, n32 és n64 fájlokhoz.

Hozzászólások a GNU C Library

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!