diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/internal/ksigaction.h | 4 | ||||
| -rw-r--r-- | src/signal/aarch64/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/arm/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/i386/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/microblaze/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/mips/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/mips64/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/mipsn32/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/powerpc/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/powerpc64/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/restore.c | 6 | ||||
| -rw-r--r-- | src/signal/s390x/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/sh/restore.s | 2 | ||||
| -rw-r--r-- | src/signal/x32/restore.s | 1 | ||||
| -rw-r--r-- | src/signal/x86_64/restore.s | 1 | 
15 files changed, 31 insertions, 3 deletions
diff --git a/src/internal/ksigaction.h b/src/internal/ksigaction.h index 1d8d9646..8ebd5938 100644 --- a/src/internal/ksigaction.h +++ b/src/internal/ksigaction.h @@ -1,3 +1,5 @@ +#include <features.h> +  /* This is the structure used for the rt_sigaction syscall on most archs,   * but it can be overridden by a file with the same name in the top-level   * arch dir for a given arch, if necessary. */ @@ -8,4 +10,4 @@ struct k_sigaction {  	unsigned mask[2];  }; -void __restore(), __restore_rt(); +hidden void __restore(), __restore_rt(); diff --git a/src/signal/aarch64/restore.s b/src/signal/aarch64/restore.s index d3d0243d..d4e5fcf1 100644 --- a/src/signal/aarch64/restore.s +++ b/src/signal/aarch64/restore.s @@ -1,7 +1,9 @@  .global __restore +.hidden __restore  .type __restore,%function  __restore:  .global __restore_rt +.hidden __restore_rt  .type __restore_rt,%function  __restore_rt:  	mov x8,#139 // SYS_rt_sigreturn diff --git a/src/signal/arm/restore.s b/src/signal/arm/restore.s index 22fb1a54..fb086d9b 100644 --- a/src/signal/arm/restore.s +++ b/src/signal/arm/restore.s @@ -1,12 +1,14 @@  .syntax unified  .global __restore +.hidden __restore  .type __restore,%function  __restore:  	mov r7,#119  	swi 0x0  .global __restore_rt +.hidden __restore_rt  .type __restore_rt,%function  __restore_rt:  	mov r7,#173 diff --git a/src/signal/i386/restore.s b/src/signal/i386/restore.s index a30b69c4..ccc94307 100644 --- a/src/signal/i386/restore.s +++ b/src/signal/i386/restore.s @@ -1,4 +1,5 @@  .global __restore +.hidden __restore  .type __restore,@function  __restore:  	popl %eax @@ -6,6 +7,7 @@ __restore:  	int $0x80  .global __restore_rt +.hidden __restore_rt  .type __restore_rt,@function  __restore_rt:  	movl $173, %eax diff --git a/src/signal/microblaze/restore.s b/src/signal/microblaze/restore.s index fe4f5a09..b3c9f57b 100644 --- a/src/signal/microblaze/restore.s +++ b/src/signal/microblaze/restore.s @@ -1,10 +1,12 @@  .global __restore +.hidden __restore  .type __restore,@function  __restore:  	ori     r12, r0, 119  	brki    r14, 0x8  .global __restore_rt +.hidden __restore_rt  .type __restore_rt,@function  __restore_rt:  	ori     r12, r0, 173 diff --git a/src/signal/mips/restore.s b/src/signal/mips/restore.s index 5c22dd48..b6dadce0 100644 --- a/src/signal/mips/restore.s +++ b/src/signal/mips/restore.s @@ -1,12 +1,14 @@  .set noreorder  .global __restore_rt +.hidden __restore_rt  .type   __restore_rt,@function  __restore_rt:  	li $2, 4193  	syscall  .global __restore +.hidden __restore  .type   __restore,@function  __restore:  	li $2, 4119 diff --git a/src/signal/mips64/restore.s b/src/signal/mips64/restore.s index e8988369..401f8e73 100644 --- a/src/signal/mips64/restore.s +++ b/src/signal/mips64/restore.s @@ -1,6 +1,8 @@  .set	noreorder  .global	__restore_rt  .global	__restore +.hidden __restore_rt +.hidden __restore  .type	__restore_rt,@function  .type	__restore,@function  __restore_rt: diff --git a/src/signal/mipsn32/restore.s b/src/signal/mipsn32/restore.s index 0d1c1c5e..4cd4e1b4 100644 --- a/src/signal/mipsn32/restore.s +++ b/src/signal/mipsn32/restore.s @@ -1,6 +1,8 @@  .set	noreorder  .global	__restore_rt  .global	__restore +.hidden __restore_rt +.hidden __restore  .type	__restore_rt,@function  .type	__restore,@function  __restore_rt: diff --git a/src/signal/powerpc/restore.s b/src/signal/powerpc/restore.s index 4d41c27a..29c8afd0 100644 --- a/src/signal/powerpc/restore.s +++ b/src/signal/powerpc/restore.s @@ -1,10 +1,12 @@  	.global __restore +	.hidden __restore  	.type __restore,%function  __restore:  	li      0, 119 #__NR_sigreturn  	sc  	.global __restore_rt +	.hidden __restore_rt  	.type __restore_rt,%function  __restore_rt:  	li      0, 172 # __NR_rt_sigreturn diff --git a/src/signal/powerpc64/restore.s b/src/signal/powerpc64/restore.s index 4d41c27a..29c8afd0 100644 --- a/src/signal/powerpc64/restore.s +++ b/src/signal/powerpc64/restore.s @@ -1,10 +1,12 @@  	.global __restore +	.hidden __restore  	.type __restore,%function  __restore:  	li      0, 119 #__NR_sigreturn  	sc  	.global __restore_rt +	.hidden __restore_rt  	.type __restore_rt,%function  __restore_rt:  	li      0, 172 # __NR_rt_sigreturn diff --git a/src/signal/restore.c b/src/signal/restore.c index 873b867e..5ec4f5dd 100644 --- a/src/signal/restore.c +++ b/src/signal/restore.c @@ -1,10 +1,12 @@ +#include <features.h> +  /* These functions will not work, but suffice for targets where the   * kernel sigaction structure does not actually use sa_restorer. */ -void __restore() +hidden void __restore()  {  } -void __restore_rt() +hidden void __restore_rt()  {  } diff --git a/src/signal/s390x/restore.s b/src/signal/s390x/restore.s index 79beb68f..88e33dbc 100644 --- a/src/signal/s390x/restore.s +++ b/src/signal/s390x/restore.s @@ -1,9 +1,11 @@  	.global __restore +	.hidden __restore  	.type __restore,%function  __restore:  	svc 119 #__NR_sigreturn  	.global __restore_rt +	.hidden __restore_rt  	.type __restore_rt,%function  __restore_rt:  	svc 173 # __NR_rt_sigreturn diff --git a/src/signal/sh/restore.s b/src/signal/sh/restore.s index d5df8e14..3a92199d 100644 --- a/src/signal/sh/restore.s +++ b/src/signal/sh/restore.s @@ -1,4 +1,5 @@  .global __restore +.hidden __restore  __restore:  	mov   #119, r3  !__NR_sigreturn  	trapa #31 @@ -10,6 +11,7 @@ __restore:  	or    r0, r0  .global __restore_rt +.hidden __restore_rt  __restore_rt:  	mov   #100, r3  !__NR_rt_sigreturn  	add   #73, r3 diff --git a/src/signal/x32/restore.s b/src/signal/x32/restore.s index 2f06e787..1117446a 100644 --- a/src/signal/x32/restore.s +++ b/src/signal/x32/restore.s @@ -1,5 +1,6 @@  	nop  .global __restore_rt +.hidden __restore_rt  .type __restore_rt,@function  __restore_rt:  	mov $0x40000201, %rax /* SYS_rt_sigreturn */ diff --git a/src/signal/x86_64/restore.s b/src/signal/x86_64/restore.s index b5c6e37f..27d6cf31 100644 --- a/src/signal/x86_64/restore.s +++ b/src/signal/x86_64/restore.s @@ -1,5 +1,6 @@  	nop  .global __restore_rt +.hidden __restore_rt  .type __restore_rt,@function  __restore_rt:  	mov $15, %rax  | 
