* scripts/lib-names.awk: Always print WORDSIZE32 section first when
authorRoland McGrath <roland@gnu.org>
Thu, 10 Feb 2005 10:29:53 +0000 (10:29 +0000)
committerRoland McGrath <roland@gnu.org>
Thu, 10 Feb 2005 10:29:53 +0000 (10:29 +0000)
doing two.

ChangeLog
scripts/lib-names.awk

index a659bda..6a2a88b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-10  Roland McGrath  <roland@redhat.com>
+
+       * scripts/lib-names.awk: Always print WORDSIZE32 section first when
+       doing two.
+
 2005-02-10  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/powerpc/powerpc32/bits/link.h: Removed.
index 31f248f..45f043a 100644 (file)
@@ -43,24 +43,22 @@ END {
       lines[x[1]] = line;
   }
 
-  default_lines = lines["DEFAULT"];
-  delete lines["DEFAULT"];
   if (multi) {
+    # Print these in a fixed order so the result is identical
+    # on both sides of the coin.
+    if (!("WORDSIZE32" in lines))
+      lines["WORDSIZE32"] = lines["DEFAULT"];
+    if (!("WORDSIZE64" in lines))
+      lines["WORDSIZE64"] = lines["DEFAULT"];
     print "#include <bits/wordsize.h>\n";
-    pfx = "#if";
-    for (kind in lines) {
-      l = lines[kind];
-      sub(/WORDSIZE/, "", kind);
-      print pfx, "__WORDSIZE", "==", kind;
-      cmd = "LC_ALL=C sort"; print l | cmd; close(cmd);
-      pfx = "#elif";
-    }
-    print "#else";
-    cmd = "LC_ALL=C sort"; print default_lines | cmd; close(cmd);
+    print "#if __WORDSIZE == 32";
+    cmd = "LC_ALL=C sort"; print lines["WORDSIZE32"] | cmd; close(cmd);
+    print "#else"
+    cmd = "LC_ALL=C sort"; print lines["WORDSIZE64"] | cmd; close(cmd);
     print "#endif";
   }
   else {
-    cmd = "LC_ALL=C sort"; print default_lines | cmd; close(cmd);
+    cmd = "LC_ALL=C sort"; print lines["DEFAULT"] | cmd; close(cmd);
   }
 
   print "";