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
This commit is contained in:
Sandra Loosemore 2011-07-24 19:22:41 -04:00 committed by Sandra Loosemore
parent 73645647f9
commit df45fc34aa
4 changed files with 19 additions and 13 deletions

View File

@ -1,3 +1,13 @@
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>
* dwarf2cfi.c: Include basic-block.h.

View File

@ -1112,10 +1112,12 @@ main (int argc, char **argv)
num_c_args = argc + 9;
#ifndef HAVE_LD_DEMANGLE
no_demangle = !! getenv ("COLLECT_NO_DEMANGLE");
/* 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)
/* Perform system dependent initialization, if necessary. */
@ -1405,12 +1407,6 @@ main (int argc, char **argv)
/* After the first file, put in the c++ rt0. */
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)
{
*ld1++ = *ld2++ = arg;
@ -1514,16 +1510,16 @@ main (int argc, char **argv)
case '-':
if (strcmp (arg, "--no-demangle") == 0)
{
demangle_flag = arg;
#ifndef HAVE_LD_DEMANGLE
no_demangle = 1;
ld1--;
ld2--;
#endif
}
else if (strncmp (arg, "--demangle", 10) == 0)
{
demangle_flag = arg;
no_demangle = 0;
#ifndef HAVE_LD_DEMANGLE
no_demangle = 0;
if (arg[10] == '=')
{
enum demangling_styles style
@ -1533,9 +1529,9 @@ main (int argc, char **argv)
else
current_demangling_style = style;
}
#endif
ld1--;
ld2--;
#endif
}
else if (strncmp (arg, "--sysroot=", 10) == 0)
target_system_root = arg + 10;

2
gcc/configure vendored
View File

@ -3413,7 +3413,7 @@ fi
if test "${with_demangler_in_ld+set}" = set; then :
withval=$with_demangler_in_ld; demangler_in_ld="$with_demangler_in_ld"
else
demangler_in_ld=no
demangler_in_ld=yes
fi

View File

@ -222,7 +222,7 @@ fi
AC_ARG_WITH(demangler-in-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=no)
demangler_in_ld=yes)
# ----------------------
# Find default assembler