]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* tlink.c (scan_linker_output): Tweak for output of AIX ld.
authorGeoff Keating <geoffk@cygnus.com>
Tue, 18 Jul 2000 00:15:46 +0000 (00:15 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Tue, 18 Jul 2000 00:15:46 +0000 (00:15 +0000)
From-SVN: r35108

gcc/ChangeLog
gcc/tlink.c

index 1cca26365fb7db23af0da887152b081d7add30aa..4d8f88a250925db41ae1af06aac2805b34e5e2f5 100644 (file)
@@ -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.
index bfa637e906b926352e168f945551e4219bee16e0..e96f6dc6ae9ecd16d180d6e76f42ebf756d5f56b 100644 (file)
@@ -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.  */
        {