From 1d234146c04ec6a6bad50e6d1bf74cf6ff189e7a Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 19 Oct 1995 02:20:22 +0000 Subject: * sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Use SYSCALL_PIC_SETUP before jumping to syscall_error. * sysdeps/unix/i386/sysdep.h (SYSCALL_PIC_SETUP): New macro. (PSEUDO): Use it before jumping to syscall_error. * sysdeps/unix/i386/sysdep.S [! PIC]: Don't find GOT address; expect it in %ebx on entry. Pop old %ebx value off stack after using it. --- sysdeps/unix/sysv/linux/i386/sysdep.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sysdeps/unix/sysv/linux/i386') diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index a40ca86e40..ccb484664f 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -42,12 +42,14 @@ Cambridge, MA 02139, USA. */ #undef PSEUDO #define PSEUDO(name, syscall_name, args) \ .text; \ + lose: SYSCALL_PIC_SETUP \ + jmp JUMPTARGET (syscall_error) \ .globl syscall_error; \ ENTRY (name) \ movl $SYS_ify (syscall_name), %eax; \ DO_CALL (args); \ testl %eax, %eax; \ - jl JUMPTARGET (syscall_error) + jl lose /* We define our own ENTRY macro because the alignment should be 16 for ELF. */ #undef ENTRY -- cgit v1.2.3