X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fconfigure.ac;h=74dd9a3f8eaab74ba0909838e9dc432b101759d7;hb=de2bc49318bb75a38a6fa668fd5553cd8d92f19d;hp=d256b62b1042de4b5da9a785fdbc34d5f5ca46ce;hpb=d68451393afcbe8f25b843d0dd8d30a5d9ea78d6;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/configure.ac b/gcc/configure.ac index d256b62b104..74dd9a3f8ea 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1034,8 +1034,8 @@ AC_CHECK_FUNCS(elf_getshdrstrndx,, int main() { return elf_getshstrndx (NULL, 0) == 0; -}]]), AC_DEFINE(HAVE_ELF_GETSHSTRNDX_GABI, 1, - [Define if elf_getshstrndx has gABI conformant return values.])])])] +}]])], AC_DEFINE(HAVE_ELF_GETSHSTRNDX_GABI, 1, + [Define if elf_getshstrndx has gABI conformant return values.]))])] ) LIBS="$save_LIBS" CPPFLAGS="$save_CPPFLAGS" @@ -1568,6 +1568,14 @@ AC_ARG_ENABLE(secureplt, [ --enable-secureplt enable -msecure-plt by default for PowerPC], [], []) +AC_ARG_ENABLE(leading-mingw64-underscores, + AS_HELP_STRING([--enable-leading-mingw64-underscores], + [Enable leading underscores on 64 bit mingw targets]), + [],[]) +AS_IF([ test x"$enable_leading_mingw64_underscores" = xyes ], + [AC_DEFINE(USE_MINGW64_LEADING_UNDERSCORES, 1, + [Define if we should use leading underscore on 64 bit mingw targets])]) + AC_ARG_ENABLE(cld, [ --enable-cld enable -mcld by default for 32bit x86], [], [enable_cld=no]) @@ -2217,6 +2225,8 @@ else gcc_cv_ld_hidden=yes ;; *-*-solaris2.9* | *-*-solaris2.1[0-9]*) + # Support for .hidden in Sun ld appeared in Solaris 9 FCS, but + # .symbolic was only added in Solaris 9 12/02. gcc_cv_ld_hidden=yes ;; *) @@ -2649,7 +2659,7 @@ foo: .long 25 ;; i[34567]86-*-*) case "$target" in - i[34567]86-*-solaris2.[89]*) + i[34567]86-*-solaris2.[56789]*) # TLS was introduced in the Solaris 9 4/04 release but # we do not enable it by default on Solaris 9 either. if test "x$enable_tls" = xyes ; then @@ -3202,6 +3212,19 @@ foo: nop rm -f conftest], [AC_DEFINE(HAVE_GAS_PE_SECREL32_RELOC, 1, [Define if your assembler and linker support 32-bit section relative relocs via '.secrel32 label'.])]) + # Test if the assembler supports the extended form of the .section + # directive that specifies section alignment. LTO support uses this, + # but normally only after installation, so we warn but don't fail the + # configure if LTO is enabled but the assembler does not support it. + gcc_GAS_CHECK_FEATURE([.section with alignment], gcc_cv_as_section_has_align, + [2,20,1],-fatal-warnings,[.section lto_test,"dr0"]) + if test x$gcc_cv_as_section_has_align != xyes; then + case ",$enable_languages," in + *,lto,*) + AC_MSG_WARN([LTO for $target requires binutils >= 2.20.1, but version found appears insufficient; LTO will not work until binutils is upgraded.]) + ;; + esac + fi ;; esac @@ -3253,7 +3276,7 @@ foo: nop [AC_DEFINE(HAVE_AS_IX86_DIFF_SECT_DELTA, 1, [Define if your assembler supports the subtraction of symbols in different sections.])]) - # This one is used unconditionally by i386.[ch]; it is to be defined + # These two are used unconditionally by i386.[ch]; it is to be defined # to 1 if the feature is present, 0 otherwise. gcc_GAS_CHECK_FEATURE([GOTOFF in data], gcc_cv_as_ix86_gotoff_in_data, [2,11,0],, @@ -3265,6 +3288,15 @@ foo: nop AC_DEFINE_UNQUOTED(HAVE_AS_GOTOFF_IN_DATA, [`if test $gcc_cv_as_ix86_gotoff_in_data = yes; then echo 1; else echo 0; fi`], [Define true if the assembler supports '.long foo@GOTOFF'.]) + + gcc_GAS_CHECK_FEATURE([rep and lock prefix], + gcc_cv_as_ix86_rep_lock_prefix,,, + [rep movsl + lock orl $0, (%esp)]) + AC_DEFINE_UNQUOTED(HAVE_AS_IX86_REP_LOCK_PREFIX, + [`if test $gcc_cv_as_ix86_rep_lock_prefix = yes; then echo 1; else echo 0; fi`], + [Define true if the assembler supports 'rep , lock '.]) + ;; ia64*-*-*) @@ -3816,7 +3848,8 @@ EOF if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \ | grep "gc-sections option ignored" > /dev/null; then gcc_cv_ld_eh_gc_sections=no - elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then + elif $gcc_cv_objdump -h conftest 2> /dev/null \ + | grep gcc_except_table > /dev/null; then gcc_cv_ld_eh_gc_sections=yes # If no COMDAT groups, the compiler will emit .gnu.linkonce.t. sections. if test x$gcc_cv_as_comdat_group != xyes; then @@ -3843,7 +3876,8 @@ EOF if $gcc_cv_ld -o conftest conftest.o --entry=_start --gc-sections 2>&1 \ | grep "gc-sections option ignored" > /dev/null; then gcc_cv_ld_eh_gc_sections=no - elif $gcc_cv_objdump -h conftest | grep gcc_except_table > /dev/null; then + elif $gcc_cv_objdump -h conftest 2> /dev/null \ + | grep gcc_except_table > /dev/null; then gcc_cv_ld_eh_gc_sections=yes fi fi @@ -4270,6 +4304,17 @@ changequote([,])dnl AC_DEFINE(ENABLE_LTO, 1, [Define to enable LTO support.]) enable_lto=yes AC_SUBST(enable_lto) + # LTO needs to speak the platform's object file format, and has a + # number of implementations of the required binary file access APIs. + # ELF is the most common, and default. We only link libelf if ELF + # is indeed the selected format. + LTO_BINARY_READER=${lto_binary_reader} + LTO_USE_LIBELF=-lelf + if test "x$lto_binary_reader" != "xlto-elf" ; then + LTO_USE_LIBELF= + fi + AC_SUBST(LTO_BINARY_READER) + AC_SUBST(LTO_USE_LIBELF) ;; *) ;; esac @@ -4456,15 +4501,23 @@ enable_plugin=yes; default_plugin=yes) pluginlibs= if test x"$enable_plugin" = x"yes"; then + case "${host}" in + *-*-darwin*) + export_sym_check="$gcc_cv_nm -g" + ;; + *) + export_sym_check="$gcc_cv_objdump -T" + ;; + esac AC_MSG_CHECKING([for exported symbols]) echo "int main() {return 0;} int foobar() {return 0;}" > conftest.c ${CC} ${CFLAGS} ${LDFLAGS} conftest.c -o conftest > /dev/null 2>&1 - if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then + if $export_sym_check conftest | grep foobar > /dev/null; then : # No need to use a flag else AC_MSG_CHECKING([for -rdynamic]) ${CC} ${CFLAGS} ${LDFLAGS} -rdynamic conftest.c -o conftest > /dev/null 2>&1 - if $gcc_cv_objdump -T conftest | grep foobar > /dev/null; then + if $export_sym_check conftest | grep foobar > /dev/null; then plugin_rdynamic=yes pluginlibs="-rdynamic" else @@ -4484,7 +4537,14 @@ if test x"$enable_plugin" = x"yes"; then # Check that we can build shared objects with -fPIC -shared saved_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -fPIC -shared" + case "${host}" in + *-*-darwin*) + LDFLAGS="$LDFLAGS -fPIC -shared -undefined dynamic_lookup" + ;; + *) + LDFLAGS="$LDFLAGS -fPIC -shared" + ;; + esac AC_MSG_CHECKING([for -fPIC -shared]) AC_TRY_LINK( [extern int X;],[return X == 0;],