git: 5f19e18b641a - main - linux(4): Get rid of linux_vdso_sigcode
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 14 May 2023 21:31:08 UTC
The branch main has been updated by dchagin:
URL: https://cgit.FreeBSD.org/src/commit/?id=5f19e18b641add5632e1bf19cce27b5d46e1e55a
commit 5f19e18b641add5632e1bf19cce27b5d46e1e55a
Author: Dmitry Chagin <dchagin@FreeBSD.org>
AuthorDate: 2023-05-14 21:26:24 +0000
Commit: Dmitry Chagin <dchagin@FreeBSD.org>
CommitDate: 2023-05-14 21:26:24 +0000
linux(4): Get rid of linux_vdso_sigcode
MFC after: 1 week
---
sys/arm64/linux/linux_locore.asm | 7 +------
sys/arm64/linux/linux_sysvec.c | 4 ++--
sys/arm64/linux/linux_vdso.lds.s | 1 -
3 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/sys/arm64/linux/linux_locore.asm b/sys/arm64/linux/linux_locore.asm
index 417cc7bd5fc4..6ebecef51b39 100644
--- a/sys/arm64/linux/linux_locore.asm
+++ b/sys/arm64/linux/linux_locore.asm
@@ -47,13 +47,8 @@ linux_platform:
nop /* This is what Linux calls a "Mysterious NOP". */
EENTRY(__kernel_rt_sigreturn)
- mov x8, #LINUX_SYS_linux_rt_sigreturn
- svc #0
-EEND(__kernel_rt_sigreturn)
-
-EENTRY(linux_vdso_sigcode)
blr x8
mov x8, #LINUX_SYS_linux_rt_sigreturn
svc #0
-EEND(linux_vdso_sigcode)
+EEND(__kernel_rt_sigreturn)
diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c
index 8337bdfe0eb2..299586e1c7b6 100644
--- a/sys/arm64/linux/linux_sysvec.c
+++ b/sys/arm64/linux/linux_sysvec.c
@@ -118,7 +118,7 @@ LIN_SDT_PROBE_DEFINE0(sysvec, linux_exec_setregs, todo);
LINUX_VDSO_SYM_CHAR(linux_platform);
LINUX_VDSO_SYM_INTPTR(kern_timekeep_base);
-LINUX_VDSO_SYM_INTPTR(linux_vdso_sigcode);
+LINUX_VDSO_SYM_INTPTR(__kernel_rt_sigreturn);
static int
linux_fetch_syscall_args(struct thread *td)
@@ -355,7 +355,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask)
tf->tf_x[29] = (register_t)&fp->fp;
tf->tf_x[8] = (register_t)catcher;
tf->tf_sp = (register_t)fp;
- tf->tf_elr = (register_t)linux_vdso_sigcode;
+ tf->tf_elr = (register_t)__kernel_rt_sigreturn;
CTR3(KTR_SIG, "sendsig: return td=%p pc=%#x sp=%#x", td, tf->tf_elr,
tf->tf_sp);
diff --git a/sys/arm64/linux/linux_vdso.lds.s b/sys/arm64/linux/linux_vdso.lds.s
index 8790e14bbb80..652b99545069 100644
--- a/sys/arm64/linux/linux_vdso.lds.s
+++ b/sys/arm64/linux/linux_vdso.lds.s
@@ -70,7 +70,6 @@ VERSION
global:
linux_platform;
kern_timekeep_base;
- linux_vdso_sigcode;
local: *;
};
}