summaryrefslogtreecommitdiff
path: root/arch/riscv64/pthread_arch.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2019-09-29 18:20:40 -0400
committerRich Felker <dalias@aerifal.cx>2019-09-29 18:53:32 -0400
commitab3eb89a8b83353cdaab12ed017a67a7730f90e9 (patch)
treeb91deb687c7004417207e4b0a6077522211d2a95 /arch/riscv64/pthread_arch.h
parent33bc7f05fc856d8819083afe4668907a9d262e4c (diff)
downloadmusl-ab3eb89a8b83353cdaab12ed017a67a7730f90e9.tar.gz
fix riscv64 signal.h namespace violations and ucontext API mismatches
the top-level mcontext_t member names were namespace-violating in standards profiles before, and nested-level member names (some of them single-letter) were egregiously bad namespace impositions even in non-strict profiles. moreover, they mismatched those used in the public API first defined in glibc, breaking any code making use of them. unlike most archs, the public API used in glibc for riscv mcontext_t members was designed to be namespace-safe, so we can and should expose the members regardless of feature test macros. only the typedefs for greg_t, gregset_t, and fpregset_t need to be protected behind FTMs. the struct tags for mcontext_t and ucontext_t are also changed. for mcontext_t this is necessary to make the common definition across profiles namespace-safe. for ucontext_t, it's just a matter of matching the tag from the glibc-defined API. these changes are split off and expanded from a patch by Khem Raj.
Diffstat (limited to 'arch/riscv64/pthread_arch.h')
-rw-r--r--arch/riscv64/pthread_arch.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/riscv64/pthread_arch.h b/arch/riscv64/pthread_arch.h
index 1268b72d..db414b17 100644
--- a/arch/riscv64/pthread_arch.h
+++ b/arch/riscv64/pthread_arch.h
@@ -11,4 +11,4 @@ static inline struct pthread *__pthread_self()
#define DTP_OFFSET 0x800
-#define MC_PC gregs[0]
+#define MC_PC __gregs[0]