| ## 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 |