Re: [PATCH 3/4] openrisc: Support floating point user api

From: Szabolcs Nagy
Date: Mon Jun 26 2023 - 17:47:27 EST


* Stafford Horne <shorne@xxxxxxxxx> [2023-04-18 17:58:12 +0100]:
> Add support for handling floating point exceptions and forwarding the
> SIGFPE signal to processes. Also, add fpu state to sigcontext.
>
> Signed-off-by: Stafford Horne <shorne@xxxxxxxxx>
> ---
...
> --- a/arch/openrisc/include/uapi/asm/sigcontext.h
> +++ b/arch/openrisc/include/uapi/asm/sigcontext.h
> @@ -28,6 +28,7 @@
>
> struct sigcontext {
> struct user_regs_struct regs; /* needs to be first */
> + struct __or1k_fpu_state fpu;
> unsigned long oldmask;
> };

this seems to break userspace abi.
glibc and musl have or1k abi without this field.

either this is a new abi where binaries opt-in with some marking
and then the base sigcontext should be unmodified,

or the fp state needs to be added to the signal frame in a way that
does not break existing abi (e.g. end of the struct ?) and also
advertise the new thing via a hwcap, otherwise userspace cannot
make use of it.

unless i'm missing something.