linux-user: Populate sigreturn_region_{start,end} in all vdso.S
Mark the regions which contain sigreturn syscalls within each vdso. Rebuild the shared objects. Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
ee3b39c924
commit
b9baf09512
22 changed files with 16 additions and 0 deletions
Binary file not shown.
Binary file not shown.
|
|
@ -71,5 +71,7 @@ vdso_syscall __kernel_clock_getres, __NR_clock_getres
|
|||
__kernel_rt_sigreturn:
|
||||
/* No BTI C insn here -- we arrive via RET. */
|
||||
mov x8, #__NR_rt_sigreturn
|
||||
sigreturn_region_start:
|
||||
svc #0
|
||||
sigreturn_region_end:
|
||||
endf __kernel_rt_sigreturn
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -140,6 +140,7 @@ SYSCALL __vdso_gettimeofday, __NR_gettimeofday
|
|||
|
||||
.balign 16
|
||||
sigreturn_codes:
|
||||
sigreturn_region_start:
|
||||
/* [EO]ABI sigreturn */
|
||||
slot 0
|
||||
raw_syscall __NR_sigreturn
|
||||
|
|
@ -172,3 +173,4 @@ sigreturn_codes:
|
|||
|
||||
.balign 16
|
||||
endf sigreturn_codes
|
||||
sigreturn_region_end:
|
||||
|
|
|
|||
|
|
@ -156,8 +156,10 @@
|
|||
__kernel_sigtramp_rt:
|
||||
ldi 0, %r25
|
||||
ldi __NR_rt_sigreturn, %r20
|
||||
sigreturn_region_start:
|
||||
be,l 0x100(%sr2, %r0), %sr0, %r31
|
||||
nop
|
||||
sigreturn_region_end:
|
||||
|
||||
.cfi_endproc
|
||||
.size __kernel_sigtramp_rt, . - __kernel_sigtramp_rt
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -114,6 +114,7 @@ vdso_syscall3 __vdso_getcpu, __NR_gettimeofday
|
|||
*/
|
||||
nop
|
||||
|
||||
sigreturn_region_start:
|
||||
__kernel_sigreturn:
|
||||
popl %eax /* pop sig */
|
||||
.cfi_adjust_cfa_offset -4
|
||||
|
|
@ -128,6 +129,7 @@ __kernel_rt_sigreturn:
|
|||
movl $__NR_rt_sigreturn, %eax
|
||||
int $0x80
|
||||
endf __kernel_rt_sigreturn
|
||||
sigreturn_region_end:
|
||||
|
||||
.cfi_endproc
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -125,6 +125,8 @@ vdso_syscall __vdso_getcpu, __NR_getcpu
|
|||
|
||||
__vdso_rt_sigreturn:
|
||||
li.w $a7, __NR_rt_sigreturn
|
||||
sigreturn_region_start:
|
||||
syscall 0
|
||||
sigreturn_region_end:
|
||||
.cfi_endproc
|
||||
endf __vdso_rt_sigreturn
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -220,6 +220,7 @@ endf __kernel_sync_dicache
|
|||
|
||||
nop
|
||||
|
||||
sigreturn_region_start:
|
||||
__kernel_sigtramp_rt:
|
||||
raw_syscall __NR_rt_sigreturn
|
||||
endf __kernel_sigtramp_rt
|
||||
|
|
@ -235,5 +236,6 @@ __kernel_sigtramp32:
|
|||
raw_syscall __NR_sigreturn
|
||||
endf __kernel_sigtramp32
|
||||
#endif
|
||||
sigreturn_region_end:
|
||||
|
||||
.cfi_endproc
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -181,7 +181,9 @@ endf __vdso_flush_icache
|
|||
nop
|
||||
|
||||
__vdso_rt_sigreturn:
|
||||
sigreturn_region_start:
|
||||
raw_syscall __NR_rt_sigreturn
|
||||
sigreturn_region_end:
|
||||
endf __vdso_rt_sigreturn
|
||||
|
||||
.cfi_endproc
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ vdso_syscall __kernel_getcpu, __NR_getcpu
|
|||
* by all users. Without it we get the fallback signal frame handling.
|
||||
*/
|
||||
|
||||
sigreturn_region_start:
|
||||
__kernel_sigreturn:
|
||||
raw_syscall __NR_sigreturn
|
||||
endf __kernel_sigreturn
|
||||
|
|
@ -59,3 +60,4 @@ endf __kernel_sigreturn
|
|||
__kernel_rt_sigreturn:
|
||||
raw_syscall __NR_rt_sigreturn
|
||||
endf __kernel_rt_sigreturn
|
||||
sigreturn_region_end:
|
||||
|
|
|
|||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue