summary refs log tree commit diff
path: root/scripts
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2003-03-30 22:17:05 +0000
committerRoland McGrath <roland@gnu.org>2003-03-30 22:17:05 +0000
commitd692f3f8c33e90f1f8255b20ef2ad0abb8c8e9bd (patch)
tree26e9c81ae6d6afc484c2a0eca17f6d090607888f /scripts
parent9ec8bbb113a7634e7ee2bad7090348c88a60d74b (diff)
downloadglibc-d692f3f8c33e90f1f8255b20ef2ad0abb8c8e9bd.tar.gz
glibc-d692f3f8c33e90f1f8255b20ef2ad0abb8c8e9bd.tar.xz
glibc-d692f3f8c33e90f1f8255b20ef2ad0abb8c8e9bd.zip
* scripts/abilist.awk: Grok .opd foo plus .text .foo as "foo F" alone.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/abilist.awk10
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/abilist.awk b/scripts/abilist.awk
index c0b123f528..efadc1cbf8 100644
--- a/scripts/abilist.awk
+++ b/scripts/abilist.awk
@@ -12,6 +12,8 @@ BEGIN {
 /[^ :]+\.so\.[0-9]+:[ 	]+.file format .*$/ {
   emit(0);
 
+  seen_opd = 0;
+
   sofullname = $1;
   sub(/:$/, "", sofullname);
   soname = sofullname;
@@ -52,8 +54,11 @@ $2 == "g" || $2 == "w" && NF == 7 {
     type = "T";
   }
   else if (type == "D" && $4 == ".opd") {
-    type = "O";
+    type = "F";
     size = "";
+    if (seen_opd < 0)
+      type = "O";
+    seen_opd = 1;
   }
   else if ($4 == "*ABS*") {
     type = "A";
@@ -63,6 +68,9 @@ $2 == "g" || $2 == "w" && NF == 7 {
     type = "D";
   }
   else if (type == "DF") {
+    if (symbol ~ /^\./ && seen_opd >= 0)
+      next;
+    seen_opd = -1;
     type = "F";
     size = "";
   }