diff options
author | Greg McGary <greg@mcgary.org> | 2000-06-27 01:52:26 +0000 |
---|---|---|
committer | Greg McGary <greg@mcgary.org> | 2000-06-27 01:52:26 +0000 |
commit | ee63ca212c7a153b51c32182eb226f0bde04cc82 (patch) | |
tree | 20a41988972db16c585642823191249a2d4f2b48 /sysdeps/unix/sysv/linux/i386/sysdep.h | |
parent | 58ff985dd485e6d2ae723f8568be24f37bac0bd2 (diff) | |
download | glibc-ee63ca212c7a153b51c32182eb226f0bde04cc82.tar.gz glibc-ee63ca212c7a153b51c32182eb226f0bde04cc82.tar.xz glibc-ee63ca212c7a153b51c32182eb226f0bde04cc82.zip |
* sysdeps/i386/bp-asm.h (POP_ERRNO_LOCATION_RETURN): Fold insns.
* sysdeps/unix/i386/sysdep.S (syscall_error): Push & pop space for BP return value & push implicit struct-return pointer to __errno_location. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/i386/bp-asm.h (POP_ERRNO_LOCATION_RETURN): Fold insns. * sysdeps/unix/i386/sysdep.S (syscall_error): Push & pop space for BP return value & push implicit struct-return pointer to __errno_location. * sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise. (SYSCALL_ERROR_HANDLER): Likewise. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h (SYSCALL_ERROR_HANDLER): Likewise. * Makeconfig (CPPFLAGS-.ob): Pass -fbounded-pointers for all files *.[cS].
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/sysdep.h')
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysdep.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 8b758fa469..10eba34ccd 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, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 95, 96, 97, 98, 99, 00 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995. @@ -22,6 +22,8 @@ /* There is some commonality. */ #include <sysdeps/unix/i386/sysdep.h> +#include <bp-sym.h> +#include <bp-asm.h> /* For Linux we can use the system call table in the header file /usr/include/asm/unistd.h @@ -82,7 +84,9 @@ addl $_GLOBAL_OFFSET_TABLE_+[.-1b], %ebx; \ subl %eax, %edx; \ pushl %edx; \ - call __errno_location@PLT; \ + PUSH_ERRNO_LOCATION_RETURN; \ + call BP_SYM (__errno_location)@PLT; \ + POP_ERRNO_LOCATION_RETURN; \ popl %ecx; \ popl %ebx; \ movl %ecx, (%eax); \ |