[Bug 2055837] Re: Wrong type for timeval.tv_usec on armhf/Noble (and other failures)
Bug Watch Updater
2055837 at bugs.launchpad.net
Tue Mar 19 11:52:16 UTC 2024
Launchpad has imported 1 comments from the remote bug at
https://sourceware.org/bugzilla/show_bug.cgi?id=31510.
If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.
------------------------------------------------------------------------
On 2024-03-19T11:24:14+00:00 Simon Chopin wrote:
POSIX documents struct timeval as follows:
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
Since bdc4782744df73a8c0559985c54b5b6b9c7a4a74 ("y2038: Add __USE_TIME_BITS64 support for struct timeval") tv_usec can have __suseconds64_t when using 64-bit time, however suseconds_t is unconditionally typedefed to __suseconds_t.
That leads to the following:
ubuntu at mantic-armhf:~$ cat test.c
#include <sys/time.h>
#include <stdio.h>
#include <assert.h>
int main(void)
{
struct timeval tv;
printf("tv_usec: %d, suseconds_t: %d\n", sizeof(tv.tv_usec), sizeof(suseconds_t));
assert(sizeof(tv.tv_usec) == sizeof(suseconds_t));
return 0;
}
ubuntu at mantic-armhf:~$ gcc test.c && ./a.out
tv_usec: 4, suseconds_t: 4
ubuntu at mantic-armhf:~$ gcc -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 test.c && ./a.out
tv_usec: 8, suseconds_t: 4
a.out: test.c:9: main: Assertion `sizeof(tv.tv_usec) == sizeof(suseconds_t)' failed.
Aborted (core dumped)
We noticed this when running the conformance tests on Ubuntu Noble,
where we've set _TIME_BITS=64 in the default GCC flags as part of the
ongoing t64 transition.
Reply at:
https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/2055837/comments/1
** Changed in: glibc
Status: Unknown => New
** Changed in: glibc
Importance: Unknown => Medium
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to glibc in Ubuntu.
https://bugs.launchpad.net/bugs/2055837
Title:
Wrong type for timeval.tv_usec on armhf/Noble (and other failures)
Status in GLibC:
New
Status in glibc package in Ubuntu:
Triaged
Bug description:
I xfailed a whole stack of the "conform" tests on armhf, which
presumably fail because of the change in default size of time_t (and
off_t). We should work out what is going on here before release --
maybe leaving them xfail is appropriate but I'm not confident to say
that at this time.
To manage notifications about this bug go to:
https://bugs.launchpad.net/glibc/+bug/2055837/+subscriptions
More information about the foundations-bugs
mailing list