Messages in this thread | | | Date | Thu, 21 Dec 2023 12:28:08 +0000 | From | "Arnd Bergmann" <> | Subject | Re: element sizes in input_event struct on riscv32 |
| |
On Thu, Dec 21, 2023, at 08:56, Antonios Salios wrote: > On Tue, 2023-12-19 at 13:53 +0000, Arnd Bergmann wrote: >> On Tue, Dec 19, 2023, at 02:50, Dmitry Torokhov wrote: > > The header is included from the sysroot of the toolchain, using version > 6.5.6. > I'm using glibc 2.37 with a toolchain built from Buildroot. > > The problem seems to be, that __USE_TIME_BITS64 is not defined even > though riscv32 uses 64-bit time.
That sounds like a libc bug. Which C library are you using?
> __BITS_PER_LONG is set to 32 & __KERNEL__ is (of course) undefined in > userspace. > The userspace therefore uses 64-bit values as opposed to the kernel, > which uses 32-bit values. > > __USE_TIME_BITS64 is only set when __TIMESIZE is set to 32. [1] > Under riscv32, the default value of 64 is used. [2]
I don't know what __TIMESIZE is, this is not part of the kernel ABI as far as I can tell. __USE_TIME_BITS64 should be set by any 32-bit architecture if the C library defines a 64-bit time_t, otherwise the kernel headers have no way of picking the correct definitions based on preprocessor logic.
Arnd
| |