about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/gnu/errlist-compat.awk5
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f81c1a247..29c5dc28f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-01  Chris Demetriou  <cgd@google.com>
+
+	* sysdeps/gnu/errlist-compat.awk: Don't depend on AWK internals to
+	have predictable order.
+
 2012-03-01  David S. Miller  <davem@davemloft.net>
 
 	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: Delete.
diff --git a/sysdeps/gnu/errlist-compat.awk b/sysdeps/gnu/errlist-compat.awk
index 0e97d05d66..4f70e927c5 100644
--- a/sysdeps/gnu/errlist-compat.awk
+++ b/sysdeps/gnu/errlist-compat.awk
@@ -84,7 +84,10 @@ END {
     printf "#define ERR_MAX %d\n\n", highest;
   }
 
-  for (old in compat) {
+  # same regardless of awk's ordering of the associative array.
+  num_compat_elems = asorti(compat, compat_indices)
+  for (i = 1; i <= num_compat_elems; i++) {
+    old = compat_indices[i]
     new = compat[old];
     n = vcount[old];
     printf "#if SHLIB_COMPAT (libc, %s, %s)\n", old, new;