1// These test checks that llvm-objdump will not crash with malformed Mach-O
2// files.  So the check line is not all that important but the bug fixes to
3// make sure llvm-objdump is robust is what matters.
4# RUN: llvm-objdump -macho -objc-meta-data \
5# RUN:   %p/Inputs/malformed-machos/mem-crup-0001.macho \
6# RUN:   | FileCheck -check-prefix=m0001 %s
7
8# m0001: (method_t extends past the end of the section)
9
10# RUN: llvm-objdump -macho -objc-meta-data \
11# RUN:   %p/Inputs/malformed-machos/mem-crup-0006.macho \
12# RUN:   | FileCheck -check-prefix=m0006 %s
13
14# m0006: ivarLayout 0x8
15
16# RUN: llvm-objdump -macho -objc-meta-data \
17# RUN:   %p/Inputs/malformed-machos/mem-crup-0006.macho \
18# RUN:   | FileCheck -check-prefix=m0010 %s
19
20# m0010: 00000000000010e0 0x10e8 _OBJC_CLASS_
21
22# RUN: llvm-objdump -macho -objc-meta-data \
23# RUN:   %p/Inputs/malformed-machos/mem-crup-0040.macho \
24# RUN:   | FileCheck -check-prefix=m0040 %s
25
26# m0040: 00000000000010a0 0xf39 -[tiny_dylib init]
27
28# RUN: llvm-objdump -macho -objc-meta-data \
29# RUN:   %p/Inputs/malformed-machos/mem-crup-0080.macho \
30# RUN:   | FileCheck -check-prefix=m0080 %s
31
32# m0080: data 0xf960000 (struct class_ro_t *)
33
34# RUN: llvm-objdump -macho -objc-meta-data \
35# RUN:   %p/Inputs/malformed-machos/mem-crup-0261.macho
36
37# RUN: llvm-objdump -macho -disassemble \
38# RUN:   %p/Inputs/malformed-machos/mem-crup-0337.macho \
39# RUN:   | FileCheck -check-prefix=m0337 %s
40
41# m0337: subq	$16, %rsp
42