summaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-27 09:55:19 +0000
committerkyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-27 09:55:19 +0000
commitdf9f2e40cb3e58ff6490c54473a7779e30206794 (patch)
treec3f8af07cbeec30831a713ebef2709f7bae7324c /gcc/config.gcc
parentd18af62e3808d9860cf2a36c41367b3b3e8e3fa9 (diff)
downloadgcc-df9f2e40cb3e58ff6490c54473a7779e30206794.tar.gz
* gcc/target.def (TARGET_HAS_IFUNC_P): New target hook.
* gcc/doc/tm.texi.in (TARGET_HAS_IFUNC_P): New. * gcc/doc/tm.texi: Regenerate. * gcc/targhooks.h (default_has_ifunc_p): New. * gcc/targhooks.c (default_has_ifunc_p): Ditto. * gcc/config/linux-protos.h: New file. * gcc/config/linux-android.h (TARGET_HAS_IFUNC_P): Using version of this hook for linux which disables support of indirect functions in android. * gcc/config/linux-android.c: New file. * gcc/config/t-linux-android.c: Ditto. * gcc/config.gcc: Added new object file linux-android.o. * gcc/config/i386/i386.c (ix86_get_function_versions_dispatcher): Using TARGET_HAS_IFUNC hook instead of HAVE_GNU_INDIRECT_FUNCTION. * gcc/varasm.c (do_assemble_alias): Likewise. * configure.ac: Define HAVE_GNU_INDIRECT_FUNCTION as zero if the target doesn't support indirect functions. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197156 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 1a0be50f033..11af65f9fab 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -664,8 +664,11 @@ case ${target} in
# Add Android userspace support to Linux targets.
case $target in
*linux*)
+ tm_p_file="${tm_p_file} linux-protos.h"
+ tmake_file="${tmake_file} t-linux-android"
tm_file="$tm_file linux-android.h"
extra_options="$extra_options linux-android.opt"
+ extra_objs="$extra_objs linux-android.o"
;;
esac
# Enable compilation for Android by default for *android* targets.
@@ -875,8 +878,9 @@ arm*-*-linux-*) # ARM GNU/Linux with ELF
tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
;;
esac
- tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
- tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h vxworks-dummy.h arm/arm.h"
+ tmake_file="${tmake_file} arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi t-linux-android"
+ tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h arm/aout.h arm/arm.h"
+ extra_objs="$extra_objs linux-android.o"
# Define multilib configuration for arm-linux-androideabi.
case ${target} in
*-androideabi)