ืฉื—ืจื•ืจ ืกืคืจื™ื™ืช ืžืขืจื›ืช Glibc 2.36

ืœืื—ืจ ืฉื™ืฉื” ื—ื•ื“ืฉื™ื ืฉืœ ืคื™ืชื•ื—, ืฉื•ื—ืจืจื” ืกืคืจื™ื™ืช ื”ืžืขืจื›ืช GNU C Library (glibc) 2.36, ืืฉืจ ืขื•ืžื“ืช ื‘ืžืœื•ืื” ื‘ื“ืจื™ืฉื•ืช ืฉืœ ืชืงื ื™ ISO C11 ื•-POSIX.1-2017. ื”ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื” ื›ื•ืœืœืช ืชื™ืงื•ื ื™ื ืž-59 ืžืคืชื—ื™ื.

ื—ืœืง ืžื”ืฉื™ืคื•ืจื™ื ื”ืžื™ื•ืฉืžื™ื ื‘-Glibc 2.36 ื›ื•ืœืœื™ื:

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคื•ืจืžื˜ ื”ื—ื“ืฉ ืœื”ืขื‘ืจืช ื›ืชื•ื‘ื•ืช DT_RELR (ืจื™ืœื•ืงื™ื™ืฉืŸ ื™ื—ืกื™), ื”ืžืืคืฉืจ ืœืš ืœื”ืงื˜ื™ืŸ ืืช ื”ื’ื•ื“ืœ ืฉืœ ื”ืขื‘ืจื•ืช ื™ื—ืกื™ื•ืช ื‘ืื•ื‘ื™ื™ืงื˜ื™ื ืžืฉื•ืชืคื™ื ื•ืงื‘ืฆื™ ื”ืคืขืœื” ื”ืžืงื•ืฉืจื™ื ื‘ืžืฆื‘ PIE (ืงื‘ืฆื™ ื”ืคืขืœื” ื‘ืœืชื™ ืชืœื•ื™ื™ื ื‘ืžื™ืงื•ื). ืฉื™ืžื•ืฉ ื‘ืฉื“ื” DT_RELR ื‘ืงื‘ืฆื™ ELF ื“ื•ืจืฉ ืชืžื™ื›ื” ื‘ืืคืฉืจื•ืช "-z pack-relative-relocs" ื‘ืงื™ืฉื•ืจ, ืฉื”ื•ืฆื’ื” ื‘ืžื”ื“ื•ืจื” ืฉืœ binutils 2.38.
  • ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก, ื”ืคื•ื ืงืฆื™ื•ืช pidfd_open, pidfd_getfd ื•-pidfd_send_signal ืžื™ื•ืฉืžื•ืช, ื”ืžืกืคืงื•ืช ื’ื™ืฉื” ืœืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช pidfd ื”ืžืกื™ื™ืขืช ืœื”ืชืžื•ื“ื“ ืขื ืžืฆื‘ื™ ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘-PID ื›ื“ื™ ืœื–ื”ื•ืช ื‘ืฆื•ืจื” ืžื“ื•ื™ืงืช ื™ื•ืชืจ ืชื”ืœื™ื›ื™ื ื”ื ื™ื’ืฉื™ื ืœืงื‘ืฆื™ื ืžื ื•ื˜ืจื™ื (pidfd ืžืฉื•ื™ืš ืœืชื”ืœื™ืš ืกืคืฆื™ืคื™ ื•ืื™ื ื• ืžืฉืชื ื”, ื‘ืขื•ื“ PID ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื—ื•ื‘ืจ ืœืชื”ืœื™ืš ืื—ืจ ืœืื—ืจ ืฉื”ืชื”ืœื™ืš ื”ื ื•ื›ื—ื™ ื”ืžืฉื•ื™ืš ืœืื•ืชื• PID ืžืกืชื™ื™ื).
  • ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก, ื”ืคื•ื ืงืฆื™ื” process_madvise() ื ื•ืกืคื” ื›ื“ื™ ืœืืคืฉืจ ืœืชื”ืœื™ืš ืื—ื“ ืœื”ื•ืฆื™ื ืืช ืงืจื™ืืช ื”ืžืขืจื›ืช madvise() ื‘ืฉื ืชื”ืœื™ืš ืื—ืจ, ืœื–ื”ื•ืช ืืช ืชื”ืœื™ืš ื”ื™ืขื“ ื‘ืืžืฆืขื•ืช pidfd. ื‘ืืžืฆืขื•ืช madvise(), ืืชื” ื™ื›ื•ืœ ืœื™ื™ื“ืข ืืช ื”ืœื™ื‘ื” ืขืœ ื”ืชื›ื•ื ื•ืช ืฉืœ ืขื‘ื•ื“ื” ืขื ื–ื™ื›ืจื•ืŸ ื›ื“ื™ ืœื™ื™ืขืœ ืืช ื ื™ื”ื•ืœ ื–ื™ื›ืจื•ืŸ ื”ืชื”ืœื™ืš; ืœื“ื•ื’ืžื”, ื‘ื”ืชื‘ืกืก ืขืœ ื”ืžื™ื“ืข ื”ืžื•ืขื‘ืจ, ื”ืœื™ื‘ื” ื™ื›ื•ืœื” ืœื™ื–ื•ื ืฉื—ืจื•ืจ ืฉืœ ื–ื™ื›ืจื•ืŸ ืคื ื•ื™ ื ื•ืกืฃ. ืงืจื™ืื” ืœ-madvise() ืขืœ ื™ื“ื™ ืชื”ืœื™ืš ืื—ืจ ืขืฉื•ื™ื” ืœื”ื™ื“ืจืฉ ื‘ืžืฆื‘ ื‘ื• ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ ืœืื•ืคื˜ื™ืžื™ื–ืฆื™ื” ืื™ื ื• ื™ื“ื•ืข ืœืชื”ืœื™ืš ื”ื ื•ื›ื—ื™, ืืš ืžืชื•ืื ืขืœ ื™ื“ื™ ืชื”ืœื™ืš ื‘ืงืจืช ืจืงืข ื ืคืจื“, ืฉื™ื›ื•ืœ ืœื™ื–ื•ื ื‘ืื•ืคืŸ ืขืฆืžืื™ ื”ืกืจื” ืฉืœ ื–ื™ื›ืจื•ืŸ ืฉืื™ื ื• ื‘ืฉื™ืžื•ืฉ ืžืชื”ืœื™ื›ื™ื.
  • ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก, ื ื•ืกืคื” ื”ืคื•ื ืงืฆื™ื” process_mrelease() ื”ืžืืคืฉืจืช ืœืš ืœื”ืื™ืฅ ืืช ืฉื—ืจื•ืจ ื”ื–ื™ื›ืจื•ืŸ ืœืชื”ืœื™ืš ืฉืžืกื™ื™ื ืืช ื‘ื™ืฆื•ืขื•. ื‘ื ืกื™ื‘ื•ืช ืจื’ื™ืœื•ืช, ืฉื—ืจื•ืจ ืžืฉืื‘ื™ื ื•ืกื™ื•ื ืชื”ืœื™ืš ืื™ื ื ืžื™ื™ื“ื™ื™ื ื•ืขืœื•ืœื™ื ืœื”ืชืขื›ื‘ ืžืกื™ื‘ื•ืช ืฉื•ื ื•ืช, ืžื” ืฉืžืคืจื™ืข ืœืžืขืจื›ื•ืช ืชื’ื•ื‘ื” ืžื•ืงื“ืžื•ืช ืฉืœ ื–ื™ื›ืจื•ืŸ ืžืจื—ื‘ ื”ืžืฉืชืžืฉ ื›ื’ื•ืŸ oomd (ืžืกื•ืคืง ืขืœ ื™ื“ื™ systemd). ืขืœ ื™ื“ื™ ืงืจื™ืื” ืœ-proces_mrelease, ืžืขืจื›ื•ืช ื›ืืœื” ื™ื›ื•ืœื•ืช ืœืขื•ืจืจ ื‘ืื•ืคืŸ ืฆืคื•ื™ ื™ื•ืชืจ ืืช ื”ื—ื–ืจืช ื”ื–ื™ื›ืจื•ืŸ ืžืชื”ืœื™ื›ื™ื ืžืื•ืœืฆื™ื.
  • ืชืžื™ื›ื” ื‘ืืคืฉืจื•ืช "no-aaaa" ื ื•ืกืคื” ืœืžื™ืžื•ืฉ ื”ืžื•ื‘ื ื” ืฉืœ ืคื•ืชืจ ื”-DNS, ื”ืžืืคืฉืจ ืœื‘ื˜ืœ ืืช ืฉืœื™ื—ืช ื‘ืงืฉื•ืช DNS ืขื‘ื•ืจ ืจืฉื•ืžื•ืช AAAA (ืงื‘ื™ืขืช ื›ืชื•ื‘ืช IPv6 ืœืคื™ ืฉื ืžืืจื—), ื›ื•ืœืœ ื‘ืขืช ื‘ื™ืฆื•ืข NSS ืคื•ื ืงืฆื™ื•ืช ื›ืžื• getaddriinfo(), ื›ื“ื™ ืœืคืฉื˜ ืืช ืื‘ื—ื•ืŸ ื”ื‘ืขื™ื•ืช. ืืคืฉืจื•ืช ื–ื• ืื™ื ื” ืžืฉืคื™ืขื” ืขืœ ื”ืขื™ื‘ื•ื“ ืฉืœ ืื™ื’ื•ื“ื™ ื›ืชื•ื‘ื•ืช IPv6 ื”ืžื•ื’ื“ืจื™ื ื‘-/etc/hosts ื•ืงืจื™ืื•ืช ืœ-getaddriinfo() ืขื ื”ื“ื’ืœ AI_PASSIVE.
  • ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก, ื ื•ืกืคื• ื”ืคื•ื ืงืฆื™ื•ืช fsopen, fsmount, move_mount, fsconfig, fspick, open_tree ื•-mount_setattr, ื”ืžืกืคืงื•ืช ื’ื™ืฉื” ืœ-API ื—ื“ืฉ ืฉืœ ืœื™ื‘ื” ืœื ื™ื”ื•ืœ ื”ืจื›ื‘ื” ืฉืœ ืžืขืจื›ืช ืงื‘ืฆื™ื ื‘ื”ืชื‘ืกืก ืขืœ ืžืจื—ื‘ื™ ืฉืžื•ืช. ื”ืคื•ื ืงืฆื™ื•ืช ื”ืžื•ืฆืขื•ืช ืžืืคืฉืจื•ืช ืœืš ืœืขื‘ื“ ื‘ื ืคืจื“ ืฉืœื‘ื™ื ืฉื•ื ื™ื ืฉืœ ื”ืจื›ื‘ื” (ืœืขื‘ื“ ืืช ื”ืกื•ืคืจื‘ืœื•ืง, ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื, ืœื”ืขืœื•ืช, ืœืฆืจืฃ ืœื ืงื•ื“ืช ื”ื”ืจื›ื‘ื”), ืฉื‘ื•ืฆืขื• ื‘ืขื‘ืจ ื‘ืืžืฆืขื•ืช ืคื•ื ืงืฆื™ื™ืช ื”-common mount() . ืคื•ื ืงืฆื™ื•ืช ื ืคืจื“ื•ืช ืžืกืคืงื•ืช ืืช ื”ื™ื›ื•ืœืช ืœื‘ืฆืข ืชืจื—ื™ืฉื™ ื”ืจื›ื‘ื” ืžื•ืจื›ื‘ื™ื ื™ื•ืชืจ ื•ืœื‘ืฆืข ื‘ื ืคืจื“ ืคืขื•ืœื•ืช ื›ื’ื•ืŸ ื”ื’ื“ืจื” ืžื—ื“ืฉ ืฉืœ ื”ืกื•ืคืจื‘ืœื•ืง, ื”ืคืขืœืช ืืคืฉืจื•ื™ื•ืช, ืฉื™ื ื•ื™ ื ืงื•ื“ืช ื”ื”ืจื›ื‘ื” ื•ืžืขื‘ืจ ืœืžืจื—ื‘ ืฉืžื•ืช ืื—ืจ. ื‘ื ื•ืกืฃ, ืขื™ื‘ื•ื“ ื ืคืจื“ ืžืืคืฉืจ ืœืš ืœืงื‘ื•ืข ื‘ืžื“ื•ื™ืง ืืช ื”ืกื™ื‘ื•ืช ืœืคืœื˜ ืฉืœ ืงื•ื“ื™ ืฉื’ื™ืื” ื•ืœื”ื’ื“ื™ืจ ืžืกืคืจ ืžืงื•ืจื•ืช ืœืžืขืจื›ื•ืช ืงื‘ืฆื™ื ืžืจื•ื‘ื•ืช ืฉื›ื‘ื•ืช, ื›ื’ื•ืŸ ืฉื›ื‘ื•ืช-ืขืœ.
  • localedef ืžืกืคืงืช ืชืžื™ื›ื” ืœืขื™ื‘ื•ื“ ืงื•ื‘ืฆื™ ื”ื’ื“ืจื•ืช ืžืงื•ืžื™ื™ื ื”ืžืกื•ืคืงื™ื ื‘ืงื™ื“ื•ื“ UTF-8 ื‘ืžืงื•ื ASCII.
  • ื ื•ืกืคื• ืคื•ื ืงืฆื™ื•ืช ืœื”ืžืจืช ืงื™ื“ื•ื“ื™ mbrtoc8 ื•-c8rtomb ืžืจื•ื‘ื™ื ื‘ืชื™ื ืœืžืคืจื˜ื™ ISO C2X N2653 ื•-C++20 P0482R6.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืกื•ื’ char8_t ื”ืžื•ื’ื“ืจ ื‘ืชืงืŸ ื˜ื™ื•ื˜ืช ISO C2X N2653.
  • ื ื•ืกืคื• ืคื•ื ืงืฆื™ื•ืช arc4random, arc4random_buf, ื•-arc4random_uniform ื”ืžืกืคืงื•ืช ืขื˜ื™ืคื•ืช ืขืœ ืงืจื™ืืช ื”ืžืขืจื›ืช ื”ื—ืจื™ื’ื” ื•ื”ืžืžืฉืง /dev/urandom ื”ืžื—ื–ื™ืจื™ื ืžืกืคืจื™ื ืคืกืื•ื“ื•ืจื ื“ื•ืžืœื™ื™ื ื‘ืื™ื›ื•ืช ื’ื‘ื•ื”ื”.
  • ื›ืืฉืจ ื”ื•ื ืคื•ืขืœ ืขืœ ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก, ื”ื•ื ืชื•ืžืš ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ืขืจื›ืช ื”ื”ื•ืจืื•ืช ืฉืœ LoongArch ื”ืžืฉืžืฉืช ื‘ืžืขื‘ื“ื™ Loongson 3 5000 ื•ืžื™ื™ืฉืžืช ืืช ื”-RISC ISA ื”ื—ื“ืฉ, ื‘ื“ื•ืžื” ืœ-MIPS ื•ืœ-RISC-V. ื‘ืžืชื›ื•ื ืชื” ื”ื ื•ื›ื—ื™ืช, ื–ืžื™ื ื” ืจืง ืชืžื™ื›ื” ื‘ื’ืจืกืช 64 ืกื™ื‘ื™ื•ืช ืฉืœ LoongArch (LA64). ื›ื“ื™ ืœืขื‘ื•ื“, ืืชื” ืฆืจื™ืš ืœืคื—ื•ืช ื’ืจืกืื•ืช ืฉืœ binutils 2.38, GCC 12 ื•- Linux kernel 5.19.
  • ืžื ื’ื ื•ืŸ ื”-Prelink, ื›ืžื• ื’ื ืžืฉืชื ื™ ื”ืกื‘ื™ื‘ื” ื•ื™ื›ื•ืœื•ืช ื”ืงื™ืฉื•ืจ ื”ืžืฉื•ื™ื›ื™ื ืœื• LD_TRACE_PRELINKING ื•-LD_USE_LOAD_BIAS, ื”ื•ืฆืื• ืžืฉื™ืžื•ืฉ ื•ื™ื•ืกืจื• ื‘ืžื”ื“ื•ืจื” ืขืชื™ื“ื™ืช.
  • ื”ื•ืกืจ ืงื•ื“ ืœื‘ื“ื™ืงืช ื’ืจืกืช ืœื™ื‘ืช ืœื™ื ื•ืงืก ื•ื˜ื™ืคื•ืœ ื‘ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” LD_ASSUME_KERNEL. ื”ื’ืจืกื” ื”ืžื™ื ื™ืžืœื™ืช ืฉืœ ื”ืœื™ื‘ื” ื”ื ืชืžื›ืช ื‘ืขืช ื‘ื ื™ื™ืช Glibc ื ืงื‘ืขืช ื‘ืืžืฆืขื•ืช ืฉื“ื” ELF NT_GNU_ABI_TAG.
  • ืžืฉืชื ื” ื”ืกื‘ื™ื‘ื” LD_LIBRARY_VERSION ื”ื•ืคืกืง ื‘ืคืœื˜ืคื•ืจืžืช ืœื™ื ื•ืงืก.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”