[PATCH] D60614: [llvm-readelf] Fix dumping of SHN_XINDEX symbols
Eugene Leviant via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 15 04:22:59 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL358396: [llvm-readelf] Correctly dump symbols whose section id is SHN_XINDEX (authored by evgeny777, committed by ).
Herald added a project: LLVM.
Changed prior to commit:
https://reviews.llvm.org/D60614?vs=194889&id=195130#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60614/new/
https://reviews.llvm.org/D60614
Files:
llvm/trunk/test/tools/llvm-readobj/many-sections2.s
llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
Index: llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
===================================================================
--- llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
+++ llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
@@ -2961,9 +2961,10 @@
case ELF::SHN_COMMON:
return "COM";
case ELF::SHN_XINDEX:
- SectionIndex = unwrapOrError(object::getExtendedSymbolTableIndex<ELFT>(
- Symbol, FirstSym, this->dumper()->getShndxTable()));
- LLVM_FALLTHROUGH;
+ return to_string(
+ format_decimal(unwrapOrError(object::getExtendedSymbolTableIndex<ELFT>(
+ Symbol, FirstSym, this->dumper()->getShndxTable())),
+ 3));
default:
// Find if:
// Processor specific
Index: llvm/trunk/test/tools/llvm-readobj/many-sections2.s
===================================================================
--- llvm/trunk/test/tools/llvm-readobj/many-sections2.s
+++ llvm/trunk/test/tools/llvm-readobj/many-sections2.s
@@ -0,0 +1,24 @@
+# Tests that symbols whose section index is SHN_XINDEX are displayed
+# correctly. They should not be treated as processor/OS specific or
+# reserved.
+# REQUIRES: x86-registered-target
+# RUN: llvm-mc %s -filetype=obj -triple=x86_64-pc-linux -o %t
+# RUN: llvm-readelf -s %t | FileCheck %s
+
+.irp i, 0, 1, 2, 3, 4, 5, 6,
+ .irp j, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ .irp k, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ .irp l, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ .irp q, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ .section sec_\i\j\k\l\q
+ .globl sym_\i\j\k\l\q
+ sym_\i\j\k\l\q:
+ .endr
+ .endr
+ .endr
+ .endr
+.endr
+
+# CHECK: 65278: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 65280 sym_65277
+# CHECK: 65310: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 65312 sym_65309
+# CHECK: 65342: 0000000000000000 0 NOTYPE GLOBAL DEFAULT 65344 sym_65341
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60614.195130.patch
Type: text/x-patch
Size: 1882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190415/4002aaa6/attachment.bin>
More information about the llvm-commits
mailing list