SA_RESTORER and the associated sa_restorer field of struct sigaction are an obsolete feature, not expected to be used by future architectures. They are also absent on RISC-V, LoongArch, Hexagon and OpenRISC, but defined due to their use of generic/signal.h. This leads to corrupted data and out-of-bounds accesses. Move the definition of TARGET_SA_RESTORER out of generic/signal.h into the target_signal.h files that need it. Note that m68k has the sa_restorer field, but does not use it and does not define SA_RESTORER. Reported-by: Thomas Weißschuh <thomas@t-8ch.de> Signed-off-by: Andreas Schwab <schwab@suse.de> Reviewed-by: Thomas Weißschuh <thomas@t-8ch.de> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-ID: <mvmed060xc9.fsf@suse.de>
		
			
				
	
	
		
			12 lines
		
	
	
		
			243 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			243 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef ARM_TARGET_SIGNAL_H
 | 
						|
#define ARM_TARGET_SIGNAL_H
 | 
						|
 | 
						|
#include "../generic/signal.h"
 | 
						|
 | 
						|
#define TARGET_SA_RESTORER      0x04000000
 | 
						|
 | 
						|
#define TARGET_ARCH_HAS_SETUP_FRAME
 | 
						|
#define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1
 | 
						|
 | 
						|
#endif /* ARM_TARGET_SIGNAL_H */
 |