On Fri, Nov 14, 2014 at 7:51 AM, Uros Bizjak <ubiz...@gmail.com> wrote: > On Fri, Nov 14, 2014 at 3:38 PM, H.J. Lu <hongjiu...@intel.com> wrote: >> On Thu, Nov 13, 2014 at 09:32:07PM -0800, H.J. Lu wrote: >>> 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 wrong >>> for i[34567]86-*-linux-android* 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...@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. >>> >> >> Here is the updated patch to cover uclibc. OK for trunk? >> >> Thanks. >> >> H.J. >> --- >> 2014-11-14 H.J. Lu <hongjiu...@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. > > Please split target selectors to separate lines. > > OK with this change. > > Thanks, > Uros. > >> diff --git a/gcc/config.gcc b/gcc/config.gcc >> index a6b37d8..a2c502e 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 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 +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 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"
This is what I checked in. Thanks. -- H.J. --- 2014-11-14 H.J. Lu <hongjiu...@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. diff --git a/gcc/config.gcc b/gcc/config.gcc index a6b37d8..bef56e2 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"