summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2018-11-30 16:03:29 +0100
committerFlorian Weimer <fweimer@redhat.com>2018-11-30 22:22:57 +0100
commit5e63c240a22c70d928e5c645f913d59074afd329 (patch)
tree4e628150d90fcc4e1551443a8b416c372dd0bd40
parent7105860262a32f6973ee848e8648e8e10cf13bc4 (diff)
downloadglibc-5e63c240a22c70d928e5c645f913d59074afd329.tar.gz
glibc-5e63c240a22c70d928e5c645f913d59074afd329.tar.xz
glibc-5e63c240a22c70d928e5c645f913d59074afd329.zip
scripts/abilist.awk: Handle special _end symbol for Hurd
Hurd has this in libc.so:

0024db9c g    D  .bss   00000000  GLIBC_2.2.6 _end

This g/D combination was not recognized before.
-rw-r--r--ChangeLog7
-rw-r--r--scripts/abilist.awk11
-rw-r--r--sysdeps/mach/hurd/i386/libc.abilist2
3 files changed, 17 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a18691ddf8..bb53b641a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2018-11-30  Florian Weimer  <fweimer@redhat.com>
+
+	* scripts/abilist.awk: Print "0x0" for size 0. Handle "g"/"D".
+	Extend error logging.
+	* sysdeps/mach/hurd/i386/libc.abilist (GLIBC_2.2.6): Adjust _end
+	symbol.
+
 2018-11-30  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/unix/sysv/linux/spawni.c (__spawni_child): Use
diff --git a/scripts/abilist.awk b/scripts/abilist.awk
index b40be91f82..a43400d5b4 100644
--- a/scripts/abilist.awk
+++ b/scripts/abilist.awk
@@ -42,7 +42,11 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
   type = $3;
   size = $5;
   sub(/^0*/, "", size);
-  size = " 0x" size;
+  if (size == "") {
+      size = " 0x0";
+  } else {
+      size = " 0x" size;
+  }
   version = $6;
   symbol = $NF;
   gsub(/[()]/, "", version);
@@ -73,6 +77,9 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
   else if ($4 == "*ABS*") {
     next;
   }
+  else if (type == "D") {
+    # Accept unchanged.
+  }
   else if (type == "DO") {
     type = "D";
   }
@@ -89,7 +96,7 @@ $2 == "g" || $2 == "w" && (NF == 7 || NF == 8) {
     size = "";
   }
   else {
-    print "ERROR: Unable to handle this type of symbol."
+    print "ERROR: Unable to handle this type of symbol:", $0
     exit 1
   }
 
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index d4c4a91c84..f3993cf994 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -554,7 +554,7 @@ GLIBC_2.2.6 __xstat64 F
 GLIBC_2.2.6 _authenticate F
 GLIBC_2.2.6 _dl_mcount_wrapper F
 GLIBC_2.2.6 _dl_mcount_wrapper_check F
-GLIBC_2.2.6 _end GLIBC_2.2.6 g ? D .bss 00000000
+GLIBC_2.2.6 _end D 0x0
 GLIBC_2.2.6 _environ D 0x4
 GLIBC_2.2.6 _exit F
 GLIBC_2.2.6 _flushlbf F