Rhyddhau Llyfrgell System Glib 2.36

Ar ôl chwe mis o ddatblygiad, mae llyfrgell system GNU C Library (glibc) 2.36 wedi'i rhyddhau, sy'n cydymffurfio'n llawn â gofynion safonau ISO C11 a POSIX.1-2017. Mae'r datganiad newydd yn cynnwys atgyweiriadau gan 59 o ddatblygwyr.

Mae rhai o’r gwelliannau a roddwyd ar waith yn Glbc 2.36 yn cynnwys:

  • Cefnogaeth ychwanegol i'r fformat adleoli cyfeiriad DT_RELR (adleoli cymharol) newydd, sy'n eich galluogi i leihau maint adleoliadau cymharol mewn gwrthrychau a rennir a ffeiliau gweithredadwy sy'n gysylltiedig yn y modd PIE (Position-independent executables). Mae defnyddio'r maes DT_RELR mewn ffeiliau ELF angen cefnogaeth ar gyfer yr opsiwn "-z pack-relative-relocs" yn y cysylltydd, a gyflwynwyd wrth ryddhau binutils 2.38.
  • Ar gyfer y platfform Linux, mae'r swyddogaethau pidfd_open, pidfd_getfd a pidfd_send_signal yn cael eu gweithredu, gan ddarparu mynediad i ymarferoldeb pidfd sy'n helpu i drin sefyllfaoedd ailddefnyddio PID i nodi prosesau sy'n cyrchu ffeiliau wedi'u monitro yn fwy cywir (mae pidfd yn gysylltiedig â phroses benodol ac nid yw'n newid, tra gall PID gael ei gysylltu â phroses arall ar ôl i'r broses gyfredol sy'n gysylltiedig â'r Ddogfen Cychwyn Prosiect hwnnw ddod i ben).
  • Ar gyfer y platfform Linux, mae'r swyddogaeth process_madvise() wedi'i hychwanegu i ganiatáu i un broses gyhoeddi'r alwad system madvise() ar ran proses arall, gan nodi'r broses darged gan ddefnyddio pidfd. Trwy madvise (), gallwch roi gwybod i'r cnewyllyn am nodweddion gweithio gyda'r cof i optimeiddio rheolaeth cof proses; er enghraifft, yn seiliedig ar y wybodaeth a drosglwyddir, gall y cnewyllyn gychwyn rhyddhau cof rhydd ychwanegol. Mae’n bosibl y bydd angen galwad i wallgof() drwy broses arall mewn sefyllfa lle nad yw’r wybodaeth sydd ei hangen ar gyfer optimeiddio yn hysbys i’r broses gyfredol, ond yn cael ei chydlynu gan broses rheoli cefndir ar wahân, a all gychwyn yn annibynnol y broses o dynnu cof nas defnyddiwyd o brosesau.
  • Ar gyfer y platfform Linux, mae'r swyddogaeth process_mrelease() wedi'i hychwanegu, sy'n eich galluogi i gyflymu'r broses o ryddhau cof ar gyfer proses sy'n cwblhau ei gweithredu. O dan amgylchiadau arferol, nid yw rhyddhau adnoddau a therfynu prosesau yn syth a gellir eu gohirio am wahanol resymau, gan ymyrryd â systemau ymateb cynnar cof gofod defnyddiwr fel oomd (a ddarperir gan systemd). Drwy ffonio process_mrelease, gall systemau o'r fath ysgogi adennill cof o brosesau gorfodol yn fwy rhagweladwy.
  • Mae cefnogaeth i'r opsiwn “no-aaaa” wedi'i ychwanegu at weithrediad integredig y datrysiad DNS, sy'n eich galluogi i analluogi anfon ymholiadau DNS ar gyfer cofnodion AAAA (penderfynu ar gyfeiriad IPv6 yn ôl enw gwesteiwr), gan gynnwys wrth weithredu NSS swyddogaethau fel getaddrinfo(), i symleiddio diagnosis problemau. Nid yw'r opsiwn hwn yn effeithio ar brosesu rhwymiadau cyfeiriad IPv6 a ddiffinnir yn /etc/hosts a galwadau i getaddrinfo() gyda'r faner AI_PASSIVE.
  • Ar gyfer y platfform Linux, mae'r swyddogaethau fsopen, fsmount, move_mount, fsconfig, fspick, open_tree a mount_setattr wedi'u hychwanegu, gan ddarparu mynediad i API cnewyllyn newydd ar gyfer rheoli mowntio system ffeiliau yn seiliedig ar fylchau enwau gosod. Mae'r swyddogaethau arfaethedig yn caniatáu ichi brosesu gwahanol gamau gosod ar wahân (prosesu bloc mawr, cael gwybodaeth am y system ffeiliau, gosod, cysylltu â phwynt gosod), a berfformiwyd yn flaenorol gan ddefnyddio'r swyddogaeth mowntio cyffredin (). Mae swyddogaethau ar wahân yn darparu'r gallu i berfformio senarios mowntio mwy cymhleth a chyflawni gweithrediadau ar wahân fel ad-drefnu'r bloc mawr, galluogi opsiynau, newid y pwynt gosod, a symud i ofod enw arall. Yn ogystal, mae prosesu ar wahân yn caniatáu ichi bennu'r rhesymau dros allbwn codau gwall yn gywir a gosod ffynonellau lluosog ar gyfer systemau ffeiliau aml-haen, megis troshaenau.
  • Mae localedef yn darparu cefnogaeth ar gyfer prosesu ffeiliau diffiniad locale a gyflenwir mewn amgodio UTF-8 yn lle ASCII.
  • Swyddogaethau ychwanegol i drosi amgodiadau aml-beit mbrtoc8 a c8rtomb i fanylebau ISO C2X N2653 a C++20 P0482R6.
  • Cefnogaeth ychwanegol ar gyfer y math char8_t a ddiffinnir yn y safon ISO C2X N2653 drafft.
  • Ychwanegwyd swyddogaethau arc4random, arc4random_buf ac arc4random_uniform, sy'n darparu deunydd lapio dros yr alwad system getrandom a'r rhyngwyneb /dev/urandom sy'n dychwelyd rhifau ffugenw o ansawdd uchel.
  • Wrth redeg ar y platfform Linux, mae'n cefnogi pensaernïaeth set gyfarwyddiadau LoongArch a ddefnyddir ym mhroseswyr Loongson 3 5000 ac yn gweithredu'r ISA RISC newydd, yn debyg i MIPS a RISC-V. Yn ei ffurf bresennol, dim ond cefnogaeth ar gyfer y fersiwn 64-bit o LoongArch (LA64) sydd ar gael. I weithio, mae angen o leiaf fersiynau o binutils 2.38, GCC 12 a Linux cnewyllyn 5.19.
  • Mae'r mecanwaith cyn-gyswllt, yn ogystal â'i newidynnau amgylchedd LD_TRACE_PRELINKING a LD_USE_LOAD_BIAS cysylltiedig a galluoedd cysylltu, wedi'u anghymeradwyo a byddant yn cael eu dileu mewn datganiad yn y dyfodol.
  • Cod wedi'i dynnu ar gyfer gwirio fersiwn cnewyllyn Linux a thrin y newidyn amgylchedd LD_ASSUME_KERNEL. Mae'r fersiwn lleiaf o'r cnewyllyn a gefnogir wrth adeiladu Glibc yn cael ei bennu trwy'r maes ELF NT_GNU_ABI_TAG.
  • Mae'r newidyn amgylchedd LD_LIBRARY_VERSION wedi dod i ben ar y platfform Linux.

Ffynhonnell: opennet.ru

Ychwanegu sylw