[PATCH 17/20] alpha: treat STO_ALPHA_STD_GPLOAD as a function in abilist.awk

Matt Turner <[email protected]>
Newsgroups gmane.comp.lib.glibc.alpha
Message-ID <7af54a9815fcd1e6f5734e665217e43b9c8c6bc6.1786497497.git.mattst88@gmail.com>
The Alpha ABI defines two st_other values for functions:
  0x80 (STO_ALPHA_NOPV)        - .prologue 0: runs on caller's GP
  0x88 (STO_ALPHA_STD_GPLOAD)  - .prologue 1: standard two-instruction GP load

abilist.awk recognized 0x80 but not 0x88 when classifying a dynamic
symbol of object type as a function.  Symbols like strncat that are
weak aliases of .prologue 1 assembly functions appear as STT_NOTYPE
with st_other=0x88 in the dynamic symbol table and were incorrectly
classified as data.

Add 0x88 to the check so both GP-setup variants are treated as
functions.
---
 scripts/abilist.awk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git ./scripts/abilist.awk ./scripts/abilist.awk
index 7ea1edf8c0..39f63d0803 100644
--- ./scripts/abilist.awk
+++ ./scripts/abilist.awk
@@ -70,8 +70,8 @@ $2 == "g" || $2 == "w" && (NF == 6 || NF == 7 || NF == 8) {
       type = "O";
     seen_opd = 1;
   }
-  else if (type == "D" && NF == 8 && $7 == "0x80") {
-    # Alpha functions avoiding plt entry in users
+  else if (type == "D" && NF == 8 && ($7 == "0x80" || $7 == "0x88")) {
+    # Alpha functions: 0x80 = STO_ALPHA_NOPV, 0x88 = STO_ALPHA_STD_GPLOAD
     type = "F";
     size = "";
     seen_opd = -1;
-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.