diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2010-09-09 14:12:57 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2010-09-09 14:12:57 +0000 |
commit | ba885ec559ca39e0dc23641dbbe67cc0072378f3 (patch) | |
tree | da6907a1c5c815841942c5773bfc6c02f7b889e8 /gcc/configure.ac | |
parent | e3cdb7cf9a0d934b9cdc24d40d730141e5752f60 (diff) | |
download | gcc-ba885ec559ca39e0dc23641dbbe67cc0072378f3.zip gcc-ba885ec559ca39e0dc23641dbbe67cc0072378f3.tar.gz gcc-ba885ec559ca39e0dc23641dbbe67cc0072378f3.tar.bz2 |
configure.ac (gnu_indirect_function): New test.
* configure.ac (gnu_indirect_function): New test.
* configure: Rebuilt.
* config.in (HAVE_GAS_INDIRECT_FUNCTION): New.
* defaults.h (IFUNC_ASM_TYPE): Provide default.
* doc/extend.texi (Function Attributes): Document ifunc.
* varasm.c (do_assemble_alias): Deal with ifuncs too.
c-family/
* c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
(handle_alias_attribute): ... here.
(handle_ifunc_attribute): New.
testsuite/
* lib/target-supports-dg.exp (dg-require-ifunc): New.
* lib/target-supports.exp (check_ifunc_available): New.
* gcc.dg/attr-ifunc-1.c: New.
* gcc.dg/attr-ifunc-2.c: New.
* gcc.dg/attr-ifunc-3.c: New.
* gcc.dg/attr-ifunc-4.c: New.
* gcc.dg/attr-ifunc-5.c: New.
* testsuite/g++.dg/ext/attr-ifunc-1.C
* testsuite/g++.dg/ext/attr-ifunc-2.C
* testsuite/g++.dg/ext/attr-ifunc-3.C
* testsuite/g++.dg/ext/attr-ifunc-4.C
From-SVN: r164110
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r-- | gcc/configure.ac | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac index 75cded6..e39ab87 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -2158,6 +2158,19 @@ EOF ;; esac]) +# gnu_indirect_function type is an extension proposed at +# http://groups.google/com/group/generic-abi/files. It allows dynamic runtime +# selection of function implementation +gcc_GAS_CHECK_FEATURE(gnu_indirect_function, gcc_cv_as_indirect_function, + [elf,2,20,1],, +[ .type Foo, @gnu_indirect_function +Foo:]) +GCC_TARGET_TEMPLATE([HAVE_GAS_INDIRECT_FUNCTION]) +if test $gcc_cv_as_indirect_function = yes ; then + AC_DEFINE(HAVE_GAS_INDIRECT_FUNCTION, 1, + [Define if your assembler supports indirect function type.]) +fi + changequote(,)dnl if test $in_tree_ld != yes ; then ld_ver=`$gcc_cv_ld --version 2>/dev/null | sed 1q` |