+2001-07-10 Jason Merrill <jason_merrill@redhat.com>
+
+ * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
+ (dump_file): Only pad the demangled name with spaces if the
+ mangled name was padded with spaces.
+
2001-07-10 Bernd Schmidt <bernds@redhat.com>
* bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
#else
int do_collecting = 0;
#endif
+
+/* Nonzero if we should suppress the automatic demangling of identifiers
+ in linker error messages. Set from COLLECT_NO_DEMANGLE. */
+int no_demangle;
\f
/* Linked lists of constructor and destructor names. */
const char *name;
{
FILE *stream = fopen (name, "r");
- int no_demangle = !! getenv ("COLLECT_NO_DEMANGLE");
if (stream == 0)
return;
fputs (result, stderr);
diff = strlen (word) - strlen (result);
- while (diff > 0)
+ while (diff > 0 && c == ' ')
--diff, putc (' ', stderr);
while (diff < 0 && c == ' ')
++diff, c = getc (stream);
int first_file;
int num_c_args = argc+9;
+ no_demangle = !! getenv ("COLLECT_NO_DEMANGLE");
+
+ /* Suppress demangling by the real linker, which may be broken. */
+ putenv (xstrdup ("COLLECT_NO_DEMANGLE="));
+
#if defined (COLLECT2_HOST_INITIALIZATION)
/* Perform system dependent initialization, if neccessary. */
COLLECT2_HOST_INITIALIZATION;