Index: test/tools/llvm-readobj/many-sections.test =================================================================== --- test/tools/llvm-readobj/many-sections.test +++ test/tools/llvm-readobj/many-sections.test @@ -0,0 +1,22 @@ +# RUN: llvm-mc %s -filetype=obj -o %t +# RUN: llvm-readelf -s %t | FileCheck %s + +.macro generate_values + .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 +.endm + +generate_values + +# CHECK-NOT: PRC Index: tools/llvm-readobj/ELFDumper.cpp =================================================================== --- tools/llvm-readobj/ELFDumper.cpp +++ tools/llvm-readobj/ELFDumper.cpp @@ -2953,9 +2953,10 @@ case ELF::SHN_COMMON: return "COM"; case ELF::SHN_XINDEX: - SectionIndex = unwrapOrError(object::getExtendedSymbolTableIndex( - Symbol, FirstSym, this->dumper()->getShndxTable())); - LLVM_FALLTHROUGH; + return to_string( + format_decimal(unwrapOrError(object::getExtendedSymbolTableIndex( + Symbol, FirstSym, this->dumper()->getShndxTable())), + 3)); default: // Find if: // Processor specific