Glibc 2.31 Ukukhutshwa kweThala leeNcwadi leNkqubo

Emva kweenyanga ezintandathu zophuhliso ipapashiwe inkqubo yokukhutshwa kwethala leencwadi GNU C Library (glibc) 2.31, ehambelana ngokupheleleyo neemfuno ze-ISO C11 kunye nemigangatho ye-POSIX.1-2008. Ukukhutshwa okutsha kubandakanya ukulungiswa okuvela kubaphuhlisi be-58.

Ukusuka kwezo ziphunyezwe kwi-Glibc 2.31 uphuculo ungaqaphela:

  • Yongezwe _ISOC2X_SOURCE macro ukwenza isakhono esichazwe kuyilo lwekamva lomgangatho we-ISO C2X. Ezi mpawu zikwasebenza xa usebenzisa i-_GNU_SOURCE macro okanye xa usakha kwi-gcc nge-β€œ-std=gnu2x” iflegi;
  • Kwimisebenzi echazwe kwiheader file "math.h" ezirhangqa iziphumo zazo kuhlobo oluncinci, uhlobo lwe-generic macros oluhambelanayo luyacetywa kwifayile "tgmath.h", njengoko kufunwa yingcaciso TS 18661-1:2014 kunye ne-TS 18661-3: 2015;
  • Kongezwe pthread_clockjoin_np() umsebenzi, olinda umsonto ukuba ugqitywe, kuthathelwa ingqalelo ixesha lokuphuma (ukuba ixesha lokuphuma lenzekile phambi kokugqiba, umsebenzi uya kubuyisela imposiso). Ngokungafaniyo pthread_timedjoin_np(), kwi pthread_clockjoin_np() kuyenzeka ukuchaza uhlobo lwesibali-xesha ekubaleni ixesha lokuphuma - CLOCK_MONOTONIC (ithathela ingqalelo ixesha elichithwe yinkqubo kwindlela yokulala) okanye CLOCK_REALTIME;
  • Isixazululi se-DNS ngoku sixhasa ukhetho lwentengiso-yethemba kwi/etc/resolv.conf kunye ne-RES_TRUSTAD iflegi kwi-_res.options, xa isetiwe, iflegi ye-DNSSEC ihanjiswa kwizicelo ze-DNS. AD (idatha eqinisekisiweyo). Kule mowudi, iflegi yeAD esetwe ngumncedisi ifumaneka kwizicelo ezibiza imisebenzi efana ne-res_search (). Ngokungagqibekanga, ukuba iinketho ezicetyiswayo azicwangciswanga, i-glibc ayikhankanyi iflegi ye-AD kwizicelo kwaye iyicime ngokuzenzekelayo kwiimpendulo, ebonisa ukuba iitshekhi ze-DNSSEC zilahlekile;
  • Ukwakha izibophelelo zefowuni yokusebenza ye-Glibc akusafuni kuhlohla iifayile zeheader ze-Linux. Imeko eyahlukileyo yi-64-bit ye-RISC-V yokwakha;
  • Iphelisiwe ukuba sesichengeni I-CVE-2019-19126, ekuvumela ukuba udlule ukhuseleko
    I-ASLR kwiinkqubo ezineflegi ehleliweyo kwaye imisele uyilo lwedilesi kumathala eencwadi alayishiweyo ngokukhohlisa i-LD_PREFER_MAP_32BIT_EXEC eguquguqukayo.

Utshintsho oluqhawula ukuhambelana:

  • totalorder (), totalordermag (), kunye nemisebenzi efanayo yezinye iindidi zeendawo ezidadayo ngoku zamkela izikhombisi njengeengxoxo zokuphelisa izilumkiso malunga nokuguqula amaxabiso kwimeko. NaN, ngokuhambelana neziphakamiso ze-TS 18661-1 ezicetywayo kumgangatho we-C2X wexesha elizayo.
    Izinto ezikhoyo eziphunyezwayo ezigqithisa iingxoxo zamanqaku adadayo ngokuthe ngqo ziya kuqhubeka ziqhuba ngaphandle kokuguqulwa;

  • Umsebenzi we-stime ekudala urhoxisiwe awusafumaneki kwi-glibc-linked binaries, kwaye inkcazo yayo isusiwe kwixesha.h. Ukuseta inkqubo yexesha, sebenzisa i-clock_settime umsebenzi. Kwixesha elizayo, siceba ukususa umsebenzi we-ftime oyekiweyo, kunye nefayile ye-sys/timeb.h yentloko (gettimeofday okanye clock_gettime kufuneka isetyenziswe endaweni ye-ftime);
  • Umsebenzi we-gettimeofday awusadlulisi ulwazi malunga nenkqubo yexesha lezowuni ebanzi (olu phawu lwalufanelekile ngeentsuku ze-4.2-BSD kwaye luye lwarhoxiswa iminyaka emininzi). Ingxoxo ye 'tzp' kufuneka ngoku igqithiswe isalathisi esingeyonyani, kwaye i-localtime() umsebenzi kufuneka usetyenziswe ukufumana ulwazi lwendawo yexesha ngokusekelwe kwixesha langoku. Ukufowunela i-gettimeofday ngengxoxo engeyiyo engu-zero 'tzp' iyakubuyisela i-tz_minuteswest engenanto kunye nemihlaba ye-tz_dsttime kwisakhiwo sendawo yexesha. Umsebenzi we gettimeofday ngokwawo uyekisiwe phantsi kwePOSIX (clock_gettime iyanconywa endaweni ye gettimeofday), kodwa akukho zicwangciso zokuyisusa kwi glibc;
  • i-settimeofday ayisakuxhasi ukugqithiswa kwangaxeshanye kweeparamitha zokuseta ixesha kunye ne-time-correction offset. Xa ufowuna ukusetha kwexesha losuku, enye yeengxoxo (ixesha okanye ulungiso) kufuneka ngoku imiselwe ekubeni ingabikho, kungenjalo umnxeba wokusebenza uya kusilela ngempazamo ye-EINVAL. Njenge gettimeofday, umsebenzi wexesha lokumisela usuku uyekisiwe yiPOSIX kwaye kuyacetyiswa ukuba endaweni yayo kufakwe clock_settime umsebenzi okanye adjtime usapho lwemisebenzi;
  • Inkxaso ye-architecture ye-SPARC ISA v7 iyekile (inkxaso ye-v8 igcinwe okwangoku, kodwa kuphela kwiiprosesa ezixhasa imiyalelo ye-CAS, njenge-LEON processors, kungekhona i-SuperSPARC).
  • Ukuba ukudibanisa kuyasilela kwi "Uvila", apho umnxibelelanisi engazikhangeli iisimboli zomsebenzi de kube yifowuni yokuqala kulo msebenzi, umsebenzi we-dlopen ngoku unyanzela inkqubo ukuba iphelise (eyayibuyisela ngaphambili i-NULL ngokusilela);
  • Kwi-MIPS hard-float ABI, istaki esiphunyezwayo siyasetyenziswa ngoku, ngaphandle kokuba ulwakhiwo luthintela ngokucacileyo ukusetyenziswa kweLinux 4.8+ kernel nge β€œ-enable-kernel=4.8.0” iparameter (ene-kernel ukuya kwi-4.8, ukuntlitheka kuyenzeka iqwalaselwe ulungelelwaniso oluthile lwe-MIPS);
  • Izibophelelo ezijikeleze iminxeba yesixokelelwano enxulumene nokuguqulwa kwexesha ziye zashenxiswa ukuze kusetyenziswe i-time64 inkqubo yokufowuna, ukuba ikhona (kwiinkqubo ze-32-bit, i-glibc izama kuqala iminxeba yenkqubo entsha elawula uhlobo lwexesha le-64-bit, kwaye ukuba akukho nanye, iyawa. buyela kwiifowuni ezindala ze-32-bit).

umthombo: opennet.ru

Yongeza izimvo