
De GNU C-bibliotheek (Glibc) zag een nieuwe batch van Jaar 2038“Y2038″voorbereidingen op Dinsdag voor de Unix-tijdstempel voor wanneer de tijd sinds 1 januari 1970 niet meer kan worden opgeslagen in een 32-bits geheel getal met teken.
Er waren verschillende Y2038-patches die moesten worden samengevoegd met Glibc in de afgelopen dag, maar uiteindelijk is het belangrijkste hoogtepunt ondersteuning voor 64-bits tijd met de legacy ABI’s.
Zoals uitgelegd door Adhemerval Zanella van Linaro,”Een nieuwe build-vlag, _TIME_BITS, maakt het gebruik van de nieuwere 64-bits
tijdsymbolen voor legacy ABI (waar 32-bit time_t standaard is). De 64-bits tijdondersteuning is alleen ingeschakeld als LFS (_FILE_OFFSET_BITS=64) ook wordt gebruikt. Anders dan LFS-ondersteuning, worden de y2038-symbolen alleen toegevoegd voor de vereiste ABI’s (armhf, csky, hppa, i386, m68k, microblaze, mips32, mips64-n32, nios2, powerpc32, sparc32, s390-32 en sh). De ABI’s met 64-bits tijdondersteuning zijn ongewijzigd, zowel voor het omleiden van symbolen als voor typen. Op Linux is voor de volledige 64-bits tijdondersteuning minimaal kernelversie v5.1 vereist. Anders worden de 32-bits fallbacks gebruikt en kan dit leiden tot een fout met de overloopretourcode (EOVERFLOW).”
De omleidingen voor het afhandelen van 64-bits tijd zijn toegevoegd voor fstat, gettimeofday, mktime, nanosleep, select, stat, time, utime en vele andere libc-aanroepen, evenals voor librt en libanl.
Met recente versies van de Linux-kernel en andere belangrijke softwarecomponenten voor de gebruikersruimte, is de afhandeling van het jaar 2038 in relatief goede staat en nu gaat dit Glibc-werk voor een goede afhandeling met de legacy ABI’s dit nu grondiger af. Er is nog zeventien jaar te gaan tot de”Epochalyps”, maar vooral op het embedded front valt nog te bezien hoeveel systemen/hardware door de leverancier zullen worden bijgewerkt om het probleem te verhelpen.