Glibc 2.31 System Library Release

Human sa unom ka bulan sa kalamboan gipatik pagpagawas sa sistema sa librarya GNU C Library (glibc) 2.31, nga hingpit nga nagsunod sa mga kinahanglanon sa ISO C11 ug POSIX.1-2008 nga mga sumbanan. Ang bag-ong pagpagawas naglakip sa mga pag-ayo gikan sa 58 nga mga developer.

Gikan sa gipatuman sa Glibc 2.31 mga kalamboan mahimo nimong timan-an:

  • Gidugang ang _ISOC2X_SOURCE nga macro aron mahimo ang mga kapabilidad nga gihubit sa draft sa umaabot nga sumbanan sa ISO C2X. Kini nga mga bahin mahimo usab kung gamiton ang _GNU_SOURCE macro o kung magtukod sa gcc gamit ang bandila nga "-std=gnu2x";
  • Para sa mga gimbuhaton nga gihubit sa header file nga "math.h" nga naglibot sa ilang mga resulta ngadto sa mas gamay nga tipo, ang katugbang nga generic type nga macros gisugyot sa file nga "tgmath.h", sumala sa gikinahanglan sa mga detalye TS 18661-1:2014 ug TS 18661-3: 2015;
  • Gidugang ang pthread_clockjoin_np() function, nga naghulat sa thread nga makompleto, nga gikonsiderar ang timeout (kon ang timeout mahitabo sa dili pa makompleto, ang function mobalik og sayop). Dili sama pthread_timedjoin_np(), sa pthread_clockjoin_np() posible nga mahibal-an ang tipo sa timer alang sa pagkalkula sa timeout - CLOCK_MONOTONIC (nag-isip sa oras nga gigugol sa sistema sa mode sa pagkatulog) o CLOCK_REALTIME;
  • Gisuportahan na karon sa DNS resolver ang opsyon sa pagsalig-ad sa /etc/resolv.conf ug ang RES_TRUSTAD nga bandila sa _res.options, kung itakda, ang bandila sa DNSSEC ipadala sa mga hangyo sa DNS AD (authenticated data). Niini nga mode, ang AD nga bandila nga gitakda sa server mahimong magamit sa mga aplikasyon nga nagtawag sa mga gimbuhaton sama sa res_search(). Pinaagi sa default, kung ang gisugyot nga mga kapilian wala itakda, ang glibc wala magtino sa AD nga bandila sa mga hangyo ug awtomatiko nga gitangtang kini sa mga tubag, nga nagpakita nga ang mga pagsusi sa DNSSEC nawala;
  • Ang pagtukod sa working system call bindings para sa Glibc dili na kinahanglan nga i-install ang Linux kernel header files. Ang eksepsiyon mao ang 64-bit RISC-V nga arkitektura;
  • Giwagtang pagkahuyang CVE-2019-19126, nga nagtugot kanimo sa paglaktaw sa proteksyon
    ASLR sa mga programa nga adunay setuid nga bandila ug pagtino sa layout sa address sa gikarga nga mga librarya pinaagi sa pagmaniobra sa LD_PREFER_MAP_32BIT_EXEC environment variable.

Mga pagbag-o nga makaguba sa pagkaangay:

  • totalorder(), totalordermag(), ug susamang mga function para sa ubang floating-point type karon modawat ug pointers isip argumento aron mawagtang ang mga pasidaan bahin sa pag-convert sa mga value sa estado NaN, uyon sa mga rekomendasyon sa TS 18661-1 nga gisugyot alang sa umaabot nga sumbanan sa C2X.
    Ang kasamtangan nga mga executable nga direktang mopasa sa floating point nga mga argumento magpadayon sa pagdagan nga walay pagbag-o;

  • Ang dugay na nga wala gigamit nga stime function dili na magamit alang sa glibc-linked binaries, ug ang kahulugan niini gikuha gikan sa time.h. Aron itakda ang oras sa sistema, gamita ang function sa clock_settime. Sa umaabot, nagplano kami nga tangtangon ang wala na magamit nga ftime function, ingon man ang sys/timeb.h header file (gettimeofday o clock_gettime ang gamiton imbes nga ftime);
  • Ang gettimeofday function dili na mopasa sa impormasyon bahin sa system-wide time zone (kini nga feature may kalabutan sa mga adlaw sa 4.2-BSD ug wala na gamita sulod sa daghang katuigan). Ang argumento nga 'tzp' kinahanglan nga ipasa sa usa ka null pointer, ug ang localtime() function kinahanglan gamiton aron makakuha og impormasyon sa time zone base sa kasamtangang oras. Ang pagtawag sa gettimeofday nga adunay dili-zero nga 'tzp' nga argumento ibalik ang walay sulod nga tz_minuteswest ug tz_dsttime nga mga natad sa istruktura sa timezone. Ang gettimeofday function mismo wala gamita ubos sa POSIX (clock_gettime girekomenda imbes gettimeofday), apan walay plano nga tangtangon kini gikan sa glibc;
  • Ang settimeofday wala na nagsuporta sa dungan nga pagpasa sa mga parameter alang sa pagtakda sa oras ug sa pagkorihir sa oras nga offset. Kung nagtawag sa settimeofday, usa sa mga argumento (oras o offset) kinahanglan na nga itakda sa null, kung dili ang function call mapakyas sa usa ka EINVAL error. Sama sa gettimeofday, ang settimeofday function wala gamita sa POSIX ug girekomenda nga pulihan sa clock_settime function o ang adjtime nga pamilya sa mga gimbuhaton;
  • Ang suporta alang sa arkitektura sa SPARC ISA v7 gihunong na (ang suporta sa v8 gipabilin sa pagkakaron, apan alang lamang sa mga processor nga nagsuporta sa mga instruksiyon sa CAS, sama sa mga processor sa LEON, dili mga processor sa SuperSPARC).
  • Kung ang pagpares mapakyas sa "tapolan", diin ang linker wala mangita sa mga simbolo sa usa ka function hangtud sa unang tawag sa maong function, ang dlopen function karon nagpugos sa proseso sa pagtapos (kaniadto mibalik NULL sa kapakyasan);
  • Alang sa MIPS hard-float ABI, ang executable stack gigamit na karon, gawas kung ang pagtukod klaro nga nagpugong sa paggamit sa Linux kernel 4.8+ pinaagi sa "-enable-kernel=4.8.0" parameter (nga adunay mga kernels hangtod sa 4.8, ang mga crash naobserbahan alang sa pipila ka mga configuration sa MIPS);
  • Ang mga pagbugkos sa palibot sa mga tawag sa sistema nga may kalabutan sa pagmaniobra sa oras gibalhin aron magamit ang time64 system call, kung naa (sa 32-bit nga mga sistema, ang glibc una nga nagsulay sa bag-ong mga tawag sa sistema nga nagmaniobra sa 64-bit nga tipo sa oras, ug kung wala, nahulog balik sa mga daan nga 32-bit nga tawag).

Source: opennet.ru

Idugang sa usa ka comment