From ee844871206562c6aaaa14ee4576cb20895adb00 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Sun, 5 Feb 2023 23:41:25 +0200 Subject: amd64 ia32 vdso: always define some __vdso_ symbols ... regardless of the kernel config options. It is reported that llvm16 ld.lld warns about undefined symbols referenced by the VERSION script. Reviewed by: emaste, val_packett.cool Discussed with: jrtc27 Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D38392 --- sys/amd64/ia32/ia32_sigtramp.S | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sys/amd64/ia32/ia32_sigtramp.S b/sys/amd64/ia32/ia32_sigtramp.S index f7f3fd129cc7..7d873127e848 100644 --- a/sys/amd64/ia32/ia32_sigtramp.S +++ b/sys/amd64/ia32/ia32_sigtramp.S @@ -84,10 +84,10 @@ __vdso_ia32_sigcode: jmp 1b .cfi_endproc -#ifdef COMPAT_FREEBSD4 ALIGN_TEXT .globl __vdso_freebsd4_ia32_sigcode __vdso_freebsd4_ia32_sigcode: +#ifdef COMPAT_FREEBSD4 calll *IA32_SIGF_HANDLER(%esp) leal IA32_SIGF_UC4(%esp),%eax/* get ucontext */ pushl %eax @@ -97,12 +97,14 @@ __vdso_freebsd4_ia32_sigcode: /* on stack */ 1: jmp 1b +#else + ud2 #endif -#ifdef COMPAT_43 ALIGN_TEXT .globl __vdso_ia32_osigcode __vdso_ia32_osigcode: +#ifdef COMPAT_43 calll *IA32_SIGF_HANDLER(%esp)/* call signal handler */ leal IA32_SIGF_SC(%esp),%eax /* get sigcontext */ pushl %eax @@ -111,6 +113,9 @@ __vdso_ia32_osigcode: int $0x80 /* enter kernel with args */ 1: jmp 1b +#else + ud2 +#endif /* * Our lcall $7,$0 handler remains in user mode (ring 3), since lcalls @@ -128,7 +133,10 @@ __vdso_ia32_osigcode: ALIGN_TEXT .globl __vdso_lcall_tramp __vdso_lcall_tramp: +#ifdef COMPAT_43 int $0x80 1: jmp 1b +#else + ud2 #endif .p2align 1 -- cgit v1.2.3