mirror of
https://github.com/qemu/qemu.git
synced 2026-02-04 02:24:51 +00:00
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:
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.
Reference in New Issue
Block a user