From 5840ec82fcfbe54eec6513ea52cc0c6b30620f5c Mon Sep 17 00:00:00 2001 From: obrien Date: Wed, 10 May 2000 01:21:15 +0000 Subject: AT&T asm syntax requires a leading '*' in front of the operand for indirect calls and jumps. --- sys/i386/isa/ipl.s | 4 ++-- sys/i386/linux/linux_locore.s | 2 +- sys/i386/svr4/svr4_locore.s | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/i386/isa/ipl.s b/sys/i386/isa/ipl.s index b5ab589..9361230 100644 --- a/sys/i386/isa/ipl.s +++ b/sys/i386/isa/ipl.s @@ -242,7 +242,7 @@ doreti_unpend: 9: #endif #endif - jmp %edx + jmp *%edx ALIGN_TEXT doreti_swi: @@ -265,7 +265,7 @@ doreti_swi: orl imasks(,%ecx,4),%eax movl %eax,_cpl #endif - call %edx + call *%edx popl %eax /* cpl to restore */ jmp doreti_next diff --git a/sys/i386/linux/linux_locore.s b/sys/i386/linux/linux_locore.s index 0cbf12e..8aad7f7 100644 --- a/sys/i386/linux/linux_locore.s +++ b/sys/i386/linux/linux_locore.s @@ -6,7 +6,7 @@ #include /* system call numbers */ NON_GPROF_ENTRY(linux_sigcode) - call LINUX_SIGF_HANDLER(%esp) + call *LINUX_SIGF_HANDLER(%esp) leal LINUX_SIGF_SC(%esp),%ebx /* linux scp */ movl LINUX_SC_GS(%ebx),%gs push %eax /* fake ret addr */ diff --git a/sys/i386/svr4/svr4_locore.s b/sys/i386/svr4/svr4_locore.s index 828be36..a16191c 100644 --- a/sys/i386/svr4/svr4_locore.s +++ b/sys/i386/svr4/svr4_locore.s @@ -6,7 +6,7 @@ /* $FreeBSD$ */ NON_GPROF_ENTRY(svr4_sigcode) - call SVR4_SIGF_HANDLER(%esp) + call *SVR4_SIGF_HANDLER(%esp) leal SVR4_SIGF_UC(%esp),%eax # ucp (the call may have clobbered the # copy at SIGF_UCP(%esp)) #ifdef VM86 -- cgit v1.1