these were overlooked in the declarations overhaul work because they
are not properly declared, and the current framework even allows their
declared types to vary by arch. at some point this should be cleaned
up, but I'm not sure what the right way would be.
21 files changed:
struct k_sigaction {
unsigned flags;
void (*handler)(int);
struct k_sigaction {
unsigned flags;
void (*handler)(int);
-void __restore(), __restore_rt();
+hidden void __restore(), __restore_rt();
struct k_sigaction {
unsigned flags;
void (*handler)(int);
struct k_sigaction {
unsigned flags;
void (*handler)(int);
-void __restore(), __restore_rt();
+hidden void __restore(), __restore_rt();
struct k_sigaction {
unsigned flags;
void (*handler)(int);
struct k_sigaction {
unsigned flags;
void (*handler)(int);
-void __restore(), __restore_rt();
+hidden void __restore(), __restore_rt();
struct k_sigaction {
void (*handler)(int);
unsigned long flags;
struct k_sigaction {
void (*handler)(int);
unsigned long flags;
-extern unsigned char __restore[], __restore_rt[];
+extern hidden unsigned char __restore[], __restore_rt[];
struct k_sigaction {
void (*handler)(int);
unsigned long flags;
struct k_sigaction {
void (*handler)(int);
unsigned long flags;
+hidden void __restore_rt();
#define __restore __restore_rt
#define __restore __restore_rt
struct k_sigaction {
void (*handler)(int);
unsigned long flags;
struct k_sigaction {
void (*handler)(int);
unsigned long flags;
+hidden void __restore_rt();
#define __restore __restore_rt
#define __restore __restore_rt
/* 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. */
/* 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. */
-void __restore(), __restore_rt();
+hidden void __restore(), __restore_rt();
.type __restore,%function
__restore:
.global __restore_rt
.type __restore,%function
__restore:
.global __restore_rt
.type __restore_rt,%function
__restore_rt:
mov x8,#139 // SYS_rt_sigreturn
.type __restore_rt,%function
__restore_rt:
mov x8,#139 // SYS_rt_sigreturn
.syntax unified
.global __restore
.syntax unified
.global __restore
.type __restore,%function
__restore:
mov r7,#119
swi 0x0
.global __restore_rt
.type __restore,%function
__restore:
mov r7,#119
swi 0x0
.global __restore_rt
.type __restore_rt,%function
__restore_rt:
mov r7,#173
.type __restore_rt,%function
__restore_rt:
mov r7,#173
.type __restore,@function
__restore:
popl %eax
.type __restore,@function
__restore:
popl %eax
int $0x80
.global __restore_rt
int $0x80
.global __restore_rt
.type __restore_rt,@function
__restore_rt:
movl $173, %eax
.type __restore_rt,@function
__restore_rt:
movl $173, %eax
.type __restore,@function
__restore:
ori r12, r0, 119
brki r14, 0x8
.global __restore_rt
.type __restore,@function
__restore:
ori r12, r0, 119
brki r14, 0x8
.global __restore_rt
.type __restore_rt,@function
__restore_rt:
ori r12, r0, 173
.type __restore_rt,@function
__restore_rt:
ori r12, r0, 173
.set noreorder
.global __restore_rt
.set noreorder
.global __restore_rt
.type __restore_rt,@function
__restore_rt:
li $2, 4193
syscall
.global __restore
.type __restore_rt,@function
__restore_rt:
li $2, 4193
syscall
.global __restore
.type __restore,@function
__restore:
li $2, 4119
.type __restore,@function
__restore:
li $2, 4119
.set noreorder
.global __restore_rt
.global __restore
.set noreorder
.global __restore_rt
.global __restore
+.hidden __restore_rt
+.hidden __restore
.type __restore_rt,@function
.type __restore,@function
__restore_rt:
.type __restore_rt,@function
.type __restore,@function
__restore_rt:
.set noreorder
.global __restore_rt
.global __restore
.set noreorder
.global __restore_rt
.global __restore
+.hidden __restore_rt
+.hidden __restore
.type __restore_rt,@function
.type __restore,@function
__restore_rt:
.type __restore_rt,@function
.type __restore,@function
__restore_rt:
.type __restore,%function
__restore:
li 0, 119 #__NR_sigreturn
sc
.global __restore_rt
.type __restore,%function
__restore:
li 0, 119 #__NR_sigreturn
sc
.global __restore_rt
.type __restore_rt,%function
__restore_rt:
li 0, 172 # __NR_rt_sigreturn
.type __restore_rt,%function
__restore_rt:
li 0, 172 # __NR_rt_sigreturn
.type __restore,%function
__restore:
li 0, 119 #__NR_sigreturn
sc
.global __restore_rt
.type __restore,%function
__restore:
li 0, 119 #__NR_sigreturn
sc
.global __restore_rt
.type __restore_rt,%function
__restore_rt:
li 0, 172 # __NR_rt_sigreturn
.type __restore_rt,%function
__restore_rt:
li 0, 172 # __NR_rt_sigreturn
/* These functions will not work, but suffice for targets where the
* kernel sigaction structure does not actually use sa_restorer. */
/* These functions will not work, but suffice for targets where the
* kernel sigaction structure does not actually use sa_restorer. */
+hidden void __restore_rt()
.type __restore,%function
__restore:
svc 119 #__NR_sigreturn
.global __restore_rt
.type __restore,%function
__restore:
svc 119 #__NR_sigreturn
.global __restore_rt
.type __restore_rt,%function
__restore_rt:
svc 173 # __NR_rt_sigreturn
.type __restore_rt,%function
__restore_rt:
svc 173 # __NR_rt_sigreturn
__restore:
mov #119, r3 !__NR_sigreturn
trapa #31
__restore:
mov #119, r3 !__NR_sigreturn
trapa #31
or r0, r0
.global __restore_rt
or r0, r0
.global __restore_rt
__restore_rt:
mov #100, r3 !__NR_rt_sigreturn
add #73, r3
__restore_rt:
mov #100, r3 !__NR_rt_sigreturn
add #73, r3
.type __restore_rt,@function
__restore_rt:
mov $0x40000201, %rax /* SYS_rt_sigreturn */
.type __restore_rt,@function
__restore_rt:
mov $0x40000201, %rax /* SYS_rt_sigreturn */
.type __restore_rt,@function
__restore_rt:
mov $15, %rax
.type __restore_rt,@function
__restore_rt:
mov $15, %rax