mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 02:03:35 +08:00
Build i386 __libc_do_syscall when PROF is defined
Need to provide i386 __libc_do_syscall when PROF is defined. Define OPTIMIZE_FOR_GCC_5 for .S files so that it can be used in libc-do-syscall.S. * sysdeps/unix/sysv/linux/i386/libc-do-syscall.S: Replace __GNUC_PREREQ (5,0) with OPTIMIZE_FOR_GCC_5. * sysdeps/unix/sysv/linux/i386/sysdep.h (OPTIMIZE_FOR_GCC_5): Moved before "#ifdef __ASSEMBLER__".
This commit is contained in:
parent
0a90a8f2b9
commit
95b097779a
@ -1,3 +1,10 @@
|
||||
2015-10-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/i386/libc-do-syscall.S: Replace
|
||||
__GNUC_PREREQ (5,0) with OPTIMIZE_FOR_GCC_5.
|
||||
* sysdeps/unix/sysv/linux/i386/sysdep.h (OPTIMIZE_FOR_GCC_5):
|
||||
Moved before "#ifdef __ASSEMBLER__".
|
||||
|
||||
2015-10-21 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #19156]
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
|
||||
#if !__GNUC_PREREQ (5,0)
|
||||
#ifndef OPTIMIZE_FOR_GCC_5
|
||||
|
||||
/* %eax, %ecx, %edx and %esi contain the values expected by the kernel.
|
||||
%edi points to a structure with the values of %ebx, %edi and %ebp. */
|
||||
|
@ -41,6 +41,15 @@
|
||||
# undef I386_USE_SYSENTER
|
||||
#endif
|
||||
|
||||
/* Since GCC 5 and above can properly spill %ebx with PIC when needed,
|
||||
we can inline syscalls with 6 arguments if GCC 5 or above is used
|
||||
to compile glibc. Disable GCC 5 optimization when compiling for
|
||||
profiling since asm ("ebp") can't be used to put the 6th argument
|
||||
in %ebp for syscall. */
|
||||
#if __GNUC_PREREQ (5,0) && !defined PROF
|
||||
# define OPTIMIZE_FOR_GCC_5
|
||||
#endif
|
||||
|
||||
#ifdef __ASSEMBLER__
|
||||
|
||||
/* Linux uses a negative return value to indicate syscall errors,
|
||||
@ -227,16 +236,6 @@
|
||||
extern int __syscall_error (int)
|
||||
attribute_hidden __attribute__ ((__regparm__ (1)));
|
||||
|
||||
/* Since GCC 5 and above can properly spill %ebx with PIC when needed,
|
||||
we can inline syscalls with 6 arguments if GCC 5 or above is used
|
||||
to compile glibc. Disable GCC 5 optimization when compiling for
|
||||
profiling since asm ("ebp") can't be used to put the 6th argument
|
||||
in %ebp for syscall. */
|
||||
|
||||
#if __GNUC_PREREQ (5,0) && !defined PROF
|
||||
# define OPTIMIZE_FOR_GCC_5
|
||||
#endif
|
||||
|
||||
#ifndef OPTIMIZE_FOR_GCC_5
|
||||
/* We need some help from the assembler to generate optimal code. We
|
||||
define some macros here which later will be used. */
|
||||
|
Loading…
Reference in New Issue
Block a user