Commit df45fc34 by Sandra Loosemore Committed by Sandra Loosemore

configure.ac (demangler_in_ld): Default to yes.

2011-07-24  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* configure.ac (demangler_in_ld): Default to yes.
	* configure: Regenerated.
	* collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
	mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
	--no-demangle options straight through to ld.  When
	HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
	way that has the intended effect on Windows.

From-SVN: r176720
parent 73645647
2011-07-24 Sandra Loosemore <sandra@codesourcery.com>
* configure.ac (demangler_in_ld): Default to yes.
* configure: Regenerated.
* collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
--no-demangle options straight through to ld. When
HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
way that has the intended effect on Windows.
2011-07-23 Richard Henderson <rth@redhat.com> 2011-07-23 Richard Henderson <rth@redhat.com>
* dwarf2cfi.c: Include basic-block.h. * dwarf2cfi.c: Include basic-block.h.
......
...@@ -1112,10 +1112,12 @@ main (int argc, char **argv) ...@@ -1112,10 +1112,12 @@ main (int argc, char **argv)
num_c_args = argc + 9; num_c_args = argc + 9;
#ifndef HAVE_LD_DEMANGLE
no_demangle = !! getenv ("COLLECT_NO_DEMANGLE"); no_demangle = !! getenv ("COLLECT_NO_DEMANGLE");
/* Suppress demangling by the real linker, which may be broken. */ /* Suppress demangling by the real linker, which may be broken. */
putenv (xstrdup ("COLLECT_NO_DEMANGLE=")); putenv (xstrdup ("COLLECT_NO_DEMANGLE=1"));
#endif
#if defined (COLLECT2_HOST_INITIALIZATION) #if defined (COLLECT2_HOST_INITIALIZATION)
/* Perform system dependent initialization, if necessary. */ /* Perform system dependent initialization, if necessary. */
...@@ -1405,12 +1407,6 @@ main (int argc, char **argv) ...@@ -1405,12 +1407,6 @@ main (int argc, char **argv)
/* After the first file, put in the c++ rt0. */ /* After the first file, put in the c++ rt0. */
first_file = 1; first_file = 1;
#ifdef HAVE_LD_DEMANGLE
if (!demangle_flag && !no_demangle)
demangle_flag = "--demangle";
if (demangle_flag)
*ld1++ = *ld2++ = demangle_flag;
#endif
while ((arg = *++argv) != (char *) 0) while ((arg = *++argv) != (char *) 0)
{ {
*ld1++ = *ld2++ = arg; *ld1++ = *ld2++ = arg;
...@@ -1514,16 +1510,16 @@ main (int argc, char **argv) ...@@ -1514,16 +1510,16 @@ main (int argc, char **argv)
case '-': case '-':
if (strcmp (arg, "--no-demangle") == 0) if (strcmp (arg, "--no-demangle") == 0)
{ {
demangle_flag = arg; #ifndef HAVE_LD_DEMANGLE
no_demangle = 1; no_demangle = 1;
ld1--; ld1--;
ld2--; ld2--;
#endif
} }
else if (strncmp (arg, "--demangle", 10) == 0) else if (strncmp (arg, "--demangle", 10) == 0)
{ {
demangle_flag = arg;
no_demangle = 0;
#ifndef HAVE_LD_DEMANGLE #ifndef HAVE_LD_DEMANGLE
no_demangle = 0;
if (arg[10] == '=') if (arg[10] == '=')
{ {
enum demangling_styles style enum demangling_styles style
...@@ -1533,9 +1529,9 @@ main (int argc, char **argv) ...@@ -1533,9 +1529,9 @@ main (int argc, char **argv)
else else
current_demangling_style = style; current_demangling_style = style;
} }
#endif
ld1--; ld1--;
ld2--; ld2--;
#endif
} }
else if (strncmp (arg, "--sysroot=", 10) == 0) else if (strncmp (arg, "--sysroot=", 10) == 0)
target_system_root = arg + 10; target_system_root = arg + 10;
......
...@@ -3413,7 +3413,7 @@ fi ...@@ -3413,7 +3413,7 @@ fi
if test "${with_demangler_in_ld+set}" = set; then : if test "${with_demangler_in_ld+set}" = set; then :
withval=$with_demangler_in_ld; demangler_in_ld="$with_demangler_in_ld" withval=$with_demangler_in_ld; demangler_in_ld="$with_demangler_in_ld"
else else
demangler_in_ld=no demangler_in_ld=yes
fi fi
......
...@@ -222,7 +222,7 @@ fi ...@@ -222,7 +222,7 @@ fi
AC_ARG_WITH(demangler-in-ld, AC_ARG_WITH(demangler-in-ld,
[AS_HELP_STRING([--with-demangler-in-ld], [try to use demangler in GNU ld])], [AS_HELP_STRING([--with-demangler-in-ld], [try to use demangler in GNU ld])],
demangler_in_ld="$with_demangler_in_ld", demangler_in_ld="$with_demangler_in_ld",
demangler_in_ld=no) demangler_in_ld=yes)
# ---------------------- # ----------------------
# Find default assembler # Find default assembler
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment