Sakin Laburaren Tsarin Glibc 2.31

Bayan watanni shida na ci gaba buga saki tsarin ɗakin karatu GNU C Library (glibc) 2.31, wanda ya cika cika ka'idodin ISO C11 da POSIX.1-2008. Sabuwar sakin ya haɗa da gyarawa daga masu haɓakawa 58.

Daga waɗanda aka aiwatar a cikin Glibc 2.31 ingantawa zaku iya lura:

  • An ƙara _ISOC2X_SOURCE macro don ba da damar damar da aka ayyana a cikin daftarin ma'aunin ISO na gaba Saukewa: C2X. Hakanan ana kunna waɗannan fasalulluka yayin amfani da macro _GNU_SOURCE ko lokacin gini a cikin gcc tare da tutar “-std=gnu2x”;
  • Don ayyuka da aka ayyana a cikin fayil ɗin taken "math.h" waɗanda ke zagaye sakamakon su zuwa ƙaramin nau'i, ana ba da shawarar nau'ikan macro masu dacewa a cikin fayil ɗin "tgmath.h", kamar yadda ƙayyadaddun TS 18661-1: 2014 da TS suka buƙata. 18661-3: 2015;
  • Ƙara aikin pthread_clockjoin_np(), wanda ke jiran zaren ya kammala, la'akari da lokacin ƙarewar (idan lokacin ya ƙare kafin kammalawa, aikin zai dawo da kuskure). Sabanin pthread_timedjoin_np(), a cikin pthread_clockjoin_np () yana yiwuwa a ayyana nau'in ƙididdiga don ƙididdige lokaci - CLOCK_MONOTONIC (yana la'akari da lokacin da tsarin ya kashe a yanayin barci) ko CLOCK_REALTIME;
  • Mai warwarewar DNS yanzu yana goyan bayan zaɓin amana-ad a /etc/resolv.conf da tutar RES_TRUSTAD a cikin _res.options, lokacin da aka saita, ana watsa tutar DNSSEC a cikin buƙatun DNS. AD (ingantattun bayanai). A cikin wannan yanayin, tutar AD ɗin da uwar garken ya saita zai zama samuwa ga aikace-aikacen da ke kiran ayyuka kamar res_search(). Ta hanyar tsoho, idan ba a saita zaɓuɓɓukan da aka ba da shawara ba, glibc baya ƙayyadadden tutar AD a cikin buƙatun kuma yana share ta ta atomatik a cikin martani, yana nuna cewa rajistan DNSSEC sun ɓace;
  • Gina tsarin aiki daurin kiran Glibc baya buƙatar shigar da fayilolin jigon kernel na Linux. Banda shi ne 64-bit RISC-V gine;
  • An kawar rauni CVE-2019-19126, wanda ke ba ku damar ƙetare kariyar
    ASLR a cikin shirye-shirye tare da alamar saiti kuma ƙayyade shimfidar adireshi a cikin ɗakunan karatu da aka ɗora ta hanyar yin amfani da madaidaicin yanayin LD_PREFER_MAP_32BIT_EXEC.

Canje-canjen da ke karya daidaituwa:

  • totalorder(), totalordermag(), da makamantansu ayyuka don sauran nau'ikan iyo-ma'ana yanzu suna karɓar masu nuni azaman muhawara don kawar da gargaɗi game da canza dabi'u a cikin jihar. Nan, daidai da shawarwarin TS 18661-1 da aka gabatar don ma'aunin C2X na gaba.
    Abubuwan da ake aiwatarwa waɗanda ke wuce gardama masu iyo kai tsaye za su ci gaba da gudana ba tare da gyara ba;

  • Aikin lokacin da aka daɗe ba ya samuwa don binaries masu alaƙa da glibc, kuma an cire ma'anarsa daga lokaci.h. Don saita lokacin tsarin, yi amfani da aikin clock_settime. A nan gaba, muna shirin cire aikin ftime da aka yanke, da kuma fayil ɗin sys/timeb.h (gettimeofday ko clock_gettime ya kamata a yi amfani da shi maimakon ftime);
  • Ayyukan gettimeofday baya wuce bayanai game da yankin lokaci mai faɗin tsarin (wannan fasalin ya dace a zamanin 4.2-BSD kuma an yanke shi tsawon shekaru da yawa). Ya kamata a ƙaddamar da hujjar 'tzp' a yanzu mai ma'ana mara kyau, kuma ya kamata a yi amfani da aikin gida() don samun bayanin yankin lokaci dangane da lokacin yanzu. Kiran gettimeofday tare da hujjar 'tzp' mara sifili zai dawo da filayen tz_minuteswest da tz_dsttime mara komai a cikin tsarin lokaci. Aikin gettimeofday da kansa ya ƙare a ƙarƙashin POSIX (ana ba da shawarar clock_gettime maimakon gettimeofday), amma babu wani shirin cire shi daga glibc;
  • settimeofday baya goyon bayan wucewa lokaci guda na sigogi don saita lokaci da daidaitawar lokaci. Lokacin kiran saƙon ranar, ɗayan muhawara (lokaci ko kashewa) dole ne a saita yanzu zuwa soke, in ba haka ba kiran aikin zai gaza tare da kuskuren EINVAL. Kamar gettimeofday, aikin settimeofday yana ƙarewa a cikin POSIX kuma ana ba da shawarar maye gurbinsu da aikin clock_settime ko dangin ayyuka na adjtime;
  • An daina goyan bayan tsarin gine-ginen SPARC ISA v7 (an ci gaba da goyon bayan v8 a yanzu, amma don masu sarrafawa waɗanda ke goyan bayan umarnin CAS, kamar na'urori masu sarrafawa na LEON, ba na'urori na SuperSPARC ba).
  • Idan an kasa yin gyare-gyare a cikin "m", wanda mahaɗin ba ya neman alamomin aiki har sai kiran farko zuwa wannan aikin, aikin dlopen yanzu yana tilasta tsarin ya ƙare (dawowa NULL akan gazawar);
  • Don MIPS hard-float ABI, yanzu ana amfani da tari mai aiwatarwa, sai dai idan ginin ya iyakance amfani da kwaya ta Linux 4.8+ ta hanyar ma'aunin "-enable-kernel=4.8.0" (tare da kernels har zuwa 4.8, hadarurruka suna faruwa. lura don wasu saitunan MIPS);
  • Abubuwan da ke kewaye da kiran tsarin da ke da alaƙa da magudin lokaci an motsa su don amfani da kiran tsarin time64, idan akwai (akan tsarin 32-bit, glibc ya fara gwada sabon tsarin kira wanda ke sarrafa nau'in lokaci na 64-bit, kuma idan babu ɗaya, ya faɗi. komawa zuwa tsoffin kira 32-bit).

source: budenet.ru

Add a comment