ஆறு மாத வளர்ச்சிக்குப் பிறகு, GNU C நூலகம் (glibc) 2.36 வெளியிடப்பட்டது, இது ISO C11 மற்றும் POSIX.1-2017 தரநிலைகளின் தேவைகளுக்கு முழுமையாக இணங்குகிறது. புதிய வெளியீட்டில் 59 டெவலப்பர்களின் திருத்தங்கள் உள்ளன.
Glibc 2.36 இல் செயல்படுத்தப்பட்ட சில மேம்பாடுகள் பின்வருமாறு:
- பகிரப்பட்ட பொருள்கள் மற்றும் Position-Independent Executables (PIE) பயன்முறையில் இணைக்கப்பட்ட செயல்படுத்தக்கூடியவற்றில் தொடர்புடைய இடமாற்றங்களின் அளவைக் குறைக்கும் புதிய DT_RELR (ஒப்பீட்டு இடமாற்றம்) வடிவமைப்பிற்கான ஆதரவு சேர்க்கப்பட்டுள்ளது. ELF கோப்புகளில் DT_RELR புலத்தைப் பயன்படுத்துவதற்கு "-z pack-relative-relocs" இணைப்பான் விருப்பத்திற்கான ஆதரவு தேவைப்படுகிறது, இது binutils 2.38 இல் அறிமுகப்படுத்தப்பட்டது.
- மேடைக்கு Linux pidfd_open, pidfd_getfd, மற்றும் pidfd_send_signal ஆகிய செயல்பாடுகள் நடைமுறைப்படுத்தப்பட்டுள்ளன. இவை, கண்காணிக்கப்படும் கோப்புகளை அணுகும் செயல்முறைகளை மிகவும் துல்லியமாக அடையாளம் காண, PID மறுபயன்பாட்டுச் சூழ்நிலைகளைக் கையாள உதவும் pidfd செயல்பாட்டிற்கான அணுகலை வழங்குகின்றன (pidfd ஒரு குறிப்பிட்ட செயல்முறையுடன் தொடர்புடையது மற்றும் மாறாது, அதேசமயம் ஒரு PID உடன் தொடர்புடைய தற்போதைய செயல்முறை நிறுத்தப்பட்ட பிறகு, அந்த PID மற்றொரு செயல்முறையுடன் தொடர்புபடுத்தப்படலாம்).
- மேடைக்கு Linux process_madvise() என்ற செயல்பாடு சேர்க்கப்பட்டுள்ளது. இது, pidfd-ஐப் பயன்படுத்தி இலக்குச் செயல்முறையை அடையாளம் கண்டு, ஒரு செயல்முறை மற்றொரு செயல்முறையின் சார்பாக madvise() சிஸ்டம் அழைப்பைச் செயல்படுத்த அனுமதிக்கிறது. செயல்முறையின் நினைவக மேலாண்மையை மேம்படுத்துவதற்காக, நினைவகப் பயன்பாட்டு விவரங்களைப் பற்றி கர்னலுக்குத் தெரிவிக்க madvise() பயன்படுத்தப்படலாம்; எடுத்துக்காட்டாக, கூடுதல் காலி நினைவகத்தை விடுவிப்பதைத் தொடங்க, வழங்கப்பட்ட தகவலை கர்னல் பயன்படுத்தலாம். மேம்படுத்தலுக்குத் தேவையான தகவல் தற்போதைய செயல்முறைக்குத் தெரியாத சூழ்நிலைகளிலும், செயல்முறைகளிலிருந்து பயன்படுத்தப்படாத நினைவகத்தை சுயாதீனமாக விடுவிக்கக்கூடிய ஒரு தனி பின்னணிக் கட்டுப்பாட்டுச் செயல்முறையால் ஒருங்கிணைக்கப்படும் சூழ்நிலைகளிலும், மற்றொரு செயல்முறையால் madvise() ஐ அழைப்பது அவசியமாகலாம்.
- மேடைக்கு Linux நிறுத்தப்படும் ஒரு செயல்முறையிலிருந்து நினைவகத்தை விடுவிப்பதை விரைவுபடுத்துவதற்காக process_mrelease() என்ற செயல்பாடு சேர்க்கப்பட்டுள்ளது. இயல்பான சூழ்நிலைகளில், வள விடுவிப்பும் செயல்முறை நிறுத்தமும் உடனடியாக நிகழ்வதில்லை, மேலும் பல்வேறு காரணங்களால் தாமதமாகலாம். இது, systemd வழங்கும் oomd போன்ற பயனர்-இட நினைவக அழுத்த எச்சரிக்கை அமைப்புகளுக்கு இடையூறு விளைவிக்கிறது. process_mrelease-ஐ அழைப்பதன் மூலம், அத்தகைய அமைப்புகள் வலுக்கட்டாயமாக நிறுத்தப்பட்ட செயல்முறைகளிலிருந்து நினைவக மீட்பை மிகவும் கணிக்கக்கூடிய வகையில் தொடங்க முடியும்.
- உள்ளமைக்கப்பட்ட DNS ரிசால்வர் செயல்படுத்தல் இப்போது "no-aaaa" விருப்பத்தை ஆதரிக்கிறது. இந்த விருப்பம், getaddrinfo() போன்ற NSS செயல்பாடுகளை செயல்படுத்தும்போது உட்பட, சரிசெய்தலை எளிதாக்க, AAAA பதிவுகளுக்கான DNS வினவல்களை (ஹோஸ்ட்பெயரை அடிப்படையாகக் கொண்ட IPv6 முகவரி தெளிவுத்திறன்) முடக்க உங்களை அனுமதிக்கிறது. இந்த விருப்பம் /etc/hosts அல்லது getaddrinfo() அழைப்புகளில் வரையறுக்கப்பட்ட IPv6 முகவரி பிணைப்புகளின் செயலாக்கத்தை AI_PASSIVE கொடியுடன் பாதிக்காது.
- மேடைக்கு Linux fsopen, fsmount, move_mount, fsconfig, fspick, open_tree, மற்றும் mount_setattr ஆகிய செயல்பாடுகள் சேர்க்கப்பட்டுள்ளன. இவை, மவுண்ட் நேம்ஸ்பேஸ்களைப் பொறுத்து கோப்பு முறைமை மவுண்டிங்கை நிர்வகிப்பதற்கான ஒரு புதிய கர்னல் API-க்கான அணுகலை வழங்குகின்றன. இந்தச் செயல்பாடுகள், முன்னர் பொதுவான mount() செயல்பாட்டைப் பயன்படுத்திச் செய்யப்பட்ட பல்வேறு மவுண்டிங் நிலைகளை (சூப்பர்பிளாக்கைச் செயலாக்குதல், கோப்பு முறைமைத் தகவலைப் பெறுதல், மவுண்ட் செய்தல், மற்றும் மவுண்ட் பாயின்ட்டுடன் இணைத்தல்) தனித்தனியாகச் செயலாக்க அனுமதிக்கின்றன. இந்தத் தனித்தனி செயல்பாடுகள், மிகவும் சிக்கலான மவுண்டிங் சூழல்களைச் சாத்தியமாக்குவதோடு, சூப்பர்பிளாக்கை மறுசீரமைத்தல், விருப்பங்களை இயக்குதல், மவுண்ட் பாயின்ட்டை மாற்றுதல், மற்றும் வேறு நேம்ஸ்பேஸிற்கு நகர்தல் போன்ற தனித்தனி செயல்பாடுகளையும் அனுமதிக்கின்றன. மேலும், இந்தத் தனித்தனி செயலாக்கம், பிழைக் குறியீடுகளுக்கான காரணங்களைத் துல்லியமாகக் கண்டறியவும், overlayfs போன்ற பல்லடுக்கு கோப்பு முறைமைகளுக்குப் பல மூலங்களைக் குறிப்பிடவும் உதவுகிறது.
- ASCII க்குப் பதிலாக UTF-8 குறியாக்கத்தில் வழங்கப்பட்ட மொழி வரையறைகளுடன் கோப்புகளை செயலாக்குவதற்கான ஆதரவை localedef செயல்படுத்துகிறது.
- ISO C2X N2653 மற்றும் C++20 P0482R6 விவரக்குறிப்புகளுக்கு ஒத்த, mbrtoc8 மற்றும் c8rtomb ஆகிய மல்டிபைட் குறியாக்கங்களை மாற்றுவதற்கான செயல்பாடுகள் சேர்க்கப்பட்டன.
- ISO C2X வரைவு தரநிலை N2653 இல் வரையறுக்கப்பட்ட char8_t வகைக்கான ஆதரவு சேர்க்கப்பட்டது.
- arc4random, arc4random_buf, மற்றும் arc4random_uniform செயல்பாடுகளைச் சேர்த்துள்ளோம், இவை getrandom அமைப்பு அழைப்பைச் சுற்றி ரேப்பர்களையும் உயர்தர போலி-ரேண்டம் எண்களைத் தரும் /dev/urandom இடைமுகத்தையும் வழங்குகின்றன.
- தளத்தில் பணிபுரியும் போது Linux லூங்சன் 3 5000 செயலிகளில் பயன்படுத்தப்படும் லூங்ஆர்ச் அறிவுறுத்தல் தொகுப்புக் கட்டமைப்புக்கான (ISA) ஆதரவு செயல்படுத்தப்பட்டுள்ளது. இந்தக் கட்டமைப்பு, MIPS மற்றும் RISC-V போன்ற ஒரு புதிய RISC ISA-வை செயல்படுத்துகிறது. தற்போது, லூங்ஆர்ச்சின் 64-பிட் பதிப்பிற்கான (LA64) ஆதரவு மட்டுமே உள்ளது. இதற்கு குறைந்தபட்சம் binutils 2.38, GCC 12 மற்றும் கர்னல் தேவை. Linux 5.19.
- தொடர்புடைய LD_TRACE_PRELINKING மற்றும் LD_USE_LOAD_BIAS சூழல் மாறிகள் மற்றும் இணைப்பான் அம்சங்களுடன் முன் இணைப்பு வழிமுறை நிராகரிக்கப்பட்டது, மேலும் எதிர்கால வெளியீட்டில் அகற்றப்படும்.
- கர்னல் பதிப்பைச் சரிபார்க்கும் குறியீடு நீக்கப்பட்டது Linux மற்றும் LD_ASSUME_KERNEL சூழல் மாறியைச் செயலாக்குதல். Glibc தொகுப்பின் போது ஆதரிக்கப்படும் குறைந்தபட்ச கெர்னல் பதிப்பானது NT_GNU_ABI_TAG ELF புலம் வழியாகத் தீர்மானிக்கப்படுகிறது.
- மேடையில் Linux LD_LIBRARY_VERSION சூழல் மாறிக்கான ஆதரவு நிறுத்தப்பட்டுள்ளது.
ஆதாரம்: opennet.ru
