diff mbox

PATCH: Don't assume modern glibc for x86 Android targets

Message ID 20141114053207.GA13022@intel.com
State New
Headers show

Commit Message

H.J. Lu Nov. 14, 2014, 5:32 a.m. UTC
For i[34567]86-*-linux* and x86_64-*-linux* targets, config.gcc assumes
modern glibc and set default_gnu_indirect_function to yes.  That is wron
for i[34567]86-*-linux-android* and and x86_64-*-linux-android* targets.
This patch fixes it.  Tested on Linux/x86-64, Linux/ia32 and cross-teste
for i686-linux-android and x86_64-linux-android.  OK for trunk?

Thanks.


H.J.
----
2014-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc (default_gnu_indirect_function): Don't assume
	modern glibc for i[34567]86-*-linux* and x86_64-*-linux* when
	targeting Android.
diff mbox

Patch

diff --git a/gcc/config.gcc b/gcc/config.gcc
index a6b37d8..3448048 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1404,8 +1404,11 @@  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 unless we are targeting Android
+		case $target in
+		*-*-*android*) ;;
+		*) 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 +1470,11 @@  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 unless we are targeting Android
+		case $target in
+		*-*-*android*) ;;
+		*) default_gnu_indirect_function=yes ;;
+		esac
 	  	;;
 	x86_64-*-kfreebsd*-gnu)
 		tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu64.h"