glibc/sysdeps/unix/sysv/linux/sh/sh4/ucontext_i.sym
James Clarke 3e1b518550 Bug 21053: sh: Reduce namespace pollution from sys/ucontext.h
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*.
2017-01-24 09:20:06 -02:00

74 lines
1.9 KiB
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)
oFR0 mcontext (fpregs[0])
oFR1 mcontext (fpregs[1])
oFR2 mcontext (fpregs[2])
oFR3 mcontext (fpregs[3])
oFR4 mcontext (fpregs[4])
oFR5 mcontext (fpregs[5])
oFR6 mcontext (fpregs[6])
oFR7 mcontext (fpregs[7])
oFR8 mcontext (fpregs[8])
oFR9 mcontext (fpregs[9])
oFR10 mcontext (fpregs[10])
oFR11 mcontext (fpregs[11])
oFR12 mcontext (fpregs[12])
oFR13 mcontext (fpregs[13])
oFR14 mcontext (fpregs[14])
oFR15 mcontext (fpregs[15])
oXFR0 mcontext (xfpregs[0])
oXFR1 mcontext (xfpregs[1])
oXFR2 mcontext (xfpregs[2])
oXFR3 mcontext (xfpregs[3])
oXFR4 mcontext (xfpregs[4])
oXFR5 mcontext (xfpregs[5])
oXFR6 mcontext (xfpregs[6])
oXFR7 mcontext (xfpregs[7])
oXFR8 mcontext (xfpregs[8])
oXFR9 mcontext (xfpregs[9])
oXFR10 mcontext (xfpregs[10])
oXFR11 mcontext (xfpregs[11])
oXFR12 mcontext (xfpregs[12])
oXFR13 mcontext (xfpregs[13])
oXFR14 mcontext (xfpregs[14])
oXFR15 mcontext (xfpregs[15])
oFPSCR mcontext (fpscr)
oFPUL mcontext (fpul)
oOWNEDFP mcontext (ownedfp)
oSIGMASK ucontext (uc_sigmask)