mirror of
https://github.com/RPCS3/llvm.git
synced 2024-11-25 12:49:50 +00:00
[llvm-readobj] - Teach readobj to print DT_AUXILIARY dynamic tag in human readable form.
Previously DT_AUXILIARY was unknown, patch fixes that. Differential revision: https://reviews.llvm.org/D24138 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280471 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
87afa50931
commit
677dd5b404
BIN
test/tools/llvm-readobj/Inputs/dynamic-table-so.x86
Normal file
BIN
test/tools/llvm-readobj/Inputs/dynamic-table-so.x86
Normal file
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
// clang -target x86_64-linux-gnu -shared -fPIC -lc dynamic-table.c \
|
||||
// -o dynamic-table-so.x86 -Wl,-f,aux_val
|
||||
// clang -target mipsel-linux-gnu -shared -fPIC -lc dynamic-table.c \
|
||||
// -o dynamic-table-so.mips
|
||||
// clang -target mipsel-linux-gnu -lc dynamic-table.c \
|
||||
|
@ -112,6 +112,42 @@ ELF-X86-EXE: 0x6FFFFFFA RELCOUNT 6
|
||||
ELF-X86-EXE: 0x00000000 NULL 0x0
|
||||
ELF-X86-EXE: ]
|
||||
|
||||
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.x86 \
|
||||
RUN: | FileCheck %s -check-prefix ELF-X86-SO
|
||||
|
||||
ELF-X86-SO: Format: ELF64-x86-64
|
||||
ELF-X86-SO: Arch: x86_64
|
||||
ELF-X86-SO: AddressSize: 64bit
|
||||
ELF-X86-SO: LoadName:
|
||||
ELF-X86-SO: DynamicSection [ (26 entries)
|
||||
ELF-X86-SO: Tag Type Name/Value
|
||||
ELF-X86-SO: 0x0000000000000001 NEEDED SharedLibrary (libc.so.6)
|
||||
ELF-X86-SO: 0x0000000000000001 NEEDED SharedLibrary (ld-linux-x86-64.so.2)
|
||||
ELF-X86-SO: 0x000000007FFFFFFD AUXILIARY Auxiliary library: [aux_val]
|
||||
ELF-X86-SO: 0x000000000000000C INIT 0x610
|
||||
ELF-X86-SO: 0x000000000000000D FINI 0x7AC
|
||||
ELF-X86-SO: 0x0000000000000019 INIT_ARRAY 0x200DD0
|
||||
ELF-X86-SO: 0x000000000000001B INIT_ARRAYSZ 8 (bytes)
|
||||
ELF-X86-SO: 0x000000000000001A FINI_ARRAY 0x200DD8
|
||||
ELF-X86-SO: 0x000000000000001C FINI_ARRAYSZ 8 (bytes)
|
||||
ELF-X86-SO: 0x000000006FFFFEF5 GNU_HASH 0x1C8
|
||||
ELF-X86-SO: 0x0000000000000005 STRTAB 0x3A0
|
||||
ELF-X86-SO: 0x0000000000000006 SYMTAB 0x208
|
||||
ELF-X86-SO: 0x000000000000000A STRSZ 231 (bytes)
|
||||
ELF-X86-SO: 0x000000000000000B SYMENT 24 (bytes)
|
||||
ELF-X86-SO: 0x0000000000000003 PLTGOT 0x201000
|
||||
ELF-X86-SO: 0x0000000000000002 PLTRELSZ 48 (bytes)
|
||||
ELF-X86-SO: 0x0000000000000014 PLTREL RELA
|
||||
ELF-X86-SO: 0x0000000000000017 JMPREL 0x5E0
|
||||
ELF-X86-SO: 0x0000000000000007 RELA 0x4F0
|
||||
ELF-X86-SO: 0x0000000000000008 RELASZ 240 (bytes)
|
||||
ELF-X86-SO: 0x0000000000000009 RELAENT 24 (bytes)
|
||||
ELF-X86-SO: 0x000000006FFFFFFE VERNEED 0x4B0
|
||||
ELF-X86-SO: 0x000000006FFFFFFF VERNEEDNUM 2
|
||||
ELF-X86-SO: 0x000000006FFFFFF0 VERSYM 0x488
|
||||
ELF-X86-SO: 0x000000006FFFFFF9 RELACOUNT 3
|
||||
ELF-X86-SO: 0x0000000000000000 NULL 0x0
|
||||
|
||||
RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.aarch64 \
|
||||
RUN: | FileCheck %s -check-prefix ELF-AARCH64-SO
|
||||
|
||||
|
@ -1561,6 +1561,7 @@ static const char *getTypeString(uint64_t Type) {
|
||||
LLVM_READOBJ_TYPE_CASE(MIPS_RLD_MAP);
|
||||
LLVM_READOBJ_TYPE_CASE(MIPS_PLTGOT);
|
||||
LLVM_READOBJ_TYPE_CASE(MIPS_OPTIONS);
|
||||
LLVM_READOBJ_TYPE_CASE(AUXILIARY);
|
||||
default: return "unknown";
|
||||
}
|
||||
}
|
||||
@ -1721,6 +1722,9 @@ void ELFDumper<ELFT>::printValue(uint64_t Type, uint64_t Value) {
|
||||
case DT_SONAME:
|
||||
OS << "LibrarySoname (" << getDynamicString(Value) << ")";
|
||||
break;
|
||||
case DT_AUXILIARY:
|
||||
OS << "Auxiliary library: [" << getDynamicString(Value) << "]";
|
||||
break;
|
||||
case DT_RPATH:
|
||||
case DT_RUNPATH:
|
||||
OS << getDynamicString(Value);
|
||||
|
Loading…
Reference in New Issue
Block a user