37 lines
845 B
YAML
37 lines
845 B
YAML
|
## This test ensures that LLVM will not crash when converting a Mach-O object
|
||
|
## file with a malformed symbol whose n_sect points to an invalid offset.
|
||
|
|
||
|
# RUN: yaml2obj %s -o %t
|
||
|
# RUN: not llvm-gsymutil --convert %t -o %t.o 2>&1 | FileCheck %s
|
||
|
|
||
|
# CHECK: Loaded 0 functions from symbol table.
|
||
|
|
||
|
--- !mach-o
|
||
|
FileHeader:
|
||
|
magic: 0xFEEDFACF
|
||
|
cputype: 0x01000007
|
||
|
cpusubtype: 0x00000003
|
||
|
filetype: 0x0000000A
|
||
|
ncmds: 1
|
||
|
sizeofcmds: 100
|
||
|
flags: 0x00000000
|
||
|
reserved: 0x00000000
|
||
|
LoadCommands:
|
||
|
- cmd: LC_SYMTAB
|
||
|
cmdsize: 24
|
||
|
symoff: 4096
|
||
|
nsyms: 1
|
||
|
stroff: 4144
|
||
|
strsize: 6
|
||
|
LinkEditData:
|
||
|
NameList:
|
||
|
- n_strx: 2 # _foo
|
||
|
n_type: 0x0e
|
||
|
n_sect: 3 # Points to an invalid offset.
|
||
|
n_desc: 0
|
||
|
n_value: 1234
|
||
|
StringTable:
|
||
|
- ''
|
||
|
- ''
|
||
|
- _foo
|