summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tlink.c16
2 files changed, 19 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1cca26365fb..4d8f88a2509 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-07-17 Geoffrey Keating <geoffk@cygnus.com>
+
+ * tlink.c (scan_linker_output): Tweak for output of AIX ld.
+
2000-07-17 Richard Henderson <rth@cygnus.com>
* config/ia64/ia64.md (movdi): Split out load address code.
diff --git a/gcc/tlink.c b/gcc/tlink.c
index bfa637e906b..e96f6dc6ae9 100644
--- a/gcc/tlink.c
+++ b/gcc/tlink.c
@@ -1,7 +1,7 @@
/* Scan linker error messages for missing template instantiations and provide
them.
- Copyright (C) 1995, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1998, 1999, 2000 Free Software Foundation, Inc.
Contributed by Jason Merrill (jason@cygnus.com).
This file is part of GNU CC.
@@ -630,6 +630,20 @@ scan_linker_output (fname)
*q = 0;
sym = symbol_hash_lookup (p, false);
+ /* Some SVR4 linkers produce messages like
+ ld: 0711-317 ERROR: Undefined symbol: .g__t3foo1Zi
+ */
+ if (! sym && ! end && strstr (q+1, "Undefined symbol: "))
+ {
+ char *p = strrchr (q+1, ' ');
+ p++;
+ if (*p == '.')
+ p++;
+ if (*p == '_' && prepends_underscore)
+ p++;
+ sym = symbol_hash_lookup (p, false);
+ }
+
if (! sym && ! end)
/* Try a mangled name in quotes. */
{
OpenPOWER on IntegriCloud