Glibc 2.36 Pūnaha Whakaputa Wharepukapuka

I muri i nga marama e ono o te whakawhanaketanga, kua tukuna te whare pukapuka punaha GNU C (glibc) 2.36, e tino tutuki ana ki nga whakaritenga o nga paerewa ISO C11 me POSIX.1-2017. Kei roto i te tukunga hou nga whakatikatika mai i nga kaihanga 59.

Ko etahi o nga whakapainga kua whakatinanahia ki Glibc 2.36 ko:

  • He tautoko taapiri mo te whakatakotoranga DT_RELR (whakahounga whanaunga) hou, ka taea e koe te whakaiti i te rahi o nga hūnukutanga whanaunga i roto i nga taonga tiritahi me nga konae ka taea e hono ana ki te aratau PIE (Turanga-motuhake). Ma te whakamahi i te mara DT_RELR i roto i nga konae ELF me tautoko te whiringa "-z pack-relative-relocs" i roto i te hononga hono, i whakauruhia ki te tukunga o binutils 2.38.
  • Mo te papaaho Linux, ko nga mahi pidfd_open, pidfd_getfd me pidfd_send_signal ka whakatinanahia, ka uru ki nga mahi pidfd e awhina ana ki te hapai i nga ahuatanga whakamahi PID ki te tautuhi tika i nga tukanga e uru atu ana ki nga konae kua aro turukihia (e hono ana te pidfd ki tetahi tukanga motuhake kaore e rereke, ka taea e PID kia piri ki tetahi atu tukanga i muri i te mutunga o te tukanga o naianei e pa ana ki taua PID).
  • Mo te papaaho Linux, kua taapirihia te mahi process_madvise() ki te tuku i tetahi tukanga ki te whakaputa i te waea madvise() mo tetahi atu tukanga, te tautuhi i te tukanga whaainga ma te whakamahi i te pidfd. Na roto i te madvise(), ka taea e koe te whakamohio i te kernel mo nga ahuatanga o te mahi me te mahara ki te arotau i nga mahi whakahaere mahara; hei tauira, i runga i nga korero tuku, ka taea e te kernel te whakaputa i etahi atu mahara kore utu. Ko te karanga ki te madvise() na tetahi atu tukanga ka hiahiatia i roto i tetahi ahuatanga kaore i te mohiotia nga korero e hiahiatia ana mo te arotautanga ki te tukanga o naianei, engari ka rurukuhia e tetahi tukanga mana papamuri motuhake, ka taea te tango takitahi i nga mahara kaore i whakamahia mai i nga tukanga.
  • Mo te papaaho Linux, kua taapirihia te mahi process_mrelease(), e taea ai e koe te tere ake te tuku mahara mo tetahi tukanga e whakaoti ana i tana mahi. I raro i nga ahuatanga noa, karekau te tuku rauemi me te whakamutua o te tukanga i te wa tonu, ka whakaroa pea mo nga take maha, ka whakararu i nga punaha urupare mokowhiti mokowhiti-kaiwhakamahi penei i te oomd (e whakaratohia ana e te systemd). Ma te karanga i te process_mrelease, ka taea e enei punaha te ara ake i te whakahoki mai o te mahara mai i nga tikanga kaha.
  • Ko te tautoko mo te whiringa "kao-aaaa" kua taapirihia ki te whakatinanatanga o te kaiwhakatau DNS, ka taea e koe te whakakore i te tuku patai DNS mo nga rekoata AAAA (te whakatau i te wahitau IPv6 ma te ingoa o te kaihautu), tae atu ki te wa e mahia ana te NSS. he mahi penei i te getaddrinfo(), hei whakangawari i te tātaritanga raruraru. Kaore tenei whiringa e pa ki te tukatuka o nga herenga wahitau IPv6 kua tautuhia ki /etc/hosts me nga waea ki te tikitaddrinfo() me te haki AI_PASSIVE.
  • Mo te papaaho Linux, ko nga mahi fsopen, fsmount, move_mount, fsconfig, fspick, open_tree me mount_setattr kua taapirihia, ka uru atu ki tetahi API kernel hou mo te whakahaere i te whakapuru punaha konae i runga i nga mokowā ingoa Maunga. Ko nga mahi e whakaarohia ana ka taea e koe te whakahaere wehe i nga waahanga rereke o te whakapuru (tukatuka i te superblock, whiwhi korero mo te punaha konae, whakairihia, whakapiri atu ki tetahi tohu maunga), i mahia i mua ma te whakamahi i te mahi mount() noa. Ko nga mahi motuhake e whakarato ana i te kaha ki te mahi i nga ahuatanga maunga uaua ake, me te mahi motuhake i nga mahi penei i te whirihora ano i te superblock, te whakaahei i nga whiringa, te huri i te waahi maunga, me te neke ki tetahi atu mokowā ingoa. I tua atu, ko te tukatuka motuhake ka taea e koe te whakatau tika i nga take mo te whakaputanga o nga waehere hapa me te tautuhi i nga puna maha mo nga punaha konae paparanga maha, penei i nga whakakikorua.
  • Ka whakaratohia e localedef te tautoko mo te tukatuka i nga konae whakamaaramatanga rohe ka tukuna i roto i te whakawaehere UTF-8 hei utu mo te ASCII.
  • Nga mahi taapiri hei huri i nga whakawaehere mbrtoc8 maha-paita me c8rtomb ki nga whakaritenga ISO C2X N2653 me C++20 P0482R6.
  • He tautoko taapiri mo te momo char8_t kua tautuhia ki te tauira paerewa ISO C2X N2653.
  • Kua taapirihia nga mahi arc4random, arc4random_buf me arc4random_uniform, e whakarato ana i nga takai ki runga i te waea punaha getrandom me te atanga /dev/urandom e whakahoki mai ana i nga nama pseudorandom kounga teitei.
  • I te wa e rere ana i runga i te papaaho Linux, ka tautokohia e ia te hoahoanga huinga tohutohu LoongArch e whakamahia ana i roto i nga kaiwhakatikatika Loongson 3 5000 me te whakatinana i te RISC ISA hou, he rite ki te MIPS me te RISC-V. I tona ahua o naianei, ko te tautoko anake mo te putanga 64-bit o LoongArch (LA64) e waatea ana. Hei mahi, me iti rawa nga putanga o binutils 2.38, GCC 12 me te Linux kernel 5.19.
  • Ko te tikanga hono-mua, me ona taurangi taiao LD_TRACE_PRELINKING me LD_USE_LOAD_BIAS me te kaha hono, kua whakakorehia, ka tangohia i roto i te tukunga a muri ake nei.
  • Kua tangohia te waehere mo te tirotiro i te putanga kernel Linux me te whakahaere i te taurangi taiao LD_ASSUME_KERNEL. Ko te putanga iti o te pata e tautokohia ana i te wa e hanga ana a Glibc ka whakatauhia ma te mara ELF NT_GNU_ABI_TAG.
  • Kua whakakorehia te taurangi taiao LD_LIBRARY_VERSION i runga i te papaaho Linux.

Source: opennet.ru

Tāpiri i te kōrero