diff options
author | Rich Felker <dalias@aerifal.cx> | 2019-10-02 09:28:03 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2019-10-02 09:28:03 -0400 |
commit | a0993f8f0f161423ecdcb754f282ffd2fe47a7b5 (patch) | |
tree | 0138f50996e01fcf5f219699033ad6fc89c11b3b | |
parent | 2c2477da9a553c0b9b2fa18073a5dcdbe6d395af (diff) | |
download | musl-a0993f8f0f161423ecdcb754f282ffd2fe47a7b5.tar.gz musl-a0993f8f0f161423ecdcb754f282ffd2fe47a7b5.tar.bz2 musl-a0993f8f0f161423ecdcb754f282ffd2fe47a7b5.tar.xz musl-a0993f8f0f161423ecdcb754f282ffd2fe47a7b5.zip |
reintroduce riscv64 struct sigcontext
commit ab3eb89a8b83353cdaab12ed017a67a7730f90e9 removed it as part of
correcting the mcontext_t definition, but there is still code using
struct sigcontext and expecting the member names present in it, most
notably libgcc_eh. almost all such usage is incorrect, but bring back
struct sigcontext at least for now so as not to introduce regressions.
-rw-r--r-- | arch/riscv64/bits/signal.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/riscv64/bits/signal.h b/arch/riscv64/bits/signal.h index 03fe48c1..2ff4be30 100644 --- a/arch/riscv64/bits/signal.h +++ b/arch/riscv64/bits/signal.h @@ -6,12 +6,6 @@ # define SIGSTKSZ 8192 #endif -#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -typedef unsigned long greg_t; -typedef unsigned long gregset_t[32]; -typedef union __riscv_mc_fp_state fpregset_t; -#endif - typedef unsigned long __riscv_mc_gp_state[32]; struct __riscv_mc_f_ext_state { @@ -41,6 +35,16 @@ typedef struct mcontext_t { union __riscv_mc_fp_state __fpregs; } mcontext_t; +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long greg_t; +typedef unsigned long gregset_t[32]; +typedef union __riscv_mc_fp_state fpregset_t; +struct sigcontext { + gregset_t gregs; + fpregset_t fpregs; +}; +#endif + struct sigaltstack { void *ss_sp; int ss_flags; |