[llvm] [llvm-readelf] Print ARM specific OSABI values in GNU mode (PR #82186)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 18 11:27:51 PST 2024


https://github.com/MaskRay created https://github.com/llvm/llvm-project/pull/82186

Similar to #75661. Currently, there is only ELFOSABI_ARM, but I plan to
add ELFOSABI_ARM_FDPIC in a subsequent patch.


>From ab6668ccbd3a279a2a5905fd9d27612f3c5aa8d5 Mon Sep 17 00:00:00 2001
From: Fangrui Song <i at maskray.me>
Date: Sun, 18 Feb 2024 11:27:41 -0800
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?=
 =?UTF-8?q?l=20version?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Created using spr 1.3.4
---
 llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test | 2 +-
 llvm/tools/llvm-readobj/ELFDumper.cpp                    | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test b/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
index f815e78e0c540b..eb60d2a021af63 100644
--- a/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
+++ b/llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
@@ -190,7 +190,7 @@ FileHeader:
 # RUN: llvm-readelf --file-headers %t.osabi.arm | FileCheck %s --match-full-lines --check-prefix=OSABI-ARM-GNU
 
 # OSABI-ARM-LLVM: OS/ABI: ARM (0x61)
-# OSABI-ARM-GNU:  OS/ABI: 61
+# OSABI-ARM-GNU:  OS/ABI: ARM
 
 ## Check all EM_TI_C6000 specific values.
 
diff --git a/llvm/tools/llvm-readobj/ELFDumper.cpp b/llvm/tools/llvm-readobj/ELFDumper.cpp
index 50ea63e87a43be..fa39e04f4ce9c0 100644
--- a/llvm/tools/llvm-readobj/ELFDumper.cpp
+++ b/llvm/tools/llvm-readobj/ELFDumper.cpp
@@ -3553,6 +3553,9 @@ template <class ELFT> void GNUELFDumper<ELFT>::printFileHeaders() {
   if (e.e_ident[ELF::EI_OSABI] >= ELF::ELFOSABI_FIRST_ARCH &&
       e.e_ident[ELF::EI_OSABI] <= ELF::ELFOSABI_LAST_ARCH) {
     switch (e.e_machine) {
+    case ELF::EM_ARM:
+      OSABI = ArrayRef(ARMElfOSABI);
+      break;
     case ELF::EM_AMDGPU:
       OSABI = ArrayRef(AMDGPUElfOSABI);
       break;



More information about the llvm-commits mailing list