From 63f1549e0e97cfa6eca7a799e24dde3214b85346 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 30 May 2012 11:02:44 -0700 Subject: [PATCH] alpha: Handle ST_OTHER in objdump output * scripts/abilist.awk: Accept 8 fields. Handle Alpha functions marked to avoid plt entry. --- ChangeLog | 5 +++++ scripts/abilist.awk | 11 +++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 66249fc179..bb95d03e66 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-05-30 Richard Henderson + + * scripts/abilist.awk: Accept 8 fields. Handle Alpha functions + marked to avoid plt entry. + 2012-05-30 H.J. Lu [BZ #14112] 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 = ""; -- 2.11.4.GIT