about summary refs log tree commit diff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-04-06 06:02:11 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-04-06 06:44:33 -0700
commitf90a7e96df87edadd503a0a32aa70fb97c55a044 (patch)
treed3e625a0d15c1480e1afccd47c52d9c9b06508fe
parentf9ac84f92f151e07586c55e14ed628d493a5929d (diff)
downloadglibc-f90a7e96df87edadd503a0a32aa70fb97c55a044.tar.gz
glibc-f90a7e96df87edadd503a0a32aa70fb97c55a044.tar.xz
glibc-f90a7e96df87edadd503a0a32aa70fb97c55a044.zip
i386: Disable check_consistency for GCC 5 and above [BZ #25788]
check_consistency should be disabled for GCC 5 and above since there is
no fixed PIC register in GCC 5 and above.  Check __GNUC_PREREQ (5,0)
instead OPTIMIZE_FOR_GCC_5 since OPTIMIZE_FOR_GCC_5 is false with
-fno-omit-frame-pointer.
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h
index 5e3888060b..6671afe65e 100644
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -580,8 +580,9 @@ struct libc_do_syscall_args
 # define EXTRAVAR_5
 #endif
 
-/* Consistency check for position-independent code.  */
-#if defined __PIC__ && !defined OPTIMIZE_FOR_GCC_5
+/* Consistency check for position-independent code.  Disabled for GCC 5
+   and above since there is no fixed PIC register in GCC 5 and above.  */
+#if defined __PIC__ && !__GNUC_PREREQ (5,0)
 # define check_consistency()						      \
   ({ int __res;								      \
      __asm__ __volatile__						      \