[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1a528414-f193-4ac0-a911-af426bb48d64@app.fastmail.com>
Date: Thu, 21 Dec 2023 12:28:08 +0000
From: "Arnd Bergmann" <arnd@...db.de>
To: "Antonios Salios" <antonios@....re>,
"Dmitry Torokhov" <dmitry.torokhov@...il.com>,
"Deepa Dinamani" <deepa.kernel@...il.com>
Cc: rydberg@...math.org, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org, "Jan Henrik Weinstock" <jan@....re>,
Lukas Jünger <lukas@....re>
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
Powered by blists - more mailing lists