1
0
mirror of https://sourceware.org/git/glibc.git synced 2026-01-06 11:51:29 +03:00

* 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].
This commit is contained in:
Greg McGary
2000-06-27 01:52:26 +00:00
parent 58ff985dd4
commit ee63ca212c
4 changed files with 37 additions and 14 deletions

View File

@@ -22,6 +22,8 @@
/* There is some commonality. */
#include <sysdeps/unix/sysv/linux/i386/sysdep.h>
#include <bp-sym.h>
#include <bp-asm.h>
/* We define special versions of the error handler code to match the i686's
deep branch prediction mechanism. */
@@ -39,7 +41,9 @@
xorl %edx, %edx; \
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); \