Re: [PATCH 2/2] riscv/include/uapi: Define a custom __SIGINFO struct for RV32

From: Alistair Francis
Date: Wed Jul 03 2019 - 14:45:09 EST


On Wed, Jul 3, 2019 at 1:41 AM Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
> On Wed, Jul 3, 2019 at 2:21 AM Alistair Francis
> <alistair.francis@xxxxxxx> wrote:
> >
> > The glibc implementation of siginfo_t results in an allignment of 8 bytes
> > for the union _sifields on RV32. The kernel has an allignment of 4 bytes
> > for the _sifields union. This results in information being lost when
> > glibc parses the siginfo_t struct.
>
> I think the problem is that you incorrectly defined clock_t to 64-bit,
> while it is 32 bit in the kernel. You should fix the clock_t definition
> instead, it would otherwise cause additional problems.

That is the problem. I assume we want to change the kernel to use a
64-bit clock_t.

What I don't understand though is how that impacted this struct, it
doesn't use clock_t at all, everything in the struct is an int or
void*.

Alistair

>
> Arnd