Page MenuHomeFreeBSD

D38392.id116649.diff
No OneTemporary

D38392.id116649.diff

diff --git a/sys/amd64/ia32/ia32_sigtramp.S b/sys/amd64/ia32/ia32_sigtramp.S
--- a/sys/amd64/ia32/ia32_sigtramp.S
+++ b/sys/amd64/ia32/ia32_sigtramp.S
@@ -84,10 +84,10 @@
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 @@
/* 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 @@
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 @@
ALIGN_TEXT
.globl __vdso_lcall_tramp
__vdso_lcall_tramp:
+#ifdef COMPAT_43
int $0x80
1: jmp 1b
+#else
+ ud2
#endif
.p2align 1
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -13,13 +13,13 @@
#
#
elf-vdso.so.o standard \
- dependency "$S/amd64/amd64/sigtramp.S assym.inc $S/tools/amd64_vdso.sh" \
+ dependency "$S/amd64/amd64/sigtramp.S assym.inc $S/conf/vdso_amd64.ldscript $S/tools/amd64_vdso.sh" \
compile-with "env AWK='${AWK}' NM='${NM}' LD='${LD}' CC='${CC}' DEBUG='${DEBUG}' OBJCOPY='${OBJCOPY}' ELFDUMP='${ELFDUMP}' S='${S}' sh $S/tools/amd64_vdso.sh" \
no-implicit-rule before-depend \
clean "elf-vdso.so.o elf-vdso.so.1 vdso_offsets.h sigtramp.pico"
#
elf-vdso32.so.o optional compat_freebsd32 \
- dependency "$S/amd64/ia32/ia32_sigtramp.S ia32_assym.h $S/tools/amd64_ia32_vdso.sh" \
+ dependency "$S/amd64/ia32/ia32_sigtramp.S ia32_assym.h $S/conf/vdso_amd64_ia32.ldscript $S/tools/amd64_ia32_vdso.sh" \
compile-with "env AWK='${AWK}' NM='${NM}' LD='${LD}' CC='${CC}' DEBUG='${DEBUG}' OBJCOPY='${OBJCOPY}' ELFDUMP='${ELFDUMP}' S='${S}' sh $S/tools/amd64_ia32_vdso.sh" \
no-implicit-rule before-depend \
clean "elf-vdso32.so.o elf-vdso32.so.1 vdso_ia32_offsets.h ia32_sigtramp.pico"

File Metadata

Mime Type
text/plain
Expires
Fri, Feb 20, 9:40 AM (16 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28897281
Default Alt Text
D38392.id116649.diff (2 KB)

Event Timeline