diff options
author | Georgii Rymar <grimar@accesssoftek.com> | 2019-12-23 14:54:36 +0300 |
---|---|---|
committer | Georgii Rymar <grimar@accesssoftek.com> | 2019-12-24 11:55:45 +0300 |
commit | 301cb91428eed651eeb1c3c0f11eed2e4f78f5f0 (patch) | |
tree | 7d162bf3f052049ffe03d5d3f39c0f5272a526e4 /llvm/test/tools/llvm-readobj | |
parent | c6a5534ea4f8d0245880ae6444a973758e46826d (diff) | |
download | bcm5719-llvm-301cb91428eed651eeb1c3c0f11eed2e4f78f5f0.tar.gz bcm5719-llvm-301cb91428eed651eeb1c3c0f11eed2e4f78f5f0.zip |
[llvm-readobj] - Remove an excessive helper for printing dynamic tags.
This removes the `getTypeString` from readeobj source because it
almost duplicates the existent method: `ELFFile<ELFT>::getDynamicTagAsString`.
Side effect: now it prints "<unknown:>0xHEXVALUE" instead of "(unknown)" for unknown values.
llvm-readelf before this patch printed:
```
0x0000000012345678 (unknown) 0x8765432187654321
0x000000006abcdef0 (unknown) 0x9988776655443322
0x0000000076543210 (unknown) 0x5555666677778888
```
and now it prints:
```
0x0000000012345678 (<unknown:>0x12345678) 0x8765432187654321
0x000000006abcdef0 (<unknown:>0x6abcdef0) 0x9988776655443322
0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888
```
GNU reaedlf prints different thing:
```
0x0000000012345678 (<unknown>: 12345678) 0x8765432187654321
0x000000006abcdef0 (Operating System specific: 6abcdef0) 0x9988776655443322
0x0000000076543210 (Processor Specific: 76543210) 0x5555666677778888
```
I am not sure we want to follow GNU here. Even if we do, it should be separate
patch probably. The new output looks better and closer to GNU anyways,
and the code is a bit simpler.
Differential revision: https://reviews.llvm.org/D71835
Diffstat (limited to 'llvm/test/tools/llvm-readobj')
-rw-r--r-- | llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test b/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test index bbf9f798cc6..f9c4ff06d31 100644 --- a/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test +++ b/llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test @@ -66,75 +66,75 @@ # LLVM-NEXT: 0x000000007FFFFFFD AUXILIARY Auxiliary library: [D] # LLVM-NEXT: 0x000000007FFFFFFE USED Not needed object: [U] # LLVM-NEXT: 0x000000007FFFFFFF FILTER Filter library: [U] -# LLVM-NEXT: 0x0000000012345678 unknown 0x8765432187654321 -# LLVM-NEXT: 0x000000006ABCDEF0 unknown 0x9988776655443322 -# LLVM-NEXT: 0x0000000076543210 unknown 0x5555666677778888 +# LLVM-NEXT: 0x0000000012345678 <unknown:>0x12345678 0x8765432187654321 +# LLVM-NEXT: 0x000000006ABCDEF0 <unknown:>0x6abcdef0 0x9988776655443322 +# LLVM-NEXT: 0x0000000076543210 <unknown:>0x76543210 0x5555666677778888 # LLVM-NEXT: 0x0000000000000000 NULL 0x0 # LLVM-NEXT: ] # GNU: Dynamic section at offset {{.*}} contains 61 entries: -# GNU-NEXT: Tag Type Name/Value -# GNU-NEXT: 0x0000000000000001 (NEEDED) Shared library: [D] -# GNU-NEXT: 0x0000000000000002 (PLTRELSZ) 16 (bytes) -# GNU-NEXT: 0x0000000000000003 (PLTGOT) 0x1000 -# GNU-NEXT: 0x0000000000000004 (HASH) 0x1000 -# GNU-NEXT: 0x0000000000000005 (STRTAB) 0x1000 -# GNU-NEXT: 0x0000000000000006 (SYMTAB) 0x1000 -# GNU-NEXT: 0x0000000000000007 (RELA) 0x1000 -# GNU-NEXT: 0x0000000000000008 (RELASZ) 16 (bytes) -# GNU-NEXT: 0x0000000000000009 (RELAENT) 1929 (bytes) -# GNU-NEXT: 0x000000000000000a (STRSZ) 16 (bytes) -# GNU-NEXT: 0x000000000000000b (SYMENT) 2439 (bytes) -# GNU-NEXT: 0x000000000000000c (INIT) 0x1000 -# GNU-NEXT: 0x000000000000000d (FINI) 0x1000 -# GNU-NEXT: 0x000000000000000e (SONAME) Library soname: [U] -# GNU-NEXT: 0x000000000000000f (RPATH) Library rpath: [f] -# GNU-NEXT: 0x0000000000000010 (SYMBOLIC) 0x1234567890abcdef -# GNU-NEXT: 0x0000000000000011 (REL) 0x1000 -# GNU-NEXT: 0x0000000000000012 (RELSZ) 16 (bytes) -# GNU-NEXT: 0x0000000000000013 (RELENT) 291 (bytes) -# GNU-NEXT: 0x0000000000000014 (PLTREL) RELA -# GNU-NEXT: 0x0000000000000015 (DEBUG) 0xfedcba0987654321 -# GNU-NEXT: 0x0000000000000016 (TEXTREL) 0x1122334455667788 -# GNU-NEXT: 0x0000000000000017 (JMPREL) 0x1000 -# GNU-NEXT: 0x0000000000000018 (BIND_NOW) 0x8877665544332211 -# GNU-NEXT: 0x0000000000000019 (INIT_ARRAY) 0x1000 -# GNU-NEXT: 0x000000000000001a (FINI_ARRAY) 0x1000 -# GNU-NEXT: 0x000000000000001b (INIT_ARRAYSZ) 16 (bytes) -# GNU-NEXT: 0x000000000000001c (FINI_ARRAYSZ) 16 (bytes) -# GNU-NEXT: 0x000000000000001d (RUNPATH) Library runpath: [w] -# GNU-NEXT: 0x000000000000001e (FLAGS) ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS {{$}} -# GNU-NEXT: 0x0000000000000020 (PREINIT_ARRAY) 0x1000 -# GNU-NEXT: 0x0000000000000021 (PREINIT_ARRAYSZ) 16 (bytes) -# GNU-NEXT: 0x0000000000000022 (SYMTAB_SHNDX) 0x1000 -# GNU-NEXT: 0x0000000000000023 (RELRSZ) 0x10 -# GNU-NEXT: 0x0000000000000024 (RELR) 0x1000 -# GNU-NEXT: 0x0000000000000025 (RELRENT) 0x4321 -# GNU-NEXT: 0x000000006000000f (ANDROID_REL) 0x1000 -# GNU-NEXT: 0x0000000060000010 (ANDROID_RELSZ) 16 (bytes) -# GNU-NEXT: 0x0000000060000011 (ANDROID_RELA) 0x1000 -# GNU-NEXT: 0x0000000060000012 (ANDROID_RELASZ) 16 (bytes) -# GNU-NEXT: 0x000000006fffe000 (ANDROID_RELR) 0x1000 -# GNU-NEXT: 0x000000006fffe001 (ANDROID_RELRSZ) 0x10 -# GNU-NEXT: 0x000000006fffe003 (ANDROID_RELRENT) 0x1234 -# GNU-NEXT: 0x000000006ffffef5 (GNU_HASH) 0x1000 -# GNU-NEXT: 0x000000006ffffef6 (TLSDESC_PLT) 0x1000 -# GNU-NEXT: 0x000000006ffffef7 (TLSDESC_GOT) 0x1000 -# GNU-NEXT: 0x000000006ffffff9 (RELACOUNT) 0 -# GNU-NEXT: 0x000000006ffffffa (RELCOUNT) 0 -# GNU-NEXT: 0x000000006ffffffb (FLAGS_1) NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON {{$}} -# GNU-NEXT: 0x000000006ffffff0 (VERSYM) 0x1000 -# GNU-NEXT: 0x000000006ffffffc (VERDEF) 0x1000 -# GNU-NEXT: 0x000000006ffffffd (VERDEFNUM) 0 -# GNU-NEXT: 0x000000006ffffffe (VERNEED) 0x1000 -# GNU-NEXT: 0x000000006fffffff (VERNEEDNUM) 0 -# GNU-NEXT: 0x000000007ffffffd (AUXILIARY) Auxiliary library: [D] -# GNU-NEXT: 0x000000007ffffffe (USED) Not needed object: [U] -# GNU-NEXT: 0x000000007fffffff (FILTER) Filter library: [U] -# GNU-NEXT: 0x0000000012345678 (unknown) 0x8765432187654321 -# GNU-NEXT: 0x000000006abcdef0 (unknown) 0x9988776655443322 -# GNU-NEXT: 0x0000000076543210 (unknown) 0x5555666677778888 -# GNU-NEXT: 0x0000000000000000 (NULL) 0x0 +# GNU-NEXT: Tag Type Name/Value +# GNU-NEXT: 0x0000000000000001 (NEEDED) Shared library: [D] +# GNU-NEXT: 0x0000000000000002 (PLTRELSZ) 16 (bytes) +# GNU-NEXT: 0x0000000000000003 (PLTGOT) 0x1000 +# GNU-NEXT: 0x0000000000000004 (HASH) 0x1000 +# GNU-NEXT: 0x0000000000000005 (STRTAB) 0x1000 +# GNU-NEXT: 0x0000000000000006 (SYMTAB) 0x1000 +# GNU-NEXT: 0x0000000000000007 (RELA) 0x1000 +# GNU-NEXT: 0x0000000000000008 (RELASZ) 16 (bytes) +# GNU-NEXT: 0x0000000000000009 (RELAENT) 1929 (bytes) +# GNU-NEXT: 0x000000000000000a (STRSZ) 16 (bytes) +# GNU-NEXT: 0x000000000000000b (SYMENT) 2439 (bytes) +# GNU-NEXT: 0x000000000000000c (INIT) 0x1000 +# GNU-NEXT: 0x000000000000000d (FINI) 0x1000 +# GNU-NEXT: 0x000000000000000e (SONAME) Library soname: [U] +# GNU-NEXT: 0x000000000000000f (RPATH) Library rpath: [f] +# GNU-NEXT: 0x0000000000000010 (SYMBOLIC) 0x1234567890abcdef +# GNU-NEXT: 0x0000000000000011 (REL) 0x1000 +# GNU-NEXT: 0x0000000000000012 (RELSZ) 16 (bytes) +# GNU-NEXT: 0x0000000000000013 (RELENT) 291 (bytes) +# GNU-NEXT: 0x0000000000000014 (PLTREL) RELA +# GNU-NEXT: 0x0000000000000015 (DEBUG) 0xfedcba0987654321 +# GNU-NEXT: 0x0000000000000016 (TEXTREL) 0x1122334455667788 +# GNU-NEXT: 0x0000000000000017 (JMPREL) 0x1000 +# GNU-NEXT: 0x0000000000000018 (BIND_NOW) 0x8877665544332211 +# GNU-NEXT: 0x0000000000000019 (INIT_ARRAY) 0x1000 +# GNU-NEXT: 0x000000000000001a (FINI_ARRAY) 0x1000 +# GNU-NEXT: 0x000000000000001b (INIT_ARRAYSZ) 16 (bytes) +# GNU-NEXT: 0x000000000000001c (FINI_ARRAYSZ) 16 (bytes) +# GNU-NEXT: 0x000000000000001d (RUNPATH) Library runpath: [w] +# GNU-NEXT: 0x000000000000001e (FLAGS) ORIGIN SYMBOLIC TEXTREL BIND_NOW STATIC_TLS {{$}} +# GNU-NEXT: 0x0000000000000020 (PREINIT_ARRAY) 0x1000 +# GNU-NEXT: 0x0000000000000021 (PREINIT_ARRAYSZ) 16 (bytes) +# GNU-NEXT: 0x0000000000000022 (SYMTAB_SHNDX) 0x1000 +# GNU-NEXT: 0x0000000000000023 (RELRSZ) 0x10 +# GNU-NEXT: 0x0000000000000024 (RELR) 0x1000 +# GNU-NEXT: 0x0000000000000025 (RELRENT) 0x4321 +# GNU-NEXT: 0x000000006000000f (ANDROID_REL) 0x1000 +# GNU-NEXT: 0x0000000060000010 (ANDROID_RELSZ) 16 (bytes) +# GNU-NEXT: 0x0000000060000011 (ANDROID_RELA) 0x1000 +# GNU-NEXT: 0x0000000060000012 (ANDROID_RELASZ) 16 (bytes) +# GNU-NEXT: 0x000000006fffe000 (ANDROID_RELR) 0x1000 +# GNU-NEXT: 0x000000006fffe001 (ANDROID_RELRSZ) 0x10 +# GNU-NEXT: 0x000000006fffe003 (ANDROID_RELRENT) 0x1234 +# GNU-NEXT: 0x000000006ffffef5 (GNU_HASH) 0x1000 +# GNU-NEXT: 0x000000006ffffef6 (TLSDESC_PLT) 0x1000 +# GNU-NEXT: 0x000000006ffffef7 (TLSDESC_GOT) 0x1000 +# GNU-NEXT: 0x000000006ffffff9 (RELACOUNT) 0 +# GNU-NEXT: 0x000000006ffffffa (RELCOUNT) 0 +# GNU-NEXT: 0x000000006ffffffb (FLAGS_1) NOW GLOBAL GROUP NODELETE LOADFLTR INITFIRST NOOPEN ORIGIN DIRECT TRANS INTERPOSE NODEFLIB NODUMP CONFALT ENDFILTEE DISPRELDNE DISPRELPND NODIRECT IGNMULDEF NOKSYMS NOHDR EDITED NORELOC SYMINTPOSE GLOBAUDIT SINGLETON {{$}} +# GNU-NEXT: 0x000000006ffffff0 (VERSYM) 0x1000 +# GNU-NEXT: 0x000000006ffffffc (VERDEF) 0x1000 +# GNU-NEXT: 0x000000006ffffffd (VERDEFNUM) 0 +# GNU-NEXT: 0x000000006ffffffe (VERNEED) 0x1000 +# GNU-NEXT: 0x000000006fffffff (VERNEEDNUM) 0 +# GNU-NEXT: 0x000000007ffffffd (AUXILIARY) Auxiliary library: [D] +# GNU-NEXT: 0x000000007ffffffe (USED) Not needed object: [U] +# GNU-NEXT: 0x000000007fffffff (FILTER) Filter library: [U] +# GNU-NEXT: 0x0000000012345678 (<unknown:>0x12345678) 0x8765432187654321 +# GNU-NEXT: 0x000000006abcdef0 (<unknown:>0x6abcdef0) 0x9988776655443322 +# GNU-NEXT: 0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888 +# GNU-NEXT: 0x0000000000000000 (NULL) 0x0 --- !ELF FileHeader: |