mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +03:00 
			
		
		
		
	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*.
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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)
 |