aboutsummaryrefslogtreecommitdiff
path: root/gcc/configure.ac
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2004-07-07 20:29:13 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2004-07-07 13:29:13 -0700
commitd594623ade98699f505a959c91f8f58fc9828255 (patch)
treee6dfd33f5e444278cf6eff5e3e80fc6d94ba1a92 /gcc/configure.ac
parentf0517163a9b573e1e5858490d95787a48c8a4a10 (diff)
downloadgcc-d594623ade98699f505a959c91f8f58fc9828255.zip
gcc-d594623ade98699f505a959c91f8f58fc9828255.tar.gz
gcc-d594623ade98699f505a959c91f8f58fc9828255.tar.bz2
collect2.c (dump_file): Don't call cplus_demangle if HAVE_LD_DEMANGLE is defined.
2004-07-07 H.J. Lu <hongjiu.lu@intel.com> * collect2.c (dump_file): Don't call cplus_demangle if HAVE_LD_DEMANGLE is defined. (main): Pass "--demangle" to ld if no_demangle is not 0 and HAVE_LD_DEMANGLE is defined. Don't set current_demangling_style if HAVE_LD_DEMANGLE is defined. * configure.ac (--with-demangler-in-ld): Added (HAVE_LD_DEMANGLE): Define if ld supports --demangle when --with-demangler-in-ld is used. * config.in: Regenerated. * configure: Likewise. From-SVN: r84227
Diffstat (limited to 'gcc/configure.ac')
-rw-r--r--gcc/configure.ac26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 50dc9f3..d965c11 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -211,6 +211,12 @@ else
AC_MSG_RESULT(no)
fi
+# With demangler in GNU ld
+AC_ARG_WITH(demangler-in-ld,
+[ --with-demangler-in-ld try to use demangler in GNU ld.],
+demangler_in_ld="$with_demangler_in_ld",
+demangler_in_ld=no)
+
# ----------------------
# Find default assembler
# ----------------------
@@ -2454,6 +2460,26 @@ fi
# Target-specific assembler checks.
+if test x"$demangler_in_ld" = xyes; then
+ AC_MSG_CHECKING(linker --demangle support)
+ gcc_cv_ld_demangle=no
+ if test $in_tree_ld = yes; then
+ if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 14 -o "$gcc_cv_gld_major_version" -gt 2; then \
+ gcc_cv_ld_demangle=yes
+ fi
+ elif test x$gcc_cv_ld != x -a x"$gnu_ld" = xyes; then
+ # Check if the GNU linker supports --demangle option
+ if $gcc_cv_ld --help 2>/dev/null | grep no-demangle > /dev/null; then
+ gcc_cv_ld_demangle=yes
+ fi
+ fi
+ if test x"$gcc_cv_ld_demangle" = xyes; then
+ AC_DEFINE(HAVE_LD_DEMANGLE, 1,
+[Define if your linker supports --demangle option.])
+ fi
+ AC_MSG_RESULT($gcc_cv_ld_demangle)
+fi
+
case "$target" in
# All TARGET_ABI_OSF targets.
alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)