diff options
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/make-syscalls.sh | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysdep.h | 9 |
2 files changed, 7 insertions, 8 deletions
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh index c7ddb88999..18a032600d 100644 --- a/sysdeps/unix/make-syscalls.sh +++ b/sysdeps/unix/make-syscalls.sh @@ -67,10 +67,8 @@ EOF *@*) # The versioned symbols are only in the shared library. echo "\ -\$(objpfx)${file}.o: \$(common-objpfx)empty.o - rm -f \$@ - ln \$< \$@ -\$(objpfx)${file}.op: \$(common-objpfx)empty.op +\$(foreach o,\$(filter-out .os,\$(object-suffixes)),\$(objpfx)$file\$o): \\ +\$(objpfx)$file%: \$(common-objpfx)empty% rm -f \$@ ln \$< \$@ \$(objpfx)${file}.os: \\" diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 66fbeca73e..7455e8d321 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 95, 96, 97, 98 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. @@ -49,7 +49,8 @@ ENTRY (name) \ DO_CALL (args, syscall_name); \ cmpl $-4095, %eax; \ - jae syscall_error; + jae syscall_error; \ + L(pseudo_end): #undef PSEUDO_END #define PSEUDO_END(name) \ @@ -78,7 +79,7 @@ syscall_error: \ popl %ebx; \ movl %ecx, (%eax); \ movl $-1, %eax; \ - ret; \ + jmp L(pseudo_end); \ .size syscall_error,.-syscall_error; /* A quick note: it is assumed that the call to `__errno_location' does not modify the stack! */ @@ -94,7 +95,7 @@ syscall_error: \ movl errno@GOT(%ecx), %ecx; \ movl %edx, (%ecx); \ movl $-1, %eax; \ - ret; \ + jmp L(pseudo_end); \ .size syscall_error,.-syscall_error; #endif /* _LIBC_REENTRANT */ #endif /* PIC */ |