summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-14 16:43:23 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2014-11-14 16:43:23 +0000
commite6cdd6b1755033e8f416efaa4334d1294c0a43c6 (patch)
tree24ad6d5dc9fda5199fcd6c3f538c4547ae05abd7
parent23e73fed15bbe6660007dc7bfef21b3ec9f116b1 (diff)
downloadgcc-e6cdd6b1755033e8f416efaa4334d1294c0a43c6.tar.gz
Don't enable IFUNC by default for Android and uclibc
* config.gcc (default_gnu_indirect_function): Set to yes for i[34567]86-*-linux* and x86_64-*-linux* if not targeting Android nor uclibc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217575 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config.gcc20
2 files changed, 22 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8d26234cdfc..bb993d2158d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-11-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc (default_gnu_indirect_function): Set to yes
+ for i[34567]86-*-linux* and x86_64-*-linux* if not targeting
+ Android nor uclibc.
+
2014-11-14 Felix Yang <felix.yang@huawei.com>
Jiji Jiang <jiangjiji@huawei.com>
diff --git a/gcc/config.gcc b/gcc/config.gcc
index a6b37d8b8f5..bef56e2e54e 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1404,8 +1404,14 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i
i[34567]86-*-linux*)
tm_file="${tm_file} linux.h linux-android.h"
extra_options="${extra_options} linux-android.opt"
- # Assume modern glibc
- default_gnu_indirect_function=yes
+ # Assume modern glibc if not targeting Android nor uclibc.
+ case ${target} in
+ *-*-*android*|*-*-*uclibc*)
+ ;;
+ *)
+ default_gnu_indirect_function=yes
+ ;;
+ esac
if test x$enable_targets = xall; then
tm_file="${tm_file} i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h i386/linux-common.h i386/linux64.h"
tm_defines="${tm_defines} TARGET_BI_ARCH=1"
@@ -1467,8 +1473,14 @@ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
x86_64-*-linux*)
tm_file="${tm_file} linux.h linux-android.h i386/linux-common.h i386/linux64.h"
extra_options="${extra_options} linux-android.opt"
- # Assume modern glibc
- default_gnu_indirect_function=yes
+ # Assume modern glibc if not targeting Android nor uclibc.
+ case ${target} in
+ *-*-*android*|*-*-*uclibc*)
+ ;;
+ *)
+ default_gnu_indirect_function=yes
+ ;;
+ esac
;;
x86_64-*-kfreebsd*-gnu)
tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"