GNU C Library

Screenshot Software:
GNU C Library
Mga detalye ng Software:
Bersyon: 2.28 Na-update
I-upload ang petsa: 16 Aug 18
Nag-develop: Roland McGrath
Lisensya: Libre
Katanyagan: 16

Rating: 3.0/5 (Total Votes: 2)

Ang GNU C Library ay isang open source, libre at makapangyarihang software ng library para sa anumang pamamahagi ng GNU / Linux. Ito ay kilala rin bilang Glibc at kinakailangan ng anumang UNIX-tulad ng computer operating system. Ang GNU C Library ay nangangasiwa sa pagtukoy sa mga tawag sa system, pati na rin ang iba't ibang iba pang pangunahing pag-andar, tulad ng malloc, bukas, exit, printf, atbp.


Ginamit sa pamamagitan ng default sa lahat ng Linux kernel-based operating system

Ang GNU C Library ay na-install at ginagamit bilang default sa lahat ng Linux operating system na nakabatay sa kernel, na idinisenyo mula sa lupa hanggang kumilos bilang pangunahing library ng C sa mga sistema ng GNU at anumang iba pang operating system na pinapagana ng kernel ng Linux.


Dinisenyo upang maging portable

Glibc ay isang mataas na pagganap C library, na nakasulat sa kabuuan sa C programming language. Ito ay dinisenyo upang maging portable, internationalized, at ininhinyero upang suportahan ang lahat ng may-katuturang mga pamantayan, kabilang ang POSIX.1-2008 at ISO C11.


Sinusuportahan ang mga tampok ng mahusay na mga pagkakaiba-iba ng UNIX

Habang ang GNU C Library ay may ganap na internasyonal na interface, sinusubukan nito na suportahan ang mga tampok ng mga kilalang variant ng UNIX, tulad ng BSD at System V, salamat sa mga built-in na mga mode ng pagkakatugma.

Nagsimula sa GNU C Library

Habang naka-install ang GNU C Library sa pamamagitan ng default sa halos lahat ng mga operating system ng GNU / Linux, maaari mo ring i-install muli ang iyong sarili gamit ang source package na ipinamamahagi sa website nito o Softoware nang walang bayad. Upang magsimula, i-download at i-save ang archive sa direktoryo ng iyong Home.

I-unpack ang archive gamit ang utility ng archive manager, buksan ang isang terminal window, pumunta sa lokasyon kung saan nakuha ang mga file ng archive, patakbuhin ang & lsquo; ./ configure & rsquo; command na i-configure ang programa (tingnan ang & lsquo; ./ configure --help & rsquo; para sa iba't ibang mga pagpipilian sa pag-optimize).

Pagkatapos patakbuhin ang & lsquo; gumawa & rsquo; utos upang itala ang library, na maaaring i-install ang sistema ng malawak sa pamamagitan ng pagpapatakbo ng alinman sa & lsquo; gumawa ng pag-install & rsquo; o & lsquo; sudo gumawa i-install & rsquo; command, depende kung ang iyong ugat o isang privileged user.

Ano ang bago sa paglabas na ito:

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

Ano ang bago sa bersyon 2.27:

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

Ano ang bagong sa bersyon:

  • Ang pinakamaliit na bersyon ng kernel ng Linux na magagamit sa bersyon na ito ng GNU C Library ay 3.2, maliban sa i [4567] 86 at x86_64, kung saan ang bersyon ng kernel ng Linux 2.6.32 o mas bago ay sapat na (sa mga architecture na kinakailangang kernel mga bersyon na mas kamakailang kaysa sa 3.2, ang mga kinakailangan na mananatiling hindi nagbabago). Ang Linux 3.2 o mas bago ang mga header ng kernel ay kinakailangan sa lahat ng mga architecture.
  • Ang pap_AN locale ay tinanggal na. Ito ay hindi na ginagamit sa loob ng mahabang panahon. Pinalitan ito ng pap_AW & amp; pap_CW, na parehong naipakita sa nakaraang mga release.
  • Ang readdir_r at readdir64_r function ay hindi na ginagamit. Inirerekomenda na gamitin ang readdir at readdir64 sa halip.
  • Ang uri ng "paghihintay ng unyon" ay inalis. Ito ay hindi na ginagamit sa unang bahagi ng 1990s at hindi kailanman bahagi ng POSIX. Dapat gamitin ng application code ang uri ng int kaysa sa "paghihintay ng unyon".
  • Ang isang bagong aksyon ng NSS ay idinagdag upang mapadali ang malaking ipinamamahagi na pangangasiwa ng sistema. Ang aksyon, MERGE, ay nagbibigay-daan sa mga remote na tindahan ng gumagamit tulad ng LDAP upang maisama sa mga lokal na tindahan ng gumagamit tulad ng / etc / group upang makapagbigay ng madaling gamitin, na-update, at pinamamahalaang mga hanay ng mga pinagsamang kredensyal. Ang bagong aksyon ay maaaring gamitin sa pamamagitan ng pag-configure nito sa /etc/nsswitch.conf: group: files [SUCCESS = merge] nis Ipinatupad ni Stephen Gallagher (Red Hat).
  • Ang hindi na ginagamit na __malloc_initialize_hook na variable ay inalis mula sa API.
  • Inalis ang mahabang hindi nagamit na localedef -old-style na opsyon. Wala itong ginagawa sa mahigit na 16 na taon. Maaaring ligtas na i-drop ito ng mga script gamit ang pagpipiliang ito.
  • nextupl, nextup, nextupf, nextdownl, nextdown at nextdownf ay idinagdag sa libm. Ang mga ito ay tinukoy ng TS 18661 at IEEE754-2008. Ang mga pag-andar sa susunod ay ibabalik ang kasunod na halaga na nakikita sa direksyon ng positibong kawalang-hanggan at ang mga pag-andar sa susunod ay ibabalik ang kasunod na kahalagahang halaga sa direksyon ng negatibong kawalang-hanggan. Ang mga ito ay kasalukuyang pinagana bilang mga extension ng GNU.
  • Mga kaugnay na nauugnay na seguridad:
  • Inalis ang isang hindi kailangang stack na kopya sa _nss_dns_getnetbyname_r. Ito ay maaaring magresulta sa isang overflow stack kapag getnetbyname ay tinatawag na may labis na mahabang pangalan. (CVE-2016-3075)
  • Noong nakaraan, kinopya ng getaddrinfo ang malaking bilang ng data ng address sa stack, kahit na naipapatupad na ang pag-aayos para sa CVE-2013-4458, potensyal na nagreresulta sa overflow ng stack. Sa halip, ang getaddrinfo ay gumagamit ng isang allocation ng magbunton. Iniulat ni Michael Petlan. (CVE-2016-3706)
  • Ang globo function na pinagdudusahan mula sa isang overflow na nakabatay sa stack na tinatawag na ang GLOB_ALTDIRFUNC flag at nakatagpo ng isang mahabang pangalan ng file. Iniulat ni Alexander Cherepanov. (CVE-2016-1234)
  • Maaaring maubos ng kliyente ng Sun RPC UDP ang lahat ng magagamit na puwang ng stack kapag nalubog sa mga ginawa ng mga mensahe ng ICMP at UDP. Iniulat ng Aldy Hernandez 'alloca plugin para sa GCC. (CVE-2016-4429)
  • Ang IPv6 name server management code sa libresolv ay maaaring magresulta sa isang pagtagas ng memorya para sa bawat thread na nilikha, gumaganap ng isang hindi pagtupad na paghanap ng pangalan, at mga labasan. Sa paglipas ng panahon, maaaring magresulta ito sa isang pagtanggi ng serbisyo dahil sa pagkapagod ng memorya. Iniulat ni Matthias Schiffer. (CVE-2016-5417)
  • Nalutas ang mga sumusunod na bug sa paglabas na ito:
  • [1170] localedata: ne_NP: i-update ang Nepali locale file ng kahulugan [3629] manu-manong: stpcpy paglalarawan sa string.texi ay tumutukoy sa MS-DOG sa halip ng MS-DOS. [6527] malloc: [powerpc] Malloc alignment hindi sapat para sa PowerPC [6796] matematika: fdim () ay hindi nagtatakda ng errno sa overflow [10354] libc: idagdag ang karapatang-kopya ng copyright sa mga lokal na file [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: data [13304] matematika: fma, fmaf, fmal gumawa ng mga maling resulta [14259] bumuo: --localedir arg upang i-configure ay hindi pinansin [14499] nptl: Ba posix_spawn invoke mga handler / paggamit vfork? [14750] libc: Kondisyon ng lahi sa posix_spawn paggamit ng vfork vs humahawak ng signal [14934] localedata: es_CL: maling unang araw ng linggo chilean locale [15262] localedata: LC_MESSAGES.yesexpr / noexpr: hindi pantay na paggamit ng romanisation [15263] localedata: LC_MESSAGES.yesexpr / noexpr: hindi pantay na paggamit ng 1/0 at +/- [15264] localedata: LC_MESSAGES.[15368] nptl: taasan () ay hindi async-signal-safe [15479] matematika: ceil, sahig, round at trunc taasan ang hindi eksakto na eksepsiyon [15578] localedata: kk_KZ: localedata: pap_AN: punt old locale [16137] localedata: iw_IL: punt old locale [16190] localedata: eo: new esperanto locale [16374] localedata: lv_LV: change currency symbol in LC_MONETARY to euro [16742] malloc: condition race: pthread_atfork () na tinatawag bago ang unang malloc () ay nagreresulta sa hindi inaasahang locking behavior / deadlocks [16975] localedata: LC_MESSAGES.yesexpr / noexpr: revisit capitalization sa lahat ng mga locale [16983] localedata: postal_fmt hindi pinapayagan ang% l at% n modifier [17565] localedata : pt_PT: mali (work-) week start [17899] math: [powerpc] floorl returns negative zero sa FE_DOWNWARD [17950] build: Build fails with -msse [18205] localedata: be_BY *: wrong first_weekday and first_workday [18433] : posix_spawn ay hindi bumalik nang tama sa kabiguang maisagawa ang [18453] localedata: charms / IBM875: incorrect codes [18712] string: bits / string2.h hindi kaayon sa -O2 -Werror = nakaimpake -Wsystem-header [18896] localedata: he_IL: mga pagpapabuti para sa pera [18911] localedata: ro_RO: Correcting name para sa araw ng linggo para sa "Martes" sa data ng lokal na Romanian [18960] locale: s390: _nl_locale_subfreeres gumagamit ng larl opcode sa misaligned na simbolo [19056] libc: Deprecate readdir_r [19133] localedata: pt_ *: araw & amp; mga buwan ay dapat na maliliit sa wikang Portuges [19198] localedata: nl_NL: maliit na mga pagpapabuti para sa mga lokal na Dutch na network [19257]: Per-thread memory leak sa __res_vinit na may IPv6 nameservers (CVE-2016-5417) [19269] build: tst-audit4 walang-audit10 na mga pagkabigo sa gcc-6 sa hindi avx machine [19400] locale: Wika na nawawala sa "iso-639.def", walang bayad na pagkukumpuni sa paglalarawan [19431] malloc: Deadlock sa pagitan ng fflush, getdelim, at tinidor [19505] Hindi wasto ang ulat ng mga error sa pamamagitan ng dlerror kapag gumagamit ng RTLD_NEXT [19512] locale: Stale `#ifndef HAVE_BUILTIN_EXPECT 'sa` intl / {gettextP , loadinfo}.Ang mga lokal na Swiss ay may hindi pantay na simula ng linggo [19573] na network: res_nclose at __res_maybe_init hindi sumasang-ayon tungkol sa pagpasok ng pangalan ng server, paglabag sa Hesiod [19575] localedata: Katayuan ng GB18030 tables [19581] localedata: sr_ * date_fmt string ay naglalaman ng karagdagang newline [19583] string: SSSE3_Fast_Copy_Backward flag ay kailangang ma-enable para sa pangunahing AMD Excavator [19592] math: [ldbl-128ibm] incill mali sa mga hindi default na rounding mode [19593 ] math: [ldbl-128ibm] mali sa truncl sa mga default na rounding mode [19594] matematika: [ldbl-128ibm] roundl hindi tama sa mga default na rounding mode [19595] math: [ldbl-128ibm] fmodl hindi tama para sa mga resulta sa subnormal double 19602] math: [ldbl-128ibm] fmodl handling ng pantay na argumento na may mababang bahagi zero hindi tama [19603] matematika: [ldbl-128ibm] remainderl, remquol maling pag-sign handling sa mga pagsusulit ng pagkakapantay-pantay [19610] dynamic-link: ldconfig - X nagtanggal ng mga lipas na symbolic links [19613] libc: s390x (64 bit) na pagpapalawak ng macro WCOREDUMP at iba pa [19633] locale: ang strfmon_l ay gumagamit ng pandaigdigang lokal sa pag-format ng numero [19642] network: Pagtagas ng memory sa getnameinfo [19648] libc: test-skeleton.c: Hindi nakatakda RLIMIT_DATA [19653] libc: Potensyal para sa NULL pointer dereference (CWE-476) sa glibc-2.22 [19654] math: [x86_64] Kailangan testcase para sa BZ # 19590 fix [19671] localedata: Missing Sanity Check for malloc () sa 'tst-fmon.c' & amp; 'tst-numeric.c' [19674] math: [ldbl-128ibm] powl hindi tamang paghawak ng pag-overflow [19677] math: [ldbl-128ibm] na hindi tama ang pagsusulit sa pagkakapantay-pantay para sa zero mababang bahagi [19678] math: [ldbl-128ibm] nextafterl , pagkakasunod-sunod ng hindi tamang pag-sign ng zero na resulta [19679] dynamic-link: gcc-4.9.3 C ++ exception handling broken dahil sa unaligned stack [19726] locale: Converting UCS4LE to INTERNAL with iconv () . [19727] locale: Ang pag-convert mula sa / sa UTF-xx sa iconv () ay hindi laging nag-uulat ng mga error sa mga halaga ng mga surrogate ng UTF-16.[19755] nscd: nscd assertion failure sa gc [19758] dynamic-link: Typo sa EXTRA_LD_ENVVARS for x86-64 [19759] libc: hindi dapat inline ang mempcpy [19762] dynamic-link: HAS_CPU_FEATURE / HAS_ARCH_FEATURE ay madaling maling paggamit [ 19765] libc: s390 ay nangangailangan ng isang optimized na mempcpy glob: glob: buffer overflow na may GLOB_ALTDIRFUNC dahil sa hindi tamang limitasyon ng NAME_MAX (CVE-2016-1234) [19783] build: hindi sinusuportahan ng benchtests --enable-hardcoded-path -in-pagsusulit [19787] network: Nawawala at hindi tamang mga tseke ng pag-cut sa getnameinfo [19790] math: [ldbl-128ibm] kalapitan sa hindi tama sa mga default na mode ng rounding [19791] network: Assertion failure sa res_query.c server address [19792] libc: MIPS: backtrace ay magbubunga ng walang katapusan na backtrace sa makecontext [19822] matematika: libm.kaya i-install ang clobbers lumang bersyon [19825] network: resolv: send_vc maaaring bumalik uninitialized data sa ikalawang tugon sa getaddrinfo [19830] network: nss_dns: dapat suriin RDATA haba laban sa buffer haba [19831] network: nss_dns: getaddrinfo ay nagbabalik uninitialized data kapag kinaharap A / AAAA record ng hindi wastong sukat [19837] nss: nss_db: Walang retries para sa ilang mahabang linya na may mas malaking buffer [19848] math: powl (10, n) para sa n = -4, -5, -6, -7 ay off sa pamamagitan ng higit sa 1 ULP [19853] stdio: Pagpi-print ng IBM mahaba double sa decimal na may mataas na katumpakan ay minsan hindi tama [19860] bumuo: x86_64: sumulat ng libro error para sa tst-audit10 at tst-auditmod10b [19861] nptl: libpthread IFUNC resolver for fork Maaaring humantong sa pag-crash [19862] network: resolv, nss_dns: Alisin ang natitirang pag-log ng mga hindi inaasahang mga uri ng record [19865] network: Assertion failure o memory leak sa _nss_dns_getcanonname_r [19868] network: nss_dns: netent code ay hindi laktawan sa mga di- 19879] network: nss_dns: Stack overflow sa getnetbyname implementa : 19980] string: Hindi tamang memcpy tests [19916] dynamic-link: S390: fprs / vrs ay hindi nai-save / ibalik habang nilulutas ang mga simbolo [19925] libc : termios.h XCASE namespace [19928] string: memmove-vec-unaligned-erms.S mabagal na may malaking sukat ng data [19929] libc: limitations.h NL_NMAX namespace [19931] stdio: Memory leak sa vfprintf [19957] libc: clone (CLONE_VM) access invalid na memory ng magulang [19963] localedata: en_IL: New locale [19989 ] stdio: stdio.h cuserid namespace [1999] network: getaddrinfo ay hindi ibalik RES_USE_INET6 bandila sa gethosts [19996] locale: langinfo.h nl_langinfo_l namespace [20005] stdio: fflush sa isang file na binuksan sa fmemopen Nire-reset na posisyon sa 0 [20010] network: getaddrinfo: Stack overflow sa hostent translation (CVE-2016-3706) [20012] stdio: libio: fmemopen append mode failure [20014] stdio: stdio.h namespace para sa pre-threads POSIX [20017] network: resolv: Use gmtime_r sa halip na gmtime sa p_secstodate [20023] libc: fcntl.h namespace [20024] math: [x86_64] vectorized sincos trashes ang stack [20031] network: nss_hesiod: Heap overflow sa get_txt_records [20041] time: sys / time.h timespec namespace [20043] libc: unistd.h nawawalang cuserid para sa UNIX98 at bago [20044] libc: unistd .h nawawala pthread_atfork para sa UNIX98 [20051] libc: ttyslot sa maling header sa ilalim ng maling kondisyon [20054] libc: gethostname hindi ipinahayag para sa XPG4 [20055] libc: termios.h nawalang tcgetsid para sa XPG4 [20072] dynamic-link: x86 init_cpu_features ay tinatawag na dalawang beses sa static executable [20073] libc: sys / stat.h fchmod namespace [20074] libc: stdlib.h rand_r namespace [20076] libc: sys / stat .h nawawala S_IFSOCK, S_ISSOCK for XPG4 [20094] libc: stdlib.h hindi dapat magpahayag ng grantpt, ptsname, unlockpt para sa XPG3 [20111] libc: struct sockaddr_storage ay hindi maaaring maging pinagsama-kopyahin [20112] network: sunrpc: stack (frame) sa Sun RPC clntudp_call (CVE-2016-4429) [20115] string: Extra alignment sa memset-vec-unaligned-erms.S [20119] libc: Maling mask para sa mga uri ng antas ng processor mula sa CPUID [20139] dynamic-link: ng zmm ay zeroed kung Glibc ay binuo sa AS hindi sumusuporta sa AVX512 [20151] matematika: [ldbl-128 / ldbl-128ibm] j0l, j1l, y0l, y1l bumalik sNaN para sNaN argument [20153] math: [ldbl-128ibm] sqrtl (sNaN) ay nagbabalik sNaN [20156] math: [ldbl-128ibm] ceill, rintl atbp bumalik sNaN para sa sNaN argument [20157] math: [powerpc] fabsl (sNaN) owerpc] ceil, rint atbp.bumalik sNaN para sa sNaN input [20178] libc: posix_spawn {p} ay hindi dapat tumawag sa exit [20191] stdio: libio: vtables hardening [20195] string: FMA4 detection nangangailangan ng CPUID execution sa rehistro eax = 0x80000001 [20198] libc: quick_exit incorrectly destroys C ++ 11 thread na mga bagay. [20205] matematika: [i386 / x86_64] nextafterl hindi tamang paglala ng negatibong mga subnormal [20212] math: acos (sNaN) ay bumalik sNaN [20213] math: asin (sNaN) h at ipv6.h muli.[20218] math: [i386] asinhl (sNaN) ay bumalik sNaN [20219] math: [i386] atanhl (sNaN) nagbalik sNaN [20222] stdio: fopencookie: bumalik sNaN [20225] math: ldexp, scalbn, scalbln return sNaN para sa sNaN input [20226] math: [i386 / x86_64] expl, exp10l, expm1l return sNaN for sNaN input [20227] math: [i386 / x86_64] logl (sNaN ) returns sNaN [20228] math: [i386 / x86_64] log10l (sNaN) ay bumalik sNaN [20229] math: [i386 / x86_64] log1pl (sNaN) nagbalik sNaN [20232] math: [ldbl-128] expm1l (sNaN) sNaN [20233] math: [i386 / x86_64] log2l (sNaN) nagbalik sNaN [20234] math: [ldbl-128ibm] log1pl (sNaN) 20237] nss: nss_db: get * ent segfaults na walang naunang set * ent [20240] math: modf (sNaN) ay bumalik sNaN [20248] libc: debug / tst- longjump_chk2 mga call printf mula sa signal handler [20250] math: frexp (sNaN ) nagbabalik sNaN [20252] matematika: atan2 (sNaN, qNaN) ay hindi nakakapagtaas ng "di-wasto" [20255] ma ika: [i386] fdim, fdimf return na may labis na hanay at katumpakan / double rounding [20256] matematika: [i386 / x86_64] fdiml nagbalik sNaN para sa sNaN input [20260] string: ../sysdeps/x86/bits/string.

    h: 1092: 3: error: array subscript ay nasa ibaba array hangganan [-Werror = array-hangganan] [20262] nis: _nss_nis_initgroups_dyn laging nagbalik NSS_STATUS_NOTFOUND [20263] nptl: robust mutex deadlocks kung iba pang mga thread ay humihiling ng timedlock / linux) [20277] libc: $ dp ay hindi nasimulan nang tama sa sysdeps / hppa / start.S [20284] malloc: malloc: Pag-iwas sa masama arena nagiging sanhi ng hindi kinakailangang pagbagsak ng mmap [20296] math: [i386 / x86_64] scalbl nagbalik sNaN para sa sNaN input, nawawala ang mga "hindi wastong" mga pagbubukod [20314] nptl: gumawa: [[/usr/include/stdlib.h] Error 1 [20316] localedata: id_ID: Pebrero sa halip ng Pebrero [20327] string: POWER8 ang strcasecmp ay nagbabalik ng maling resulta [20347] math: Kabiguang: Test: j0_downward (0xap + 0) [20348] libc: Nabigo: misc / tst-preadvwritev64 [20349] libc: {64} [20350] libc: Walang pagsusulit para sa p {read, write} 64 [20357] matematika: Hindi tama ang resulta ng cos para sa 1.5174239687223976 [20384] build: Huwag magpatakbo ng mga pagsusulit libmvec-sincos-avx * sa non avx m achines

Ano ang bago sa bersyon 2.23:

  • CVE-2015-7547: glibc getaddrinfo () stack-based buffer overflow - Nakapirming sa branch ng pag-unlad para sa glibc 2.23 release.

Ano ang bago sa bersyon 2.21:

  • Nalutas ang mga sumusunod na bug sa paglabas na ito: 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, 17663, 17583, 17584, 17604, 17604, 17601, 17601, 17601, 17601, 17601, 17601, 17601, 17601, 17601, 17601, 17601, 17601, 17719, 17722, 17723, 17724, 17725, 17732, 17733, 17744, 17745, 17746, 17747, 17748, 17775, 17777, 17780, 17781, 17782, 17791, 17793, 17796, 17801, 17801, 17803, 17806, 17834, 17844, 17848, 17868, 17869, 17870, 17885, 17892.
  • CVE-2015-1472 Sa ilalim ng ilang mga kundisyon wscanf maaaring maglaan ng masyadong maliit na memorya para sa mga na-scan na mga argumento at overflow ang inilaan buffer. Ang pagpapatupad na ngayon ay tama ang computes ang kinakailangang laki ng buffer kapag gumagamit ng malloc.
  • Isang bagong semaphore algorithm ang ipinatupad sa pangkaraniwang code ng C para sa lahat ng mga makina. Ang mga nakaraang pasadyang pagpapatupad ng pagpupulong ng semaporo ay mahirap na mangatwiran o matiyak na sila ay ligtas. Ang bagong bersyon ng semaporo ay sumusuporta sa mga machine na may 64-bit o 32-bit na mga pagpapatakbo ng atomic. Ang bagong semaphore algorithm ay ginagamit ng sem_init, sem_open, sem_post, sem_wait, sem_timedwait, sem_trywait, at sem_getvalue.
  • Ang Port sa Altera Nios II ay iniambag ng Mentor Graphics.
  • Na-optimize na strcpy, stpcpy, strncpy, stpncpy, strcmp, at strncmp na pagpapatupad para sa powerpc64 / powerpc64le. Ipinatupad ng Adhemerval Zanella (IBM).
  • Nagdagdag ng suporta para sa TSX lock elision ng pthread mutexes sa powerpc32, powerpc64 at powerpc64le. Maaari itong mapabuti ang lock scaling ng mga umiiral na programa sa mga sistema ng kakayahan ng HTM. Ang lock ng elision code ay pinapagana lamang sa --enable-lock-elision = oo. Gayundin, ang pagpapatupad ng elisyon ng lock ng TSX para sa powerpc ay magbibigay ng transaksyon na i-abort sa bawat syscall upang maiwasan ang mga epekto na nakikita sa labas ng mga transaksyon.
  • Na-optimize na strcpy, stpcpy, strchrnul at strrchr na pagpapatupad para sa AArch64. Iniambag ng ARM Ltd.
  • Mga pag-andar ng i386 memcpy na-optimize sa SSE2 na hindi naka-embed na load / store.
  • CVE-2104-7817 Ang pag-andar ng wordexp ay maaaring balewalain ang bandila ng WRDE_NOCMD sa ilalim ng ilang mga kondisyon ng pag-input na nagreresulta sa pagpapatupad ng isang shell para sa pagpapalit ng utos kapag hindi hiniling ito ng aplikante. Sinisiyasat ngayon ng pagpapatupad ang WRDE_NOCMD bago isagawa ang shell at ibabalik ang error na WRDE_CMDSUB tulad ng inaasahan.
  • CVE-2012-3406 printf-style function ay maaaring tumakbo sa isang stack overflow kapag ang pagpoproseso ng mga string ng format na may malaking bilang ng mga specifiers ng format.
  • CVE-2014-9402 Ang pagpapatupad ng nss_dns ng getnetbyname ay maaaring tumakbo sa isang walang-katapusang loop kung ang tugon ng DNS ay naglalaman ng PTR record ng isang hindi inaasahang format.
  • Ang minimum na bersyon ng GCC na maaaring magamit upang maitayo ang bersyon na ito ng GNU C Library ay GCC 4.6. Ang mga lumang bersyon ng GCC, at mga non-GNU compiler, ay maaari pa ring magamit upang mag-compile ng mga programa gamit ang GNU C Library.
  • Ang Library ng GNU C ay binuo na ngayon gamit ang -Werror bilang default. Ito ay maaaring hindi paganahin sa pag-configure gamit ang - hindi maiiwasan-werror.
  • Bagong lokal: tu_IN, bh_IN, raj_IN, ce_RU.
  • Ang lipas na sigvec function ay inalis. Ito ang orihinal na 4.2BSD interface na nagbigay inspirasyon sa POSIX.1 sigaction interface, na kung saan ang mga programa ay gumagamit ng sa halip para sa mga 25 taon. Siyempre pa, ang ABI compatibility para sa mga lumang binary na gumagamit ng sigvec ay nananatiling buo.
  • Merged gettext 0.19.3 sa intl subdirectory. Iniayos ng gusali na may mas bagong bersyon ng bison.
  • Suporta para sa MIPS o32 FPXX, FP64A at FP64 ABI Extension. Ang orihinal na MIPS o32 hard-float ABI ay nangangailangan ng isang FPU kung saan ang mga double-precision registers ay nagbubuklod ng magkakasunod na magkakasunod na registers ng single-precision. Ipinakilala ng MIPS32R2 ang isang bagong mode ng FPU (FR = 1) kung saan ang mga double-precision registers ay nagpapatuloy sa mga nararapat na registers ng solong katumpakan na hindi kaayon sa o32 hard-float ABI. Ang MIPS SIMD ASE at ang arkitekturang MIPSR6 ay nangangailangan ng paggamit ng FR = 1 na kinakailangan ang paglipat. Pinapayagan ng bagong mga extension ng o32 ABI ang mga user na lumipat sa paglipas ng panahon mula sa orihinal na o32 ABI hanggang sa na-update na o32 FP64 ABI. Upang makamit ito ang dynamic na linker ngayon sumusubaybay sa ABI ng anumang bagay na na-load at nakumpirma na ang mga bagong bagay ay magkatugma. Ang mga transition mode ay hihilingin rin bilang kinakailangan at hindi sinusuportahang mga bagay ay tatanggihan. Kasama sa mga tseke ng ABI ang parehong malambot at matigas na float ABIs para sa o32, n32 at n64.

Mga komento sa GNU C Library

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!