- Package:
- libc0.3-dev
- Source:
- libc0.3-dev
- Submitter:
- Simon Richter
- Date:
- 2026-09-05 09:21:02 UTC
- Severity:
- normal
- Tags:
Hi, The gcli package has a testsuite with post-2038 dates, which fail on Hurd. We explicitly set -D_TIME_BITS=64 in CFLAGS, which solves the problem everywhere else (even i386), but on Hurd, this is silently ignored. In /usr/include/features-time64.h there is only a comment that it is unsupported, not even a warning. Simon
Hello, Simon Richter, le dim. 23 août 2026 18:45:31 +0900, a ecrit: Ah, indeed, that's the generic version. We'd need to at least support the redirection way, indeed. Samuel
reassign 1145140 libc0.3-dev thanks Hi, The Hurd's libc SOVERSION is 0.3, so reassigning to the (hopefully) correct package. Michael
Samuel Thibault, le dim. 23 août 2026 11:53:34 +0200, a ecrit: I have looked at the uses of time_t in the hurd part of glibc: - We'd need a stat64_time64 variant of stat64. - We'd need a 64b variant of msqid_ds. - We'd need a 64b variant of shmid_ds. - We'd need _time64 variants of various functions, probably something like: sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 ___adjtimex64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __adjtime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __clock_adjtime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __clock_gettime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __clock_settime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __cnd_timedwait64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __ctime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __ctime64_r F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __difftime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __futimens64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __futimes64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __futimesat64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __getitimer64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __gettimeofday64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __gmtime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __gmtime64_r F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __localtime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __localtime64_r F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __lutimes64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __mktime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __mtx_timedlock64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __ntp_gettime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __ntp_gettimex64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __pthread_cond_timedwait64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __pthread_mutex_timedlock64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __pthread_rwlock_timedrdlock64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __pthread_rwlock_timedwrlock64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __pthread_timedjoin_np64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __sem_timedwait64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __semtimedop64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __setitimer64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __settimeofday64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __sigtimedwait64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timegm64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timer_gettime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timer_settime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timerfd_gettime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timerfd_settime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timespec_get64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __timespec_getres64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __utime64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __utimensat64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __utimes64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __aio_suspend_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __clock_nanosleep_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fcntl_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fstat64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fstatat64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fts64_children_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fts64_close_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fts64_open_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fts64_read_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __fts64_set_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __ftw64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __gai_suspend_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __glob64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __globfree64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __ioctl_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __lstat64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __mq_timedreceive_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __mq_timedsend_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __nftw64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __prctl_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __stat64_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __wait3_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.34 __wait4_time64 F sysdeps/unix/sysv/linux/i386/libc.abilist:GLIBC_2.35 __epoll_pwait2_time64 F Not sure it's worth the hassle for i386, while for other 32bit archs we could define time_t as 64b already. Samuel
Samuel Thibault, le dim. 23 août 2026 11:53:34 +0200, a ecrit: But it's actually a lot of work (introducing compatibility stat64_time64 and timespec64 structures, adding about a 100 compatibility functions) only for the hurd-i386 port which is probably going to fade out exactly like the i386 port anyway. I have thus rather added a compilation warning on hurd-i386. Samuel
I think we expect the i386 port to live on, however with broken time_t values. For hurd-i386 IIRC it was said that the port will cease before 2038, so it doesn't need this support? Best, Chris
Chris Hofstaedtler, le mar. 25 août 2026 21:41:06 +0200, a ecrit: Will it really live, with completely broken time, beyond 2038? That's the idea, yes. Samuel
Hi, 26 Aug 2026 04:41:06 Chris Hofstaedtler <zeha@debian.org>: i386 has working 64-bit time_t if a program asks for it, though, and gcli's post-2038 tests pass there. Also, it seems hurd-amd64 has the same issue (although that's unverified, there doesn't appear to be a hurd-amd64 porterbox). Simon
Simon Richter, le mer. 26 août 2026 10:54:01 +0900, a ecrit: Yes, because a lot of effort was spent to get it. No, the buildd log says otherwise. Samuel
That is the current project position, as far as I know. Personally I think when 2038 comes closer or has passed, it will become more clear what will happen. Chris
We believe that the bug you reported is fixed in the latest version of
glibc, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1145140@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Aurelien Jarno <aurel32@debian.org> (supplier of updated glibc package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sat, 05 Sep 2026 11:01:17 +0200
Source: glibc
Architecture: source
Version: 2.43-5
Distribution: unstable
Urgency: medium
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aurel32@debian.org>
Closes: 1145140 1145332 1145406 1145880 1145891 1145987 1146721
Changes:
glibc (2.43-5) unstable; urgency=medium
.
[ Samuel Thibault ]
* debian/patches/hurd-i386/git-timedblock-signal.diff: Fix livelock of timed
waits vs signals.
* debian/patches/hurd-i386/git-time_bits_i386.diff: Warn about compiling
with _TIME_BITS=64 on hurd-i386. Closes: #1145140.
* debian/patches/hurd-i386/git-time_bits_i386_32.diff: Compile programs with
_TIME_BITS=32 on hurd-i386.
* debian/patches/hurd-i386/git-setreugid.diff: Fix setreuid/setregid setting
saved ID to new effective ID.
.
[ Aurelien Jarno ]
* debian/patches/git-updates.diff: update from upstream stable branch:
- Fix unresolvable R_68K_32 relocation against symbol `fmod@@GLIBC_2.43'
on m68k. Closes: #1145406.
- Fix a buffer overflow in strfmon right-justification padding
(CVE-2026-19499). Closes: #1145891.
- Fix a hang when decoding SHIFT_JISX0213 to UTF-32 (CVE-2026-77117).
Closes: #1145880.
- Fix a hand when decoding EUC_JISX0213 to UTF-32 (CVE-2026-80489).
Closes: #1145987.
- Fix setrlimit compat symbol for negative rlim values besides -1 on
alpha.
- Fix stack alignment in makecontext on alpha.
- Fix FE_NOMASK_ENV on alpha.
- Mark test-float32x-float64-div as failing on alpha.
- Fix a heap buffer overlow in how fopen() parses the ,ccs= mode suffix
(CVE-2026-18374). Closes: #1146721.
.
[ Michael Cree ]
* Update the expected testsuite failures for alpha. Closes: #1145332.
Checksums-Sha1:
50728368d14b4fc1ddf3a59f1ed6fcda3fd8701b 8571 glibc_2.43-5.dsc
16b0fc62ab0508f17c64c3d0d54d1562c9476be3 488640 glibc_2.43-5.debian.tar.xz
d00380781cd4827925bd06d3ff52388ad078a4d2 9497 glibc_2.43-5_source.buildinfo
Checksums-Sha256:
ca7c7966a111971013900f42cd6c164c6ea2c20e10866db26789c1f3520300f7 8571 glibc_2.43-5.dsc
206a73950742be6fdcfc19d7502acd96bf9b2b4cace0433f076bfa89fbaf4db7 488640 glibc_2.43-5.debian.tar.xz
eab5c4c9da2819eb666eaf071247458f9e06c2880846b4e2abd0bfde03c64afe 9497 glibc_2.43-5_source.buildinfo
Files:
e7d5aa300abbd5c110cfb2d72bd6677b 8571 libs required glibc_2.43-5.dsc
c9abc03d65331e920059b7c39d92a3e1 488640 libs required glibc_2.43-5.debian.tar.xz
2f91024eae4ea32b2fcaf3ff9ad17e18 9497 libs required glibc_2.43-5_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEUryGlb40+QrX1Ay4E4jA+JnoM2sFAmqb3AcACgkQE4jA+Jno
M2sqWA//aTmPQtd+9NG8pXXXJQzvrfRh6bwYI3kubftK38KxnR2vq+3x7m0lQOlw
BnN2DQ1ubKcga3aBERzJXEUC1Y1OwCBKkvVuJVM1UMrhRSnKr5jnAY49LePj4gyc
CcM+U49lvKVJOnKjoz3AkIEtM/7o4cQYpqo/Jrc+n7078kDITW63CGmGu6LbuXBx
H0B2vrTE1+XEEWZ7aJlU6MPoz6FrmsHXo4VCgYbn6YEBeYg0+xmmuagLm4jbCVmz
TO4nYX/vRprtU0JuN3ONJ0MaTbrCd8cV+lf6Y0E19XYxLn/vc3gpK5PJEdGKH5EM
qMsU1x6vZvq8b8h9XaOHH2WeA4KJZI6NHuLh4oNLg/9KgNLGf9kL2H1ogIuvS1v4
Xlz+vpOdmp+rVQ2noraBm5bgqqmY5fHLnnfmd8qROJ1l/juKgEc5z4EW3kvfPeDx
MZXRVj3uRUS/trg9/SKQJtXEv8Bl2l5iLlUM73eIsSPQ0qUVQNX95+1eje84degd
WkXHd5uPR2UJIyLHMntxXoIrIEpVKP1xEGIdHhq+By4MM6ch49z+HzH5WAVk1TP2
81A4l1jsIXmxaEncDvnENgJjMms6tFIlLdEEkWh8nHdKDXf11vqxxi9SVFFbAa9Q
zctVElJZE8iXsxu6VW95ile5l9qyA72YTVwCGAogbIYxnhCsfBk=
=7wK7
-----END PGP SIGNATURE-----