Kutulutsidwa kwa Library ya Glibc 2.36 System

Pambuyo pa miyezi isanu ndi umodzi ya chitukuko, laibulale ya GNU C Library (glibc) 2.36 system yatulutsidwa, yomwe ikugwirizana kwathunthu ndi zofunikira za ISO C11 ndi POSIX.1-2017. Kutulutsidwa kwatsopano kumaphatikizapo zosintha kuchokera kwa opanga 59.

Zina mwazosintha zomwe zakhazikitsidwa mu Glibc 2.36 ndi monga:

  • Thandizo lowonjezera la mawonekedwe atsopano a DT_RELR (relative relocation) osamutsidwa, omwe amakulolani kuti muchepetse kukula kwa kusamuka kwachibale muzinthu zomwe zimagawidwa ndi mafayilo omwe amatha kulumikizidwa mu PIE (Position-independent executables). Kugwiritsa ntchito gawo la DT_RELR m'mafayilo a ELF kumafunikira kuthandizira njira ya "-z pack-relative-relocs" mu linker, yomwe idayambitsidwa pakutulutsidwa kwa binutils 2.38.
  • Pa nsanja ya Linux, ntchito pidfd_open, pidfd_getfd ndi pidfd_send_signal zimayendetsedwa, kupereka mwayi wogwiritsa ntchito pidfd zomwe zimathandiza kuthana ndi zochitika zogwiritsanso ntchito PID kuti zizindikire molondola njira zopezera mafayilo owunikira (pidfd imalumikizidwa ndi njira inayake ndipo sikusintha, pomwe PID imatha. kumangirizidwa ku njira ina pambuyo poti ndondomeko yomwe ikukhudzana ndi PIDyo itatha).
  • Pa nsanja ya Linux, ntchito ya process_madvise() yawonjezedwa kuti ilole njira imodzi kuti ipereke madvise() kuyitana kwadongosolo m'malo mwa njira ina, kuzindikira njira yomwe mukufuna kugwiritsa ntchito pidfd. Kupyolera mu madvise (), mutha kudziwitsa kernel za mawonekedwe ogwirira ntchito ndi kukumbukira kukhathamiritsa kasamalidwe ka kukumbukira; mwachitsanzo, kutengera zomwe zafalitsidwa, kernel imatha kuyambitsa kutulutsidwa kwa kukumbukira kowonjezera kwaulere. Kuitana kwa madvise () ndi njira ina kungafunikire panthawi yomwe chidziwitso chofunikira pakukhathamiritsa sichidziwika ndi zomwe zikuchitika, koma zimagwirizanitsidwa ndi njira yosiyana yoyang'anira kumbuyo, yomwe ingathe kuyambitsa kuchotsa kukumbukira kosagwiritsidwa ntchito pazochitika.
  • Kwa nsanja ya Linux, ntchito ya process_mrelease() yawonjezedwa, yomwe imakulolani kuti mufulumizitse kumasulidwa kwa kukumbukira kwa ndondomeko yomaliza kuphedwa kwake. Nthawi zambiri, kutulutsidwa kwazinthu ndi kuyimitsa ntchito sikuchitika nthawi yomweyo ndipo kumatha kuchedwetsedwa pazifukwa zosiyanasiyana, kusokoneza kukumbukira kwamalo ogwiritsira ntchito njira zoyankhira zoyambira monga ooomd (zoperekedwa ndi systemd). Poyimba process_mrelease, makina oterowo amatha kupangitsa kuti kukumbukira kuyambikenso kumachitidwe okakamizidwa.
  • Thandizo la "ayi-aaaa" njira yawonjezedwa pakukhazikitsidwa kwa DNS resolutionr, yomwe imakupatsani mwayi kuti muyimitse kutumiza kwa mafunso a DNS pamarekodi a AAAA (kuzindikira adilesi ya IPv6 ndi dzina la wolandila), kuphatikiza pochita NSS. amagwira ntchito ngati getaddrininfo (), kuti muchepetse zovuta. Izi sizikhudza kukonza kwa ma adilesi a IPv6 omwe amafotokozedwa mu /etc/hosts ndi kuyimbira ku getaddrninfo() ndi mbendera ya AI_PASSIVE.
  • Pa nsanja ya Linux, ntchito za fsopen, fsmount, move_mount, fsconfig, fspick, open_tree ndi mount_setattr zawonjezedwa, zomwe zikupereka mwayi wa kernel API yoyang'anira kukwera kwamafayilo kutengera malo okwera. Ntchito zomwe zaperekedwa zimakupatsani mwayi wokonza padera magawo osiyanasiyana oyika (konzani superblock, pezani zambiri zamafayilo, kukwera, kulumikiza paphiri), zomwe zidachitika kale pogwiritsa ntchito wamba mount() ntchito. Ntchito zosiyana zimapereka kuthekera kochita zochitika zovuta kwambiri zokwera ndikuchita padera ntchito monga kukonzanso superblock, kulola zosankha, kusintha malo okwera, ndikusunthira kumalo ena a mayina. Kuphatikiza apo, kukonza kosiyana kumakupatsani mwayi wodziwa bwino zifukwa zomwe zimatulutsira manambala olakwika ndikuyika magwero angapo amitundu yamafayilo ambiri, monga ma overlayfs.
  • localedef imapereka chithandizo pakukonza mafayilo otanthauzira malo omwe amaperekedwa mu encoding ya UTF-8 m'malo mwa ASCII.
  • Ntchito zowonjezera zosinthira ma encodings a ma-byte angapo mbrtoc8 ndi c8rtomb kukhala ISO C2X N2653 ndi C++20 P0482R6.
  • Thandizo lowonjezera la mtundu wa char8_t wofotokozedwa muyeso wa ISO C2X N2653.
  • Zowonjezeredwa za arc4random, arc4random_buf ndi arc4random_uniform, zomwe zimapereka zolembera pa foni ya getrandom system ndi /dev/urandom mawonekedwe omwe amabwezera manambala apamwamba a pseudorandom.
  • Mukathamanga pa nsanja ya Linux, imathandizira zomanga za LoongArch zomwe zimagwiritsidwa ntchito mu purosesa za Loongson 3 5000 ndikugwiritsa ntchito RISC ISA yatsopano, yofanana ndi MIPS ndi RISC-V. Mu mawonekedwe ake apano, chithandizo chokha cha 64-bit mtundu wa LoongArch (LA64) chilipo. Kuti mugwire ntchito, mufunika mitundu ingapo ya ma binutils 2.38, GCC 12 ndi Linux kernel 5.19.
  • Njira yolumikizirana, komanso LD_TRACE_PRELINKING ndi LD_USE_LOAD_BIAS zosintha zachilengedwe ndi kuthekera kolumikizira, zatsitsidwa ndipo zichotsedwa pakatulutsidwa mtsogolo.
  • Khodi yochotsedwa yowunika mtundu wa Linux kernel ndikuwongolera LD_ASSUME_KERNEL zosintha zachilengedwe. Mtundu wocheperako wa kernel wothandizidwa pomanga Glibc umatsimikiziridwa ndi gawo la ELF NT_GNU_ABI_TAG.
  • Kusintha kwa chilengedwe kwa LD_LIBRARY_VERSION kwathetsedwa pa nsanja ya Linux.

Source: opennet.ru

Kuwonjezera ndemanga