[PATCH] D86923: [llvm-readobj/elf] - Don't crash when the size of a dynamic symbol table, inferred from the hash table, is broken.
Petr Hosek via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 22 00:18:40 PDT 2020
phosek added a comment.
In D86923#2276286 <https://reviews.llvm.org/D86923#2276286>, @grimar wrote:
> In D86923#2275328 <https://reviews.llvm.org/D86923#2275328>, @thakis wrote:
>
>> Looks like this breaks tests on mac: http://45.33.8.238/mac/20491/step_11.txt
>>
>> Please take a look and revert for now if it takes a while to fix.
>
> Thanks for letting me know. Fixed in rGef4851742de5e64a1ba9de51e375ac503d2d7ecb <https://reviews.llvm.org/rGef4851742de5e64a1ba9de51e375ac503d2d7ecb>.
We're still seeing a failure on macOS:
/b/s/w/ir/k/llvm-project/llvm/test/tools/llvm-readobj/ELF/dyn-symbols-size-from-hash-table.test:356:23: error: BROKEN-NCHAIN-LLVM: expected string not found in input
# BROKEN-NCHAIN-LLVM: {{^}}[[#%u, FILESIZE:]]
^
/b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.out.llvm.txt:1:2: note: scanning from here
840 /b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.1
^
/b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.out.llvm.txt:13:5: note: possible intended match here
Name: (0)
^
Input file: /b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.out.llvm.txt
Check file: /b/s/w/ir/k/llvm-project/llvm/test/tools/llvm-readobj/ELF/dyn-symbols-size-from-hash-table.test
-dump-input=help explains the following input dump.
Input was:
<<<<<<
1: 840 /b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.1
check:356'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
2: /b/s/w/ir/k/staging/llvm_build/bin/llvm-readobj: warning: '/b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.1': hash table nchain (4294967295) differs from symbol count derived from SHT_DYNSYM section header (1)
check:356'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3: /b/s/w/ir/k/staging/llvm_build/bin/llvm-readobj: warning: '/b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.1': the size (0x17ffffffe8) of the dynamic symbol table at 0xf0, derived from the hash table, goes past the end of the file (0x348) and will be ignored
check:356'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4:
check:356'0 ~
5: File: /b/s/w/ir/k/staging/llvm_build/test/tools/llvm-readobj/ELF/Output/dyn-symbols-size-from-hash-table.test.tmp4.1
check:356'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6: Format: elf64-x86-64
check:356'0 ~~~~~~~~~~~~~~~~~~~~
7: Arch: x86_64
check:356'0 ~~~~~~~~~~~~
8: AddressSize: 64bit
check:356'0 ~~~~~~~~~~~~~~~~~~
9: LoadName:
check:356'0 ~~~~~~~~~~
10: Sections [
check:356'0 ~~~~~~~~~~
11: Section {
check:356'0 ~~~~~~~~~~
12: Index: 0
check:356'0 ~~~~~~~~~
13: Name: (0)
check:356'0 ~~~~~~~~~~
check:356'1 ? possible intended match
14: Type: SHT_NULL (0x0)
check:356'0 ~~~~~~~~~~~~~~~~~~~~~
15: Flags [ (0x0)
check:356'0 ~~~~~~~~~~~~~~
16: ]
check:356'0 ~~
17: Address: 0x0
check:356'0 ~~~~~~~~~~~~~
18: Offset: 0x0
check:356'0 ~~~~~~~~~~~~
.
.
.
>>>>>>
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D86923/new/
https://reviews.llvm.org/D86923
More information about the llvm-commits
mailing list