mkmap-symver.awk (BEGIN): Set sawsymbol false.
authorRichard Henderson <rth@redhat.com>
Wed, 27 Nov 2002 20:00:14 +0000 (12:00 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 27 Nov 2002 20:00:14 +0000 (12:00 -0800)
        * mkmap-symver.awk (BEGIN): Set sawsymbol false.
        (nm && NF == 3): Set sawsymbol true.
        (END): Exit if no symbols seen.
        (output): Fix map syntax error if no globals for the version.

From-SVN: r59578

gcc/ChangeLog
gcc/mkmap-symver.awk

index 26b49191a48a963aa25697283ff3db0cc2c9e5fa..b03495cd1d92184c9f73ea29cdc97771f87a1d6e 100644 (file)
@@ -1,3 +1,10 @@
+2002-11-27  Richard Henderson  <rth@redhat.com>
+
+       * mkmap-symver.awk (BEGIN): Set sawsymbol false.
+       (nm && NF == 3): Set sawsymbol true.
+       (END): Exit if no symbols seen.
+       (output): Fix map syntax error if no globals for the version.
+
 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
 
        * builtins.def (DEF_C99_BUILTIN): Fix.
index 51b6df28ca73456988a4a6e6534fb6f43b8a6ac2..e4bc58e188077e4ed26f211649525bd86a3bd2b3 100644 (file)
@@ -20,6 +20,7 @@
 
 BEGIN {
   state = "nm";
+  sawsymbol = 0;
 }
 
 # Remove comment and blank lines.
@@ -42,6 +43,7 @@ state == "nm" && ($1 == "U" || $2 == "U") {
 
 state == "nm" && NF == 3 {
   def[$3] = 1;
+  sawsymbol = 1;
   next;
 }
 
@@ -77,6 +79,11 @@ $1 == "}" {
 }
 
 END {
+  if (!sawsymbol)
+    {
+      print "No symbols seen -- broken or mis-installed nm?" | "cat 1>&2";
+      exit 1;
+    }
   for (l in libs)
     output(l);
 }
@@ -89,10 +96,15 @@ function output(lib) {
     output(inherit[lib]);
 
   printf("%s {\n", lib);
-  printf("  global:\n");
+  sawglobal = 0;
   for (sym in ver)
     if ((ver[sym] == lib) && (sym in def))
       {
+       if (!sawglobal)
+         {
+           printf("  global:\n");
+           sawglobal = 1;
+         }
        printf("\t%s;\n", sym);
        if (dotsyms)
          printf("\t.%s;\n", sym);