mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
b720cf7142
This may trigger a segfault in llvm-objdump when the line number stored in debug infromation points beyond the end of file; lines in LineBuffer are stored in std::vector which is allocated in chunks, so even if the debug info points beyond the end of the file, this doesn't necessarily trigger the segfault unless the line number points beyond the allocated space. Differential Revision: https://reviews.llvm.org/D32466 llvm-svn: 301347
28 lines
700 B
Plaintext
28 lines
700 B
Plaintext
# Check that debug info line number pointing beyond the end of the file
|
|
# doesn't cause a segmentation fault in llvm-objdump.
|
|
|
|
# To rebuild the input: clang -g debug-info-fileinfo.S -o debug-info-fileinfo.exe -nostdlib
|
|
|
|
# RUN: llvm-objdump -S %p/Inputs/debug-info-fileinfo.exe.elf-x86_64 | FileCheck %s
|
|
|
|
# CHECK: Disassembly of section .text:
|
|
# CHECK: _start
|
|
# CHECK-NEXT: 400078: c3 retq
|
|
# CHECK: foo
|
|
# CHECK-NEXT: 400079: 90 nop
|
|
# CHECK-NEXT: 40007a: 90 nop
|
|
# CHECK-NEXT: 40007b: c3 retq
|
|
|
|
.text
|
|
|
|
.global _start; .type _start, STT_FUNC; _start:
|
|
ret
|
|
|
|
.global foo; .type foo, STT_FUNC; foo:
|
|
# foo
|
|
# bar
|
|
# baz
|
|
nop
|
|
nop
|
|
ret
|