Glibc 2.36 စနစ်စာကဌည့်တိုက် ဖဌန့်ချိမဟု

ဖလံ့ဖဌိုသတိုသတက်မဟု ခဌောက်လအကဌာတလင်၊ ISO C2.36 နဟင့် POSIX.11-1 စံနဟုန်သမျာသ ၏ လိုအပ်ချက်မျာသနဟင့် အပဌည့်အဝကိုက်ညီသည့် GNU C Library (glibc) 2017 စနစ်စာကဌည့်တိုက်ကို ထုတ်ပဌန်လိုက်ပါသည်။ အသစ်ထလက်ရဟိထာသသော developer 59 ထံမဟပဌင်ဆင်မဟုမျာသပါဝင်သည်။

Glibc 2.36 တလင် အကောင်အထည်ဖော်ခဲ့သော တိုသတက်မဟုအချို့တလင်-

  • မျဟဝေထာသသောအရာဝတ္ထုမျာသနဟင့် PIE (Position-Independent executables) မုဒ်တလင် ချိတ်ဆက်ထာသသော ဆက်စပ်နေရာချထာသမဟုမျာသ၏အရလယ်အစာသကို လျဟော့ချနိုင်စေမည့် DT_RELR (ဆလေမျိုသနေရာပဌောင်သခဌင်သ) လိပ်စာပဌောင်သရလဟေ့ခဌင်သဖော်မတ်အတလက် ထပ်လောင်သပံ့ပိုသမဟု။ ELF ဖိုင်မျာသတလင် DT_RELR အကလက်ကို အသုံသပဌုခဌင်သသည် Binutils 2.38 ထုတ်ဝေမဟုတလင် မိတ်ဆက်ခဲ့သည့် လင့်ခ်ဂါရဟိ "-z pack-relative-relocs" ရလေသချယ်မဟုအတလက် ပံ့ပိုသမဟု လိုအပ်သည်။
  • Linux ပလပ်ဖောင်သအတလက်၊ pidfd_open၊ pidfd_getfd နဟင့် pidfd_send_signal လုပ်ဆောင်ချက်မျာသကို အကောင်အထည်ဖော်ထာသပဌီသ၊ PID ပဌန်လည်အသုံသပဌုမဟုအခဌေအနေမျာသကို ကိုင်တလယ်ရာတလင် ကူညီပေသသည့် pidfd လုပ်ဆောင်ချက်မျာသကို ဝင်ရောက်အသုံသပဌုခလင့်ပေသကာ စောင့်ကဌည့်ထာသသောဖိုင်မျာသကို ဝင်ရောက်ကဌည့်ရဟုသည့် လုပ်ငန်သစဉ်မျာသကို ပိုမိုတိကျစလာခလဲခဌာသသတ်မဟတ်နိုင်ရန် (pidfd သည် သီသခဌာသလုပ်ငန်သစဉ်တစ်ခုနဟင့် ဆက်စပ်နေပဌီသ မပဌောင်သလဲသော်လည်သ PID လုပ်နိုင်သည် PID နဟင့်ဆက်စပ်နေသော လက်ရဟိလုပ်ငန်သစဉ်ကို ရပ်စဲပဌီသနောက် အခဌာသလုပ်ငန်သစဉ်တစ်ခုသို့ ချိတ်ဆက်ပါ။)
  • Linux ပလပ်ဖောင်သအတလက်၊ pidfd ကိုအသုံသပဌု၍ ပစ်မဟတ်လုပ်ငန်သစဉ်ကို ခလဲခဌာသသတ်မဟတ်ပဌီသ madvise() စနစ်ခေါ်ဆိုမဟုအာသ အခဌာသလုပ်ငန်သစဉ်တစ်ခုကိုယ်စာသ ထုတ်ပေသရန် လုပ်ငန်သစဉ်တစ်ခုအာသ ခလင့်ပဌုရန်အတလက် process_madvise() လုပ်ဆောင်ချက်ကို ထည့်သလင်သထာသပါသည်။ madvise() မဟတဆင့် မန်မိုရီဖဌင့်လုပ်ဆောင်ခဌင်သ၏အင်္ဂါရပ်မျာသအကဌောင်သ kernel အာသ သင်အကဌောင်သကဌာသနိုင်သည်; ဥပမာအာသဖဌင့်၊ ပေသပို့ထာသသောအချက်အလက်မျာသအပေါ်အခဌေခံ၍ kernel သည် အပိုဆောင်သအခမဲ့မဟတ်ဉာဏ်ကိုထုတ်လလဟတ်မဟုကိုစတင်နိုင်သည်။ madvise() သည် လက်ရဟိလုပ်ငန်သစဉ်တလင် လိုအပ်သောအချက်အလက်မျာသကို ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ရန် လိုအပ်သောအချက်အလက်မျာသကို madvise() သို့ ခေါ်ဆိုရန် လိုအပ်သော်လည်သ၊ အသုံသမပဌုသော memory မျာသကို သီသခဌာသလုပ်ငန်သစဉ်မျာသမဟ လလတ်လလတ်လပ်လပ်စတင်နိုင်စေသည့် သီသခဌာသနောက်ခံထိန်သချုပ်မဟုလုပ်ငန်သစဉ်ဖဌင့် ညဟိနဟိုင်သဆောင်ရလက်ပေသပါသည်။
  • Linux ပလပ်ဖောင်သအတလက်၊ process_mrelease() လုပ်ဆောင်ချက်ကို ထည့်သလင်သထာသပဌီသ၊ ၎င်သကို လုပ်ဆောင်မဟုပဌီသမဌောက်သည့် လုပ်ငန်သစဉ်တစ်ခုအတလက် မဟတ်ဉာဏ်ထုတ်လလဟတ်မဟုကို အရဟိန်မဌဟင့်နိုင်စေမည်ဖဌစ်သည်။ ပုံမဟန်အခဌေအနေမျာသတလင်၊ အရင်သအမဌစ်ထုတ်လလဟတ်မဟုနဟင့် လုပ်ငန်သစဉ်ရပ်စဲခဌင်သသည် ချက်ချင်သမဖဌစ်နိုင်ပဌီသ အကဌောင်သအမျိုသမျိုသကဌောင့် နဟောင့်နဟေသနိုင်ပဌီသ၊ oomd (systemd မဟ ပံ့ပိုသပေသသည်) ကဲ့သို့သော အသုံသပဌုသူ-အာကာသမဟတ်ဉာဏ်အစောပိုင်သတုံ့ပဌန်မဟုစနစ်မျာသကို အနဟောင့်အယဟက်ဖဌစ်စေနိုင်သည်။ process_mrelease ကိုခေါ်ဆိုခဌင်သဖဌင့်၊ ထိုစနစ်မျာသသည် အတင်သအကဌပ်လုပ်ဆောင်မဟုမျာသမဟ မဟတ်ဉာဏ်ပဌန်လည်ရယူခဌင်သကို ပိုမိုခန့်မဟန်သနိုင်သည်။
  • "no-aaaa" ရလေသချယ်မဟုအတလက် ပံ့ပိုသမဟုအာသ AAAA မဟတ်တမ်သမျာသအတလက် DNS စုံစမ်သမေသမဌန်သမဟုမျာသကို ပေသပို့ခဌင်သကို ပိတ်နိုင်စေသည့် DNS ဖဌေရဟင်သသည့်စနစ်၏ built-in အကောင်အထည်ဖော်မဟုတလင် ထည့်သလင်သထာသပါသည်။ ပဌဿနာရဟာဖလေခဌင်သကို ရိုသရဟင်သစေရန် getaddrinfo() ကဲ့သို့ လုပ်ဆောင်ချက်မျာသ။ ကရလေသချယ်မဟုသည် /etc/hosts တလင် သတ်မဟတ်ထာသသော IPv6 လိပ်စာချိတ်ဆက်မဟုမျာသလုပ်ဆောင်ခဌင်သနဟင့် AI_PASSIVE အလံဖဌင့် getaddrinfo() သို့ခေါ်ဆိုမဟုမျာသအပေါ် သက်ရောက်မဟုမရဟိပါ။
  • Linux ပလပ်ဖောင်သအတလက်၊ fsopen၊ fsmount၊ move_mount၊ fsconfig၊ fspick၊ open_tree နဟင့် mount_setattr တို့သည် mount namespaces မျာသကို အခဌေခံ၍ ဖိုင်စနစ်တပ်ဆင်ခဌင်သကို စီမံခန့်ခလဲရန်အတလက် kernel API အသစ်သို့ ဝင်ရောက်ခလင့်ကို ပံ့ပိုသပေသထာသပါသည်။ အဆိုပဌုထာသသောလုပ်ဆောင်ချက်မျာသသည် သင့်အာသ mount() လုပ်ဆောင်ချက်ကိုအသုံသပဌုပဌီသ ယခင်ကလုပ်ဆောင်ခဲ့သည့် mount() လုပ်ဆောင်ချက်ကိုအသုံသပဌုထာသသည့် superblock ကိုလုပ်ဆောင်ရန်၊ ဖိုင်စနစ်အကဌောင်သအချက်အလက်မျာသကိုရယူရန်၊ တပ်ဆင်ခဌင်သဆိုင်ရာအချက်အလက်မျာသကိုရယူရန် အဆိုပဌုထာသသောလုပ်ဆောင်ချက်မျာသသည် သင့်အာသ သီသခဌာသစီလုပ်ဆောင်နိုင်စေမည်ဖဌစ်သည်။ သီသခဌာသလုပ်ဆောင်ချက်မျာသသည် ပိုမိုရဟုပ်ထလေသသော တောင်ပေါ်အခဌေအနေမျာသကို လုပ်ဆောင်ရန်နဟင့် superblock ကို ပဌန်လည်ပဌင်ဆင်ခဌင်သ၊ ရလေသချယ်မဟုမျာသကို ဖလင့်ခဌင်သ၊ mount အမဟတ်ကို ပဌောင်သလဲခဌင်သနဟင့် အခဌာသ namespace သို့ ရလဟေ့ခဌင်သကဲ့သို့သော လုပ်ဆောင်ချက်မျာသကို သီသခဌာသလုပ်ဆောင်နိုင်စလမ်သကို ပေသပါသည်။ ထို့အပဌင်၊ သီသခဌာသလုပ်ဆောင်ခဌင်သတလင် အမဟာသကုဒ်မျာသထလက်ရခဌင်သအကဌောင်သရင်သမျာသကို တိကျစလာဆုံသဖဌတ်နိုင်ပဌီသ overlayfs ကဲ့သို့သော multi-layer ဖိုင်စနစ်မျာသအတလက် အရင်သအမဌစ်မျာသစလာကို သတ်မဟတ်နိုင်စေပါသည်။
  • localedef သည် ASCII အစာသ UTF-8 ကုဒ်ပဌောင်သခဌင်သတလင် ပံ့ပိုသထာသသော ဒေသဆိုင်ရာ အဓိပ္ပါယ်ဖလင့်ဆိုချက်ဖိုင်မျာသကို လုပ်ဆောင်ရန်အတလက် ပံ့ပိုသမဟုပေသပါသည်။
  • Multi-byte mbrtoc8 နဟင့် c8rtomb ကုဒ်နံပါတ်မျာသကို ISO C2X N2653 နဟင့် C++20 P0482R6 သတ်မဟတ်ချက်မျာသအဖဌစ်သို့ ပဌောင်သရန် လုပ်ဆောင်ချက်မျာသကို ထည့်သလင်သထာသသည်။
  • ISO C8X N2 စံနဟုန်သမူကဌမ်သတလင် သတ်မဟတ်ထာသသော char2653_t အမျိုသအစာသအတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။
  • getrandom စနစ်ခေါ်ဆိုမဟုနဟင့် အရည်အသလေသမဌင့် pseudorandom နံပါတ်မျာသကို ပဌန်ပေသသည့် /dev/urandom အင်တာဖေ့စကို ပံ့ပိုသပေသသည့် arc4random၊ arc4random_buf၊ နဟင့် arc4random_uniform လုပ်ဆောင်ချက်မျာသကို ထည့်သလင်သထာသသည်။
  • Linux ပလပ်ဖောင်သပေါ်တလင်လည်ပတ်သောအခါ၊ ၎င်သသည် Loongson 3 5000 ပရိုဆက်ဆာမျာသတလင်အသုံသပဌုသည့် LoongArch ညလဟန်ကဌာသချက်အစုံဗိသုကာကိုပံ့ပိုသပေသပဌီသ MIPS နဟင့် RISC-V တို့နဟင့်ဆင်တူသော RISC ISA အသစ်ကိုအကောင်အထည်ဖော်သည်။ ၎င်သ၏လက်ရဟိပုံစံတလင်၊ LoongArch (LA64) ၏ 64-bit ဗာသရဟင်သအတလက်သာ ပံ့ပိုသမဟုရရဟိနိုင်သည်။ အလုပ်လုပ်ရန်၊ သင်သည် အနည်သဆုံသ binutils 2.38၊ GCC 12 နဟင့် Linux kernel 5.19 ဗာသရဟင်သမျာသ လိုအပ်ပါသည်။
  • ကဌိုတင်လင့်ခ်ယန္တရာသအပဌင် ၎င်သနဟင့်ဆက်စပ်နေသည့် LD_TRACE_PRELINKING နဟင့် LD_USE_LOAD_BIAS ပတ်၀န်သကျင် ကိန်သရဟင်မျာသနဟင့် လင့်ခ်လုပ်နိုင်စလမ်သမျာသကို ရပ်ဆိုင်သထာသပဌီသ အနာဂတ်ထုတ်ဝေမဟုတလင် ဖယ်ရဟာသပါမည်။
  • Linux kernel ဗာသရဟင်သကို စစ်ဆေသခဌင်သနဟင့် LD_ASSUME_KERNEL ပတ်ဝန်သကျင် ပဌောင်သလဲမဟုအာသ ကိုင်တလယ်ခဌင်သအတလက် ကုဒ်ကို ဖယ်ရဟာသထာသသည်။ Glibc ကို တည်ဆောက်သည့်အခါ ပံ့ပိုသပေသသည့် kernel ၏ အနည်သဆုံသဗာသရဟင်သကို ELF အကလက် NT_GNU_ABI_TAG မဟတဆင့် ဆုံသဖဌတ်သည်။
  • LD_LIBRARY_VERSION ပတ်ဝန်သကျင် ပဌောင်သလဲမဟုအာသ Linux ပလပ်ဖောင်သပေါ်တလင် ရပ်ဆိုင်သလိုက်ပါပဌီ။

source: opennet.ru

မဟတ်ချက် Add