From: "H.J. Lu" <hjl.tools@gmail.com>
To: Jakub Jelinek <jakub@redhat.com>
Cc: David Edelsohn <dje.gcc@gmail.com>,
GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: PING: PATCH: PR target/46770: Use .init_array/.fini_array sections
Date: Mon, 22 Aug 2011 18:33:00 -0000 [thread overview]
Message-ID: <CAMe9rOqFWAwfnVXLVvUkfJ6SWq_K0WfV1f6HLVYQr82HByvAEA@mail.gmail.com> (raw)
In-Reply-To: <CAMe9rOpgdFMQbc9znCkHUkDfCH1y5=aC4YHr2_uN05e7RYWuOQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 866 bytes --]
On Mon, Aug 22, 2011 at 10:09 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Sun, Aug 21, 2011 at 10:37 PM, Jakub Jelinek <jakub@redhat.com> wrote:
> nd/or add another test to it that tests
>> that you can actually use
>> .section .init_array
>> and it will use correct section flags for the section.
>>
>
> We need this information in config.gcc. But config.gcc is used
> before assembler and readelf are detected. I am running out of
> ideas. Any suggestions?
>
> Thanks.
>
This is a much bigger change that I like and I don't feel very comfortable
about it since I can only test it on Linux/x86.
--
H.J.
----
2011-08-22 H.J. Lu <hongjiu.lu@intel.com>
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check if
".section .init_array" works.
* configure.ac: Move binutils tests before gcc_AC_INITFINI_ARRAY.
* configure: Regenerated.
[-- Attachment #2: gcc-init-array-1.patch --]
[-- Type: text/x-diff, Size: 16995 bytes --]
diff --git a/gcc/acinclude.m4 b/gcc/acinclude.m4
index a8ecd2d..3827046 100644
--- a/gcc/acinclude.m4
+++ b/gcc/acinclude.m4
@@ -376,6 +376,18 @@ AC_DEFUN([gcc_AC_INITFINI_ARRAY],
AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
gcc_cv_initfini_array, [dnl
if test "x${build}" = "x${target}" && test "x${build}" = "x${host}"; then
+ if test x$gcc_cv_as != x -a x$gcc_cv_readelf != x ; then
+ echo ".section .init_array; .byte 0" > conftest.s
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ if $gcc_cv_readelf -S --wide conftest.o 2>&1 \
+ | grep INIT_ARRAY > /dev/null 2>&1; then
+ gcc_cv_as_init_array=yes
+ fi
+ fi
+ rm -f conftest.s conftest.o
+ fi
+ fi
+ if test "x${gcc_cv_as_init_array}" = xyes; then
AC_RUN_IFELSE([AC_LANG_SOURCE([
#ifndef __ELF__
#error Not an ELF OS
diff --git a/gcc/configure.ac b/gcc/configure.ac
index ed01904..3cae58a 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1153,6 +1153,231 @@ fi
# Restore CFLAGS from before the gcc_AC_NEED_DECLARATIONS tests.
CFLAGS="$saved_CFLAGS"
+# Identify the assembler which will work hand-in-glove with the newly
+# built GCC, so that we can examine its features. This is the assembler
+# which will be driven by the driver program.
+#
+# If build != host, and we aren't building gas in-tree, we identify a
+# build->target assembler and hope that it will have the same features
+# as the host->target assembler we'll be using.
+gcc_cv_gas_major_version=
+gcc_cv_gas_minor_version=
+gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
+
+m4_pattern_allow([AS_FOR_TARGET])dnl
+AS_VAR_SET_IF(gcc_cv_as,, [
+if test -x "$DEFAULT_ASSEMBLER"; then
+ gcc_cv_as="$DEFAULT_ASSEMBLER"
+elif test -f $gcc_cv_as_gas_srcdir/configure.in \
+ && test -f ../gas/Makefile \
+ && test x$build = x$host; then
+ gcc_cv_as=../gas/as-new$build_exeext
+elif test -x as$build_exeext; then
+ # Build using assembler in the current directory.
+ gcc_cv_as=./as$build_exeext
+elif ( set dummy $AS_FOR_TARGET; test -x $[2] ); then
+ gcc_cv_as="$AS_FOR_TARGET"
+else
+ AC_PATH_PROG(gcc_cv_as, $AS_FOR_TARGET)
+fi])
+
+ORIGINAL_AS_FOR_TARGET=$gcc_cv_as
+AC_SUBST(ORIGINAL_AS_FOR_TARGET)
+case "$ORIGINAL_AS_FOR_TARGET" in
+ ./as | ./as$build_exeext) ;;
+ *) AC_CONFIG_FILES(as:exec-tool.in, [chmod +x as]) ;;
+esac
+
+AC_MSG_CHECKING(what assembler to use)
+if test "$gcc_cv_as" = ../gas/as-new$build_exeext; then
+ # Single tree build which includes gas. We want to prefer it
+ # over whatever linker top-level may have detected, since
+ # we'll use what we're building after installation anyway.
+ AC_MSG_RESULT(newly built gas)
+ in_tree_gas=yes
+ _gcc_COMPUTE_GAS_VERSION
+ in_tree_gas_is_elf=no
+ if grep 'obj_format = elf' ../gas/Makefile > /dev/null \
+ || (grep 'obj_format = multi' ../gas/Makefile \
+ && grep 'extra_objects =.* obj-elf' ../gas/Makefile) > /dev/null
+ then
+ in_tree_gas_is_elf=yes
+ fi
+else
+ AC_MSG_RESULT($gcc_cv_as)
+ in_tree_gas=no
+fi
+
+# Identify the linker which will work hand-in-glove with the newly
+# built GCC, so that we can examine its features. This is the linker
+# which will be driven by the driver program.
+#
+# If build != host, and we aren't building gas in-tree, we identify a
+# build->target linker and hope that it will have the same features
+# as the host->target linker we'll be using.
+gcc_cv_gld_major_version=
+gcc_cv_gld_minor_version=
+gcc_cv_ld_gld_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/ld
+gcc_cv_ld_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
+
+AS_VAR_SET_IF(gcc_cv_ld,, [
+if test -x "$DEFAULT_LINKER"; then
+ gcc_cv_ld="$DEFAULT_LINKER"
+elif test -f $gcc_cv_ld_gld_srcdir/configure.in \
+ && test -f ../ld/Makefile \
+ && test x$build = x$host; then
+ gcc_cv_ld=../ld/ld-new$build_exeext
+elif test -x collect-ld$build_exeext; then
+ # Build using linker in the current directory.
+ gcc_cv_ld=./collect-ld$build_exeext
+elif ( set dummy $LD_FOR_TARGET; test -x $[2] ); then
+ gcc_cv_ld="$LD_FOR_TARGET"
+else
+ AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET)
+fi])
+
+ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
+PLUGIN_LD=`basename $gcc_cv_ld`
+AC_ARG_WITH(plugin-ld,
+[AS_HELP_STRING([[--with-plugin-ld=[ARG]]], [specify the plugin linker])],
+[if test x"$withval" != x; then
+ ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval"
+ PLUGIN_LD="$withval"
+ fi])
+AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET)
+AC_DEFINE_UNQUOTED(PLUGIN_LD, "$PLUGIN_LD", [Specify plugin linker])
+
+# Check to see if we are using gold instead of ld
+AC_MSG_CHECKING(whether we are using gold)
+ld_is_gold=no
+if test x$gcc_cv_ld != x; then
+ if $gcc_cv_ld --version 2>/dev/null | sed 1q \
+ | grep "GNU gold" > /dev/null; then
+ ld_is_gold=yes
+ fi
+fi
+AC_MSG_RESULT($ld_is_gold)
+
+ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld
+AC_SUBST(ORIGINAL_LD_FOR_TARGET)
+case "$ORIGINAL_LD_FOR_TARGET" in
+ ./collect-ld | ./collect-ld$build_exeext) ;;
+ *) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;;
+esac
+
+AC_MSG_CHECKING(what linker to use)
+if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext \
+ || test "$gcc_cv_ld" = ../gold/ld-new$build_exeext; then
+ # Single tree build which includes ld. We want to prefer it
+ # over whatever linker top-level may have detected, since
+ # we'll use what we're building after installation anyway.
+ AC_MSG_RESULT(newly built ld)
+ in_tree_ld=yes
+ in_tree_ld_is_elf=no
+ if (grep 'EMUL = .*elf' ../ld/Makefile \
+ || grep 'EMUL = .*linux' ../ld/Makefile \
+ || grep 'EMUL = .*lynx' ../ld/Makefile) > /dev/null; then
+ in_tree_ld_is_elf=yes
+ elif test "$ld_is_gold" = yes; then
+ in_tree_ld_is_elf=yes
+ fi
+ for f in $gcc_cv_ld_bfd_srcdir/configure $gcc_cv_ld_gld_srcdir/configure $gcc_cv_ld_gld_srcdir/configure.in $gcc_cv_ld_gld_srcdir/Makefile.in
+ do
+changequote(,)dnl
+ gcc_cv_gld_version=`sed -n -e 's/^[ ]*\(VERSION=[0-9]*\.[0-9]*.*\)/\1/p' < $f`
+ if test x$gcc_cv_gld_version != x; then
+ break
+ fi
+ done
+ gcc_cv_gld_major_version=`expr "$gcc_cv_gld_version" : "VERSION=\([0-9]*\)"`
+ gcc_cv_gld_minor_version=`expr "$gcc_cv_gld_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
+changequote([,])dnl
+else
+ AC_MSG_RESULT($gcc_cv_ld)
+ in_tree_ld=no
+fi
+
+# Figure out what nm we will be using.
+gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils
+AS_VAR_SET_IF(gcc_cv_nm,, [
+if test -f $gcc_cv_binutils_srcdir/configure.in \
+ && test -f ../binutils/Makefile \
+ && test x$build = x$host; then
+ gcc_cv_nm=../binutils/nm-new$build_exeext
+elif test -x nm$build_exeext; then
+ gcc_cv_nm=./nm$build_exeext
+elif ( set dummy $NM_FOR_TARGET; test -x $[2] ); then
+ gcc_cv_nm="$NM_FOR_TARGET"
+else
+ AC_PATH_PROG(gcc_cv_nm, $NM_FOR_TARGET)
+fi])
+
+AC_MSG_CHECKING(what nm to use)
+if test "$gcc_cv_nm" = ../binutils/nm-new$build_exeext; then
+ # Single tree build which includes binutils.
+ AC_MSG_RESULT(newly built nm)
+ in_tree_nm=yes
+else
+ AC_MSG_RESULT($gcc_cv_nm)
+ in_tree_nm=no
+fi
+
+ORIGINAL_NM_FOR_TARGET=$gcc_cv_nm
+AC_SUBST(ORIGINAL_NM_FOR_TARGET)
+case "$ORIGINAL_NM_FOR_TARGET" in
+ ./nm | ./nm$build_exeext) ;;
+ *) AC_CONFIG_FILES(nm:exec-tool.in, [chmod +x nm]) ;;
+esac
+
+
+# Figure out what objdump we will be using.
+AS_VAR_SET_IF(gcc_cv_objdump,, [
+if test -f $gcc_cv_binutils_srcdir/configure.in \
+ && test -f ../binutils/Makefile \
+ && test x$build = x$host; then
+ # Single tree build which includes binutils.
+ gcc_cv_objdump=../binutils/objdump$build_exeext
+elif test -x objdump$build_exeext; then
+ gcc_cv_objdump=./objdump$build_exeext
+elif ( set dummy $OBJDUMP_FOR_TARGET; test -x $[2] ); then
+ gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
+else
+ AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET)
+fi])
+
+AC_MSG_CHECKING(what objdump to use)
+if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then
+ # Single tree build which includes binutils.
+ AC_MSG_RESULT(newly built objdump)
+elif test x$gcc_cv_objdump = x; then
+ AC_MSG_RESULT(not found)
+else
+ AC_MSG_RESULT($gcc_cv_objdump)
+fi
+
+# Figure out what readelf we will be using.
+AS_VAR_SET_IF(gcc_cv_readelf,, [
+if test -f $gcc_cv_binutils_srcdir/configure.in \
+ && test -f ../binutils/Makefile \
+ && test x$build = x$host; then
+ # Single tree build which includes binutils.
+ gcc_cv_readelf=../binutils/readelf$build_exeext
+elif test -x readelf$build_exeext; then
+ gcc_cv_readelf=./readelf$build_exeext
+else
+ AC_PATH_PROG(gcc_cv_readelf, readelf)
+fi])
+
+AC_MSG_CHECKING(what readelf to use)
+if test "$gcc_cv_readelf" = ../binutils/readelf$build_exeext; then
+ # Single tree build which includes binutils.
+ AC_MSG_RESULT(newly built readelf)
+elif test x$gcc_cv_readelf = x; then
+ AC_MSG_RESULT(not found)
+else
+ AC_MSG_RESULT($gcc_cv_readelf)
+fi
+
gcc_AC_INITFINI_ARRAY
# mkdir takes a single argument on some systems.
@@ -1892,231 +2117,6 @@ AC_PROG_LIBTOOL
AC_SUBST(objdir)
AC_SUBST(enable_fast_install)
-# Identify the assembler which will work hand-in-glove with the newly
-# built GCC, so that we can examine its features. This is the assembler
-# which will be driven by the driver program.
-#
-# If build != host, and we aren't building gas in-tree, we identify a
-# build->target assembler and hope that it will have the same features
-# as the host->target assembler we'll be using.
-gcc_cv_gas_major_version=
-gcc_cv_gas_minor_version=
-gcc_cv_as_gas_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/gas
-
-m4_pattern_allow([AS_FOR_TARGET])dnl
-AS_VAR_SET_IF(gcc_cv_as,, [
-if test -x "$DEFAULT_ASSEMBLER"; then
- gcc_cv_as="$DEFAULT_ASSEMBLER"
-elif test -f $gcc_cv_as_gas_srcdir/configure.in \
- && test -f ../gas/Makefile \
- && test x$build = x$host; then
- gcc_cv_as=../gas/as-new$build_exeext
-elif test -x as$build_exeext; then
- # Build using assembler in the current directory.
- gcc_cv_as=./as$build_exeext
-elif ( set dummy $AS_FOR_TARGET; test -x $[2] ); then
- gcc_cv_as="$AS_FOR_TARGET"
-else
- AC_PATH_PROG(gcc_cv_as, $AS_FOR_TARGET)
-fi])
-
-ORIGINAL_AS_FOR_TARGET=$gcc_cv_as
-AC_SUBST(ORIGINAL_AS_FOR_TARGET)
-case "$ORIGINAL_AS_FOR_TARGET" in
- ./as | ./as$build_exeext) ;;
- *) AC_CONFIG_FILES(as:exec-tool.in, [chmod +x as]) ;;
-esac
-
-AC_MSG_CHECKING(what assembler to use)
-if test "$gcc_cv_as" = ../gas/as-new$build_exeext; then
- # Single tree build which includes gas. We want to prefer it
- # over whatever linker top-level may have detected, since
- # we'll use what we're building after installation anyway.
- AC_MSG_RESULT(newly built gas)
- in_tree_gas=yes
- _gcc_COMPUTE_GAS_VERSION
- in_tree_gas_is_elf=no
- if grep 'obj_format = elf' ../gas/Makefile > /dev/null \
- || (grep 'obj_format = multi' ../gas/Makefile \
- && grep 'extra_objects =.* obj-elf' ../gas/Makefile) > /dev/null
- then
- in_tree_gas_is_elf=yes
- fi
-else
- AC_MSG_RESULT($gcc_cv_as)
- in_tree_gas=no
-fi
-
-# Identify the linker which will work hand-in-glove with the newly
-# built GCC, so that we can examine its features. This is the linker
-# which will be driven by the driver program.
-#
-# If build != host, and we aren't building gas in-tree, we identify a
-# build->target linker and hope that it will have the same features
-# as the host->target linker we'll be using.
-gcc_cv_gld_major_version=
-gcc_cv_gld_minor_version=
-gcc_cv_ld_gld_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/ld
-gcc_cv_ld_bfd_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/bfd
-
-AS_VAR_SET_IF(gcc_cv_ld,, [
-if test -x "$DEFAULT_LINKER"; then
- gcc_cv_ld="$DEFAULT_LINKER"
-elif test -f $gcc_cv_ld_gld_srcdir/configure.in \
- && test -f ../ld/Makefile \
- && test x$build = x$host; then
- gcc_cv_ld=../ld/ld-new$build_exeext
-elif test -x collect-ld$build_exeext; then
- # Build using linker in the current directory.
- gcc_cv_ld=./collect-ld$build_exeext
-elif ( set dummy $LD_FOR_TARGET; test -x $[2] ); then
- gcc_cv_ld="$LD_FOR_TARGET"
-else
- AC_PATH_PROG(gcc_cv_ld, $LD_FOR_TARGET)
-fi])
-
-ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
-PLUGIN_LD=`basename $gcc_cv_ld`
-AC_ARG_WITH(plugin-ld,
-[AS_HELP_STRING([[--with-plugin-ld=[ARG]]], [specify the plugin linker])],
-[if test x"$withval" != x; then
- ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval"
- PLUGIN_LD="$withval"
- fi])
-AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET)
-AC_DEFINE_UNQUOTED(PLUGIN_LD, "$PLUGIN_LD", [Specify plugin linker])
-
-# Check to see if we are using gold instead of ld
-AC_MSG_CHECKING(whether we are using gold)
-ld_is_gold=no
-if test x$gcc_cv_ld != x; then
- if $gcc_cv_ld --version 2>/dev/null | sed 1q \
- | grep "GNU gold" > /dev/null; then
- ld_is_gold=yes
- fi
-fi
-AC_MSG_RESULT($ld_is_gold)
-
-ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld
-AC_SUBST(ORIGINAL_LD_FOR_TARGET)
-case "$ORIGINAL_LD_FOR_TARGET" in
- ./collect-ld | ./collect-ld$build_exeext) ;;
- *) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;;
-esac
-
-AC_MSG_CHECKING(what linker to use)
-if test "$gcc_cv_ld" = ../ld/ld-new$build_exeext \
- || test "$gcc_cv_ld" = ../gold/ld-new$build_exeext; then
- # Single tree build which includes ld. We want to prefer it
- # over whatever linker top-level may have detected, since
- # we'll use what we're building after installation anyway.
- AC_MSG_RESULT(newly built ld)
- in_tree_ld=yes
- in_tree_ld_is_elf=no
- if (grep 'EMUL = .*elf' ../ld/Makefile \
- || grep 'EMUL = .*linux' ../ld/Makefile \
- || grep 'EMUL = .*lynx' ../ld/Makefile) > /dev/null; then
- in_tree_ld_is_elf=yes
- elif test "$ld_is_gold" = yes; then
- in_tree_ld_is_elf=yes
- fi
- for f in $gcc_cv_ld_bfd_srcdir/configure $gcc_cv_ld_gld_srcdir/configure $gcc_cv_ld_gld_srcdir/configure.in $gcc_cv_ld_gld_srcdir/Makefile.in
- do
-changequote(,)dnl
- gcc_cv_gld_version=`sed -n -e 's/^[ ]*\(VERSION=[0-9]*\.[0-9]*.*\)/\1/p' < $f`
- if test x$gcc_cv_gld_version != x; then
- break
- fi
- done
- gcc_cv_gld_major_version=`expr "$gcc_cv_gld_version" : "VERSION=\([0-9]*\)"`
- gcc_cv_gld_minor_version=`expr "$gcc_cv_gld_version" : "VERSION=[0-9]*\.\([0-9]*\)"`
-changequote([,])dnl
-else
- AC_MSG_RESULT($gcc_cv_ld)
- in_tree_ld=no
-fi
-
-# Figure out what nm we will be using.
-gcc_cv_binutils_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/binutils
-AS_VAR_SET_IF(gcc_cv_nm,, [
-if test -f $gcc_cv_binutils_srcdir/configure.in \
- && test -f ../binutils/Makefile \
- && test x$build = x$host; then
- gcc_cv_nm=../binutils/nm-new$build_exeext
-elif test -x nm$build_exeext; then
- gcc_cv_nm=./nm$build_exeext
-elif ( set dummy $NM_FOR_TARGET; test -x $[2] ); then
- gcc_cv_nm="$NM_FOR_TARGET"
-else
- AC_PATH_PROG(gcc_cv_nm, $NM_FOR_TARGET)
-fi])
-
-AC_MSG_CHECKING(what nm to use)
-if test "$gcc_cv_nm" = ../binutils/nm-new$build_exeext; then
- # Single tree build which includes binutils.
- AC_MSG_RESULT(newly built nm)
- in_tree_nm=yes
-else
- AC_MSG_RESULT($gcc_cv_nm)
- in_tree_nm=no
-fi
-
-ORIGINAL_NM_FOR_TARGET=$gcc_cv_nm
-AC_SUBST(ORIGINAL_NM_FOR_TARGET)
-case "$ORIGINAL_NM_FOR_TARGET" in
- ./nm | ./nm$build_exeext) ;;
- *) AC_CONFIG_FILES(nm:exec-tool.in, [chmod +x nm]) ;;
-esac
-
-
-# Figure out what objdump we will be using.
-AS_VAR_SET_IF(gcc_cv_objdump,, [
-if test -f $gcc_cv_binutils_srcdir/configure.in \
- && test -f ../binutils/Makefile \
- && test x$build = x$host; then
- # Single tree build which includes binutils.
- gcc_cv_objdump=../binutils/objdump$build_exeext
-elif test -x objdump$build_exeext; then
- gcc_cv_objdump=./objdump$build_exeext
-elif ( set dummy $OBJDUMP_FOR_TARGET; test -x $[2] ); then
- gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
-else
- AC_PATH_PROG(gcc_cv_objdump, $OBJDUMP_FOR_TARGET)
-fi])
-
-AC_MSG_CHECKING(what objdump to use)
-if test "$gcc_cv_objdump" = ../binutils/objdump$build_exeext; then
- # Single tree build which includes binutils.
- AC_MSG_RESULT(newly built objdump)
-elif test x$gcc_cv_objdump = x; then
- AC_MSG_RESULT(not found)
-else
- AC_MSG_RESULT($gcc_cv_objdump)
-fi
-
-# Figure out what readelf we will be using.
-AS_VAR_SET_IF(gcc_cv_readelf,, [
-if test -f $gcc_cv_binutils_srcdir/configure.in \
- && test -f ../binutils/Makefile \
- && test x$build = x$host; then
- # Single tree build which includes binutils.
- gcc_cv_readelf=../binutils/readelf$build_exeext
-elif test -x readelf$build_exeext; then
- gcc_cv_readelf=./readelf$build_exeext
-else
- AC_PATH_PROG(gcc_cv_readelf, readelf)
-fi])
-
-AC_MSG_CHECKING(what readelf to use)
-if test "$gcc_cv_readelf" = ../binutils/readelf$build_exeext; then
- # Single tree build which includes binutils.
- AC_MSG_RESULT(newly built readelf)
-elif test x$gcc_cv_readelf = x; then
- AC_MSG_RESULT(not found)
-else
- AC_MSG_RESULT($gcc_cv_readelf)
-fi
-
# Figure out what assembler alignment features are present.
gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align,
[2,6,0],,
next prev parent reply other threads:[~2011-08-22 17:32 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-22 7:39 David Edelsohn
2011-08-22 7:44 ` H.J. Lu
2011-08-22 7:46 ` David Edelsohn
2011-08-22 7:46 ` Jakub Jelinek
2011-08-22 14:23 ` H.J. Lu
2011-08-22 15:27 ` H.J. Lu
2011-08-22 15:46 ` Paolo Bonzini
2011-08-22 17:37 ` H.J. Lu
2011-08-22 18:33 ` H.J. Lu [this message]
2011-08-22 19:12 ` Joseph S. Myers
2011-08-22 19:19 ` H.J. Lu
2011-08-22 19:38 ` Joseph S. Myers
2011-08-22 20:50 ` H.J. Lu
2011-08-22 16:26 ` H.J. Lu
-- strict thread matches above, loose matches on Subject: below --
2011-03-21 18:40 H.J. Lu
2011-03-31 15:15 ` H.J. Lu
2011-04-14 19:11 ` H.J. Lu
2011-04-26 13:08 ` H.J. Lu
2011-05-18 17:30 ` H.J. Lu
2011-06-01 23:30 ` Carrot Wei
2011-06-03 4:31 ` H.J. Lu
2011-06-03 12:31 ` Richard Guenther
2011-06-03 12:52 ` H.J. Lu
2011-06-19 20:02 ` H.J. Lu
2011-06-19 21:31 ` Uros Bizjak
2011-07-22 12:31 ` H.J. Lu
2011-07-22 12:36 ` Rainer Orth
2011-07-22 12:36 ` H.J. Lu
2011-07-22 13:20 ` Rainer Orth
2011-07-22 12:37 ` Jakub Jelinek
2011-07-22 13:21 ` Joseph S. Myers
2011-07-22 13:29 ` H.J. Lu
2011-07-22 14:17 ` H.J. Lu
2011-07-22 14:55 ` H.J. Lu
2011-08-06 14:51 ` H.J. Lu
2011-08-09 14:32 ` H.J. Lu
2011-08-14 19:20 ` H.J. Lu
2011-08-19 10:05 ` Jakub Jelinek
2011-08-19 14:58 ` H.J. Lu
2011-08-19 15:54 ` Jakub Jelinek
2011-08-20 21:16 ` H.J. Lu
2012-03-19 20:35 ` DJ Delorie
2012-03-19 20:40 ` Andrew Pinski
2012-03-19 20:42 ` DJ Delorie
2011-07-01 14:12 ` H.J. Lu
2011-06-03 17:13 ` Michael Eager
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMe9rOqFWAwfnVXLVvUkfJ6SWq_K0WfV1f6HLVYQr82HByvAEA@mail.gmail.com \
--to=hjl.tools@gmail.com \
--cc=dje.gcc@gmail.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jakub@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).