diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | scripts/abilist.awk | 11 |
2 files changed, 14 insertions, 2 deletions
@@ -1,3 +1,8 @@ +2012-05-30 Richard Henderson <rth@twiddle.net> + + * scripts/abilist.awk: Accept 8 fields. Handle Alpha functions + marked to avoid plt entry. + 2012-05-30 H.J. Lu <hongjiu.lu@intel.com> [BZ #14112] diff --git a/scripts/abilist.awk b/scripts/abilist.awk index 6a08839..1c1d41d 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 = ""; |