Phatlalatso ea Laeborari ea Tsamaiso ea Glibc 2.36

Ka mor'a likhoeli tse tšeletseng tsa tsoelo-pele, laebrari ea tsamaiso ea GNU C (glibc) 2.36 e lokolotsoe, e lumellanang ka botlalo le litlhoko tsa litekanyetso tsa ISO C11 le POSIX.1-2017. Phallo e ncha e kenyelletsa litokiso tse tsoang ho baetsi ba 59.

Tse ling tsa lintlafatso tse kentsoeng tšebetsong ho Glibc 2.36 li kenyelletsa:

  • Ts'ehetso e ekelitsoeng bakeng sa sebopeho se secha sa ho falla ha aterese ea DT_RELR (relative relocation), e u lumellang ho fokotsa boholo ba phalliso e lekanyelitsoeng linthong tse arolelanoang le lifaele tse phethiloeng tse hokahantsoeng ka mokhoa oa PIE (Position-independent executables). Ho sebelisa sebaka sa DT_RELR lifaeleng tsa ELF ho hloka ts'ehetso bakeng sa khetho ea "-z pack-relative-relocs" ho sehokelo, e hlahisitsoeng tokollong ea li-binutils 2.38.
  • Bakeng sa sethala sa Linux, mesebetsi pidfd_open, pidfd_getfd le pidfd_send_signal e kengoa ts'ebetsong, e fana ka phihlello ea ts'ebetso ea pidfd e thusang ho sebetsana le maemo a ts'ebeliso ea PID ho tseba ka nepo lits'ebetso tsa ho fihlella lifaele tse hlokometsoeng (pidfd e amahanngoa le ts'ebetso e itseng mme ha e fetohe, athe PID e ka khona. ho hokelloa ts'ebetsong e 'ngoe kamora hore ts'ebetso ea hajoale e amanang le PID eo e felisoe).
  • Bakeng sa sethala sa Linux, ts'ebetso ea process_madvise() e kentsoe ho lumella ts'ebetso e le 'ngoe ho fana ka mohala oa madvise() oa sistimi molemong oa ts'ebetso e' ngoe, ho tsebahatsa ts'ebetso e reriloeng e sebelisa pidfd. Ka madvise (), o ka tsebisa kernel ka likarolo tsa ho sebetsa ka mohopolo ho ntlafatsa taolo ea mohopolo oa ts'ebetso; mohlala, ho ipapisitse le tlhaiso-leseling e fetisitsoeng, kernel e ka qala tokollo ea memori e eketsehileng ea mahala. Pitso ho madvise () ka ts'ebetso e 'ngoe e ka hlokahala maemong ao tlhahisoleseling e hlokahalang bakeng sa ts'ebetso e sa tsejoe ke ts'ebetso ea hajoale, empa e hokahanngoa ke ts'ebetso e fapaneng ea taolo ea morao-rao, e ka ikemelang ho qala ho tlosoa ha mohopolo o sa sebelisoeng lits'ebetsong.
  • Bakeng sa sethala sa Linux, ts'ebetso ea process_mrelease () e kentsoe, e u lumellang ho potlakisa ho lokolloa ha memori bakeng sa ts'ebetso e phethelang ts'ebetso ea eona. Tlas'a maemo a tloaelehileng, ho lokolloa ha lisebelisoa le ho felisoa ha ts'ebetso ha se hang-hang 'me ho ka lieha ka mabaka a fapaneng, ho kena-kenana le mekhoa ea karabelo ea pele ea sebaka sa mosebedisi joalo ka oomd (e fanoeng ke systemd). Ka ho letsetsa process_mrelease, litsamaiso tse joalo li ka etsa hore motho a boele a khutlisetsoe mohopolo ho tsoa lits'ebetsong tse qobelloang.
  • Ts'ehetso bakeng sa khetho ea "no-aaaa" e kenyelelitsoe ts'ebetsong e kentsoeng ea DNS solver, e leng se u lumellang ho thibela ho romela likopo tsa DNS bakeng sa lirekoto tsa AAAA (ho khetholla aterese ea IPv6 ka lebitso la moamoheli), ho kenyelletsa le ha o etsa NSS. mesebetsi joalo ka getaddrininfo(), ho nolofatsa bothata ba ho lemoha. Khetho ena ha e ame ts'ebetso ea likhokahano tsa liaterese tsa IPv6 tse hlalositsoeng ho /etc/hosts le mehala ho getaddrninfo() ka folakha ea AI_PASSIVE.
  • Bakeng sa sethala sa Linux, mesebetsi ea fsopen, fsmount, move_mount, fsconfig, fspick, open_tree le mount_setattr e kentsoe, e fana ka phihlello ea kernel API e ncha bakeng sa ho laola ho hlophisoa ha sistimi ho ipapisitse le libaka tsa mabitso. Mesebetsi e reriloeng e u lumella hore u sebetsane le mekhahlelo e fapaneng ea ho kenya ka thoko (sebetsa superblock, fumana tlhahisoleseling mabapi le sistimi ea faele, ho thaepa, ho hokela sebakeng sa thaba), tse neng li etsoa pele ho sebelisoa mosebetsi o tloaelehileng oa thaba (). Mesebetsi e arohaneng e fana ka bokhoni ba ho etsa maemo a thata haholoanyane le ho etsa ts'ebetso ka thoko joalo ka ho lokisa superblock, likhetho tse nolofalletsang, ho fetola sebaka sa thaba, le ho fallela sebakeng se seng sa mabitso. Ntle le moo, ts'ebetso e arohaneng e u fa monyetla oa ho tseba ka nepo mabaka a tlhahiso ea likhoutu tsa liphoso le ho beha mehloli e mengata bakeng sa litsamaiso tsa lifaele tse ngata, joalo ka li-overlayfs.
  • localedef e fana ka ts'ehetso bakeng sa ho sebetsana le lifaele tsa tlhaloso ea sebaka se fanoeng ka UTF-8 encoding ho fapana le ASCII.
  • Mesebetsi e ekelitsoeng ho fetolela li-encodings tsa li-byte tse ngata tsa mbrtoc8 le c8rtomb ho ISO C2X N2653 le C++20 P0482R6 litlhaloso.
  • Tšehetso e ekelitsoeng bakeng sa mofuta oa char8_t o hlalositsoeng ho moralo oa ISO C2X N2653 standard.
  • E kenyellelitsoe arc4random, arc4random_buf, le arc4random_uniform mesebetsi e fanang ka wrappers holim'a mohala oa tsamaiso ea getrandom le sebopeho sa /dev/urandom se khutlisetsang linomoro tsa boleng bo holimo tsa pseudorandom.
  • Ha e sebetsa sethaleng sa Linux, e tšehetsa meralo ea litaelo ea LoongArch e sebelisoang ho li-processor tsa Loongson 3 5000 mme e sebelisa RISC ISA e ncha, e tšoanang le MIPS le RISC-V. Ka sebopeho sa eona sa hajoale, ke ts'ehetso feela ea mofuta oa 64-bit oa LoongArch (LA64) e fumanehang. Ho sebetsa, o hloka bonyane mefuta ea li-binutils 2.38, GCC 12 le Linux kernel 5.19.
  • Mochine oa sehokelo, hammoho le LD_TRACE_PRELINKING le LD_USE_LOAD_BIAS tse amanang le tikoloho le bokhoni ba lihokelo, li tlositsoe 'me li tla tlosoa tokollong e tlang.
  • Khoutu e tlositsoe bakeng sa ho lekola mofuta oa Linux kernel le ho sebetsana le LD_ASSUME_KERNEL e fapaneng ea tikoloho. Bonyane beshene ea kernel e ts'ehetsoeng ha ho etsoa Glibc e khethoa ka karolo ea ELF NT_GNU_ABI_TAG.
  • Phetoho ea tikoloho ea LD_LIBRARY_VERSION ha e sa sebelisoa sethaleng sa Linux.

Source: opennet.ru

Eketsa ka tlhaloso