[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190703001842.12238-1-alistair.francis@wdc.com>
Date: Tue, 2 Jul 2019 17:18:40 -0700
From: Alistair Francis <alistair.francis@....com>
To: linux-riscv-bounces@...ts.infradead.org, arnd@...db.de
Cc: linux-kernel@...r.kernel.org, alistair23@...il.com,
Alistair Francis <alistair.francis@....com>
Subject: [PATCH 0/2] RISC-V: Handle the siginfo_t offset problem
In the RISC-V 32-bit glibc port [1] the siginfo_t struct in the kernel
doesn't line up with the struct in glibc. In glibc world the _sifields
union is 8 byte alligned (although I can't figure out why) while in the
kernel wordl the _sifields union is 4 bytes alligned. This results in
information being lost in the waitid syscall.
This doesn't seem to be a great fix, but it is somewhat similar to what
x32 does (which has 64-bit time_t like RV32) and I can't figure out why
the two allignments are different.
1: https://github.com/alistair23/glibc/commits/alistair/rv32.next
Alistair Francis (2):
uapi/asm-generic: Allow defining a custom __SIGINFO struct
riscv/include/uapi: Define a custom __SIGINFO struct for RV32
arch/riscv/include/uapi/asm/siginfo.h | 32 +++++++++++++++++++++++++++
include/uapi/asm-generic/siginfo.h | 32 ++++++++++++++-------------
2 files changed, 49 insertions(+), 15 deletions(-)
create mode 100644 arch/riscv/include/uapi/asm/siginfo.h
--
2.22.0
Powered by blists - more mailing lists