diff options
Diffstat (limited to 'meta/recipes-core/musl/musl/0001-riscv-Define-sigcontext-again.patch')
-rw-r--r-- | meta/recipes-core/musl/musl/0001-riscv-Define-sigcontext-again.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta/recipes-core/musl/musl/0001-riscv-Define-sigcontext-again.patch b/meta/recipes-core/musl/musl/0001-riscv-Define-sigcontext-again.patch new file mode 100644 index 0000000000..fcb324e15f --- /dev/null +++ b/meta/recipes-core/musl/musl/0001-riscv-Define-sigcontext-again.patch @@ -0,0 +1,48 @@ +commit a0993f8f0f161423ecdcb754f282ffd2fe47a7b5 +Author: Rich Felker <dalias@aerifal.cx> +Date: Wed Oct 2 09:28:03 2019 -0400 + + 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. + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +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; |