VĂ€ljund sĂŒsteemi teegist Glibc 2.36

PĂ€rast kuut kuud arendust on vĂ€lja antud GNU C Library (glibc) 2.36 sĂŒsteemiteegi vĂ€ljaanne, mis tĂ€idab ISO C11 ja POSIX.1-2017 standardite nĂ”udeid. Uues vĂ€ljaandes on parandused 59 arendajalt.

Glibc 2.36 rakendatud tÀiustustest vÔib vÀlja tuua:

  • Lisatud on toetus uuele relatatiivsete aadresside DT_RELR (relatiivne ĂŒleviimine) formaadile, mis vĂ”imaldab vĂ€hendada relativistlike ĂŒleviimiste suurust jagatud objektides ja tĂ€idetavates failides, mis on komponeeritud PIE (positsioonist sĂ”ltumatud tĂ€idetavad failid) reĆŸiimis. DT_RELR vĂ€lja kasutamiseks ELF-failides on vajalik toetada valikut "-z pack-relative-relocs" linkijate paketis binutils 2.38.
  • Linuxi platvormile on rakendatud funktsioonid pidfd_open, pidfd_getfd ja pidfd_send_signal, mis pakuvad joonist pidfd funktsionaalsusele, mis aitab lugeda olukordi PID korduvkasutamiseks, et tĂ€pselt tuvastada protsesse, mis suhtlevad jĂ€lgitavate failidega (pidfd seondub konkreetse protsessiga ja ei muutu, samas kui PID vĂ”ib pĂ€rast praeguse protsessi lĂ”petamist olla seotud teise protsessiga, mis on seotud selle PID-ga).
  • Linuxi platvormile on lisatud funktsioon process_madvise(), mis vĂ”imaldab ĂŒhel protsessil teostada madvise() sĂŒsteemi kutset teise protsessi nimel, tuvastades sihtprotsessi pidfd abil. madvise() kaudu saab teavitada tuuma mĂ€lu töötamise omadustest, et optimeerida mĂ€lu haldamist protsessis, nĂ€iteks selle pĂ”hjal vĂ”ib tuum algatada tĂ€iendavate vabade mĂ€lude vabastamise. Madvise() kutse teise protsessi poolt vĂ”ib olla vajalik juhul, kui praegusele protsessile vajalikud optimeerimisandmed pole teada, ent neid koordineerib eraldi taustajuhteprotsess, mis vĂ”ib iseseisvalt algatada protsessidest kasutamata mĂ€lu eemaldamise.
  • Linux'i platvormile on lisatud funktsioon process_mrelease(), mis kiirendab protsessi lĂ”petamise ajal mĂ€lu vabastamist. Tavalistes tingimustes toimub ressursside vabastamine ja protsessi lĂ”petamine mitte hetkega ning erinevatel pĂ”hjustel vĂ”ib see viibida, mis takistab kasutajaruumi varajase reageerimise sĂŒsteemide, nagu oomd (mis on saadaval systemd), tööd. Funktsiooni process_mrelease abil saavad sellised sĂŒsteemid prognoositavamalt algatada mĂ€lu tagastamist sunniviisiliselt lĂ”petatud protsessidelt.
  • Sisseehitatud DNS-resolveri teostusse on lisatud tugi valikule "no-aaaa", mis vĂ”imaldab lihtsustada probleemide diagnoosimist, keelates DNS-pĂ€ringute saatmise AAAA-recordide (IPv6 aadressi mÀÀramine hostinime kaudu) puhul, sealhulgas NSS-funktsioonide, nagu getaddrinfo(), tĂ€itmisel. Valik ei mĂ”juta IPv6-aadresside sidumiste töötlemist, mis on mÀÀratletud /etc/hosts failis ega getaddrinfo() vĂ€ljakutseid, kus on kasutatud lippu AI_PASSIVE.
  • Linux'i platvormile on lisatud funktsioonid fsopen, fsmount, move_mount, fsconfig, fspick, open_tree ja mount_setattr, mis pakuvad juurdepÀÀsu uuele sĂŒsteemi API-le failisĂŒsteemide mountimise haldamiseks mĂ€etpunktide (mount namespaces) arvestamisel. Esitatud funktsioonid vĂ”imaldavad eraldi töödelda erinevaid mountimise etappe (superploki töötlemine, failisĂŒsteemi teabe saamine, mountimine, mountimispunktiga seondumine), mis varem toimusid ĂŒldise funktsiooni mount() abil. Eraldi funktsioonid vĂ”imaldavad teostada keerukamaid mountimisskeeme ja eraldi teostada selliseid toiminguid nagu superploki ĂŒmberkonfigureerimine, valikute aktiveerimine, mountimispunkti muutmine ja teise nimiruumi ĂŒleviimine. Lisaks vĂ”imaldab eraldi töötlemine tĂ€pselt mÀÀratleda veakoodide vĂ€ljundi pĂ”hjuseid ja mÀÀrata mitmeid allikaid kihilistele failisĂŒsteemidele nagu overlayfs.
  • Localedef'i teostusse on lisatud tugi locale-definitsioonide failide töötlemiseks, mis on tarnitud UTF-8 kodeeringus, mitte ASCII-s.
  • Lisatud funktsioonid mitme baiti kodeeringute mbrtoc8 ja c8rtomb, mis vastavad ISO C2X N2653 ja C++20 P0482R6 spetsifikatsioonidele.
  • Lisatud tugi char8_t tĂŒĂŒbi jaoks, mis on mÀÀratletud ISO C2X N2653 standardi mustandites.
  • Lisatud on funktsioonid arc4random, arc4random_buf ja arc4random_uniform, mis pakuvad liideseid sĂŒsteemi kĂ”nele getrandom ja liidesele /dev/urandom, tagastades kĂ”rge kvaliteediga pseudojuhuslikke numbreid.
  • Linuxi platvormil on rakendatud LoongArch kĂ€skluskomplekti arhitektuuri toete, mida kasutatakse Loongson 3 5000 protsessorites ja mis rakendab uut RISC ISA, mis sarnaneb MIPS ja RISC-V-ga. Hetkel on saadaval ainult 64-bitine variant LoongArch (LA64). NĂ”utud on minimaalne versioonide binutils 2.38, GCC 12 ja Linuxi tuum 5.19.
  • Eemaldatakse prelink mehhanism, samuti sellega seotud keskkonnamuutujad LD_TRACE_PRELINKING ja LD_USE_LOAD_BIAS ning linkimisfunktsioonid, mis on kuulutatud aegunud.
  • Eemaldatud on kood Linuxi tuuma versiooni kontrollimiseks ja keskkonnamuutuja LD_ASSUME_KERNEL töötlemiseks. Glibci ehitamise minimaalne toetatud tuuma versioon mÀÀratakse ELF-vĂ€lja NT_GNU_ABI_TAG kaudu.
  • Linuxi platvormil lĂ”petatakse keskkonnamuutuja LD_LIBRARY_VERSION tugi.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster