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.30 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);
  • Функция gettimeofday отныне не передаёт сведения о общесистемном часовом поясе (данная возможность была актуальна во времена 4.2-BSD и много лет объявлена устаревшей). В аргументе ‘tzp’ теперь следует передавать нулевой указатель, а для получения сведений о часовом поясе в привязке к текущему времени использовать функцию localtime(). При вызове gettimeofday с ненулевым аргументом ‘tzp’ будут возвращены пустые поля tz_minuteswest и tz_dsttime в структуре timezone. Сама функция gettimeofday считается устаревшей в POSIX (вместо gettimeofday рекомендуется использовать clock_gettime), но удалять её из 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).
  • В случает сбоя связывания в режиме «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