reintroduce riscv64 struct sigcontext

commit ab3eb89a8b 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.
This commit is contained in:
Rich Felker 2019-10-02 09:28:03 -04:00
parent 2c2477da9a
commit a0993f8f0f
1 changed files with 10 additions and 6 deletions

View File

@ -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;