ग्लिबैक 2.35 सुधार, बग फिक्स और बहुत कुछ के साथ आता है

छह महीने के विकास के बाद ग्लिबक 2.35 के नए संस्करण के विमोचन की घोषणा की गई जिसमें 66 डेवलपर्स के सुधार शामिल हैं और कार्यान्वित सुधारों में हम पा सकते हैं कि "C.UTF-8" लोकेल के लिए समर्थन जोड़ा गया था, जिसमें सभी यूनिकोड कोड के लिए कॉलेशन शामिल हैं, लेकिन यह बचाने के लिए fnmatch, regexec और regcomp कार्यों में ASCII श्रेणियों के उपयोग तक सीमित है। स्थान।

लोकेल लगभग 400 KB है, जिसमें से 346 KB यूनिकोड के लिए LC_CTYPE डेटा है, और इसे अलग से स्थापित किया जाना चाहिए (ग्लिब में निर्मित नहीं)। यूनिकोड 14.0.0 विनिर्देशन का समर्थन करने के लिए एन्कोडिंग डेटा, वर्ण प्रकार की जानकारी और लिप्यंतरण तालिकाओं को अद्यतन किया गया है।

एक और बदलाव जो खड़ा है, वह है यू कार्यों और मैक्रोज़ को लागू करें जो परिणाम को एक संकीर्ण प्रकार में गोल करते हैं, IEEE 754-2019 विनिर्देश में वर्णित फ्लोट, लॉन्ग डबल, _FloatN और _FloatNx के न्यूनतम और अधिकतम फ़्लोटिंग पॉइंट नंबर खोजने के लिए फ़ंक्शंस और मैक्रोज़ को लागू करने के अलावा।

कार्यों के लिए exp10, संबंधित मैक्रोज़ को हेडर फ़ाइल में जोड़ा जाता है, जो विशिष्ट प्रकारों के लिए बाध्य नहीं हैं, साथ ही _PRINTF_NAN_LEN_MAX मैक्रो को इसमें जोड़ा गया था , ISO C2X मानक के मसौदे में प्रस्तावित।

डायनेमिक लिंकिंग सिस्टम एक नया वर्गीकरण एल्गोरिदम लागू करता है डीएसओ गहराई खोज (डीएफएस) का उपयोग कर रहा है लूप निर्भरता को संभालते समय प्रदर्शन के मुद्दों को हल करने के लिए। DSO सॉर्ट एल्गोरिथम का चयन करने के लिए, glibc.rtld.dynamic_sort पैरामीटर प्रस्तावित है, जिसे पिछले एल्गोरिथम पर वापस आने के लिए "1" पर सेट किया जा सकता है।

इसके अलावा एक नए फ़ंक्शन '__memcmpeq' के लिए अतिरिक्त समर्थन ABI के लिए, जिसका उपयोग कंपाइलर द्वारा `memcmp' के उपयोग को अनुकूलित करने के लिए किया जाता है, जब इस फ़ंक्शन का रिटर्न मान केवल किसी ऑपरेशन की पूर्णता स्थिति की जांच के लिए उपयोग किया जाता है।

स्वचालित थ्रेड पंजीकरण के लिए समर्थन लिनक्स कर्नेल 4.18 के बाद से प्रदान की गई rseq (पुनरारंभ करने योग्य अनुक्रम) सिस्टम कॉल का उपयोग करना। rseq सिस्टम कॉल निर्देशों के समूह के निरंतर निष्पादन को व्यवस्थित करने की अनुमति देता है जो बाधित नहीं होता है और समूह में अंतिम विवरण के साथ परिणाम देता है। अनिवार्य रूप से, यह संचालन के बहुत तेजी से परमाणु निष्पादन के लिए एक सुविधा प्रदान करता है, अगर किसी अन्य धागे से बाधित होता है, तो इसे साफ किया जाता है और पुनः प्रयास किया जाता है।

दूसरी ओर, यह प्रदान करता है सभी निष्पादन योग्य फ़ाइलों का डिफ़ॉल्ट संकलन अंतर्निहित कार्यक्रमों और पीआईई (स्थिति-स्वतंत्र निष्पादन योग्य) मोड में एक परीक्षण सूट।

इस व्यवहार को अक्षम करने के लिए, विकल्प "-अक्षम-डिफ़ॉल्ट-पाई" प्रदान किया गया है, साथ ही लिनक्स के लिए, मैलोक कार्यान्वयन को बदलने के लिए एक glibc.malloc.hugetlb सेटिंग जोड़ी गई ताकि मैडविज़ सिस्टम कॉल का उपयोग mmap और sbrk के लिए MADV_HUGEPAGE फ़्लैग के साथ किया जा सके, या सीधे mmap कॉल में MAP_HUGETLB फ़्लैग को निर्दिष्ट करके बड़े मेमोरी पेजों का उपयोग किया जा सके।

पहले मामले में, मैडवाइज मोड में पारदर्शी विशाल पृष्ठों का उपयोग करके एक प्रदर्शन को बढ़ावा दिया जा सकता है, और दूसरे मामले में, आप सिस्टम-आरक्षित विशाल पृष्ठों (विशाल पृष्ठ) का उपयोग कर सकते हैं।

यह भी ध्यान दिया जाना चाहिए कि इस नए संस्करण में कुछ कमजोरियों को ठीक किया गया था:

  • सीवीई-2022-23218, सीवीई-2022-23219: svcunix_create और clnt_create फ़ंक्शंस में एक बफर ओवरफ़्लो कॉपी किए गए डेटा के आकार की जांच किए बिना फ़ाइल नाम पैरामीटर की सामग्री को स्टैक पर कॉपी करने के कारण होता है। स्टैक सुरक्षा के बिना बनाए गए अनुप्रयोगों और "यूनिक्स" प्रोटोकॉल का उपयोग करने के लिए, बहुत लंबे फ़ाइल नामों को संसाधित करते समय भेद्यता दुर्भावनापूर्ण कोड निष्पादन का कारण बन सकती है।
  • सीवीई-2021-3998: स्टैक से अशुद्ध अवशिष्ट डेटा वाली कुछ शर्तों के तहत गलत मान लौटाने के कारण realpath() फ़ंक्शन में एक भेद्यता। SUID-रूट fusermount प्रोग्राम के लिए, भेद्यता का उपयोग प्रक्रिया मेमोरी से संवेदनशील जानकारी प्राप्त करने के लिए किया जा सकता है, उदाहरण के लिए, पॉइंटर जानकारी प्राप्त करने के लिए।
  • सीवीई-2021-3999: getcwd() फ़ंक्शन में सिंगल बाइट बफर ओवरफ़्लो। समस्या एक बग के कारण है जो 1995 से आसपास है। एक अतिप्रवाह को कॉल करने के लिए, एक अलग माउंट पॉइंट नेमस्पेस में, बस "/" निर्देशिका पर chdir() को कॉल करें।

अंत में यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, आप इसमें विवरण देख सकते हैं निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।