diff options
author | Richard Henderson <rth@twiddle.net> | 2012-05-30 11:02:44 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2012-05-30 11:05:51 -0700 |
commit | 63f1549e0e97cfa6eca7a799e24dde3214b85346 (patch) | |
tree | 84bc1c09f33ec0f380eab62eefa7946283aea757 /scripts | |
parent | a086b4d663cf946e0c20cf7f13001a7116c6b7ba (diff) | |
download | glibc-63f1549e0e97cfa6eca7a799e24dde3214b85346.tar.gz glibc-63f1549e0e97cfa6eca7a799e24dde3214b85346.tar.xz glibc-63f1549e0e97cfa6eca7a799e24dde3214b85346.zip |
alpha: Handle ST_OTHER in objdump output
* scripts/abilist.awk: Accept 8 fields. Handle Alpha functions marked to avoid plt entry.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/abilist.awk | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/scripts/abilist.awk b/scripts/abilist.awk index 6a08839cdd..1c1d41d053 100644 --- a/scripts/abilist.awk +++ b/scripts/abilist.awk @@ -37,14 +37,15 @@ $4 == "*UND*" { next } # Skip locals. $2 == "l" { next } -$2 == "g" || $2 == "w" && NF == 7 { +# If the target uses ST_OTHER, it will be output before the symbol name. +$2 == "g" || $2 == "w" && (NF == 7 || NF == 8) { weak = $2; type = $3; size = $5; sub(/^0*/, "", size); size = " 0x" size; version = $6; - symbol = $7; + symbol = $NF; gsub(/[()]/, "", version); if (version == "GLIBC_PRIVATE") next; @@ -60,6 +61,12 @@ $2 == "g" || $2 == "w" && NF == 7 { type = "O"; seen_opd = 1; } + else if (type == "D" && NF == 8 && $7 == "0x80") { + # Alpha functions avoiding plt entry in users + type = "F"; + size = ""; + seen_opd = -1; + } else if ($4 == "*ABS*") { type = "A"; size = ""; |