mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-03 18:31:04 +00:00
3e1b518550
The problem is basically that sys/ucontext.h is defining R0..R15 which happens to conflict with some packages like Firefox when trying to build on SH. The very same problem existed on arm back then [1] and it was fixed by renaming R0..R15 to REG_R0..REG_R15. This patch imploy a similar strategy for SH. Checked on sh4-linux-gnu with run-built-tests=no and I also got reports that it fixes Firefox build on Debian sh4. * sysdeps/unix/sysv/linux/sh/sh3/ucontext_i.sym: Use new REG_R* constants instead of the old R* ones. * sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym: Likewise. * sysdeps/unix/sysv/linux/sh/sys/ucontext.h (NGPREG): Rename... (NGREG): ... to this, to fit in with other architectures. (gpregset_t): Use new NGREG macro. [__USE_GNU]: Remove condition; all architectures other than tile are unconditional. (R*): Rename to REG_R*.
39 lines
949 B
Plaintext
39 lines
949 B
Plaintext
#include <stddef.h>
|
|
#include <signal.h>
|
|
#include <sys/ucontext.h>
|
|
|
|
--
|
|
|
|
SIG_BLOCK
|
|
SIG_SETMASK
|
|
|
|
#define ucontext(member) offsetof (ucontext_t, member)
|
|
#define mcontext(member) ucontext (uc_mcontext.member)
|
|
|
|
oLINK ucontext (uc_link)
|
|
oSS_SP ucontext (uc_stack.ss_sp)
|
|
oSS_SIZE ucontext (uc_stack.ss_size)
|
|
oR0 mcontext (gregs[REG_R0])
|
|
oR1 mcontext (gregs[REG_R1])
|
|
oR2 mcontext (gregs[REG_R2])
|
|
oR3 mcontext (gregs[REG_R3])
|
|
oR4 mcontext (gregs[REG_R4])
|
|
oR5 mcontext (gregs[REG_R5])
|
|
oR6 mcontext (gregs[REG_R6])
|
|
oR7 mcontext (gregs[REG_R7])
|
|
oR8 mcontext (gregs[REG_R8])
|
|
oR9 mcontext (gregs[REG_R9])
|
|
oR10 mcontext (gregs[REG_R10])
|
|
oR11 mcontext (gregs[REG_R11])
|
|
oR12 mcontext (gregs[REG_R12])
|
|
oR13 mcontext (gregs[REG_R13])
|
|
oR14 mcontext (gregs[REG_R14])
|
|
oR15 mcontext (gregs[REG_R15])
|
|
oPC mcontext (pc)
|
|
oPR mcontext (pr)
|
|
oSR mcontext (sr)
|
|
oGBR mcontext (gbr)
|
|
oMACH mcontext (mach)
|
|
oMACL mcontext (macl)
|
|
oSIGMASK ucontext (uc_sigmask)
|