From: Davide Italiano Date: Sat, 5 Sep 2015 01:02:05 +0000 (+0000) Subject: [MC] Convert other MachO tests from macho-dump to llvm-readobj. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=537f16ebe4822f2ebb68319250c84f537caa0ec5;p=oota-llvm.git [MC] Convert other MachO tests from macho-dump to llvm-readobj. This commit accomplish two goals: 1) it's a step forward to deprecate macho-dump, now less than 40 tests rely on it. 2) It tests all the MachO specific features introduced in llvm-readobj in the following commits: r246789, r246665, r246474. While the conversion is mostly mechanical (I double-checked all the tests output one by one, but still), a post-commit review is greatly appreciated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@246904 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s b/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s index d98c257c858..a10aef3a5f8 100644 --- a/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s +++ b/test/MC/MachO/AArch64/darwin-ARM64-local-label-diff.s @@ -1,4 +1,4 @@ -; RUN: llvm-mc -triple arm64-apple-darwin -filetype=obj -o - < %s | macho-dump -dump-section-data | FileCheck %s +; RUN: llvm-mc -triple arm64-apple-darwin -filetype=obj -o - < %s | llvm-readobj -s -sd | FileCheck %s ; rdar://13028719 .globl context_save0 @@ -18,4 +18,11 @@ Lcontext_save1_size: .quad (Lcontext_save1_end - Lcontext_save1) Llockup_release: .quad 0 -; CHECK: ('_section_data', '05000000 00000000 05000000 00000000 10000000 00000000 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 1f2003d5 00000000 00000000 00000000 00000000 10000000 00000000 00000000 00000000') +; CHECK: SectionData ( +; CHECK: 0000: 05000000 00000000 05000000 00000000 |................| +; CHECK: 0010: 10000000 00000000 1F2003D5 1F2003D5 |......... ... ..| +; CHECK: 0020: 1F2003D5 1F2003D5 1F2003D5 1F2003D5 |. ... ... ... ..| +; CHECK: 0030: 1F2003D5 1F2003D5 1F2003D5 1F2003D5 |. ... ... ... ..| +; CHECK: 0040: 00000000 00000000 00000000 00000000 |................| +; CHECK: 0050: 10000000 00000000 00000000 00000000 |................| +; CHECK: ) diff --git a/test/MC/MachO/darwin-x86_64-diff-reloc-assign.s b/test/MC/MachO/darwin-x86_64-diff-reloc-assign.s index 49cfa418162..7a7919786d4 100644 --- a/test/MC/MachO/darwin-x86_64-diff-reloc-assign.s +++ b/test/MC/MachO/darwin-x86_64-diff-reloc-assign.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s // Test case for rdar://10743265 @@ -17,11 +17,9 @@ _base = . _start_ap_2: cli -// CHECK: ('_relocations', [ -// CHECK: # Relocation 0 -// CHECK: (('word-0', 0x0), -// CHECK: ('word-1', 0x5c000000)), -// CHECK: # Relocation 1 -// CHECK: (('word-0', 0x0), -// CHECK: ('word-1', 0xc000001)), -// CHECK: ]) +// CHECK: Relocations [ +// CHECK: Section __text { +// CHECK: 0x0 0 2 1 X86_64_RELOC_SUBTRACTOR 0 _base +// CHECK: 0x0 0 2 1 X86_64_RELOC_UNSIGNED 0 _start_ap_2 +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/debug_frame.s b/test/MC/MachO/debug_frame.s index 247347d252a..d185127f4b1 100644 --- a/test/MC/MachO/debug_frame.s +++ b/test/MC/MachO/debug_frame.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin %s -filetype=obj -o - | llvm-readobj -s -sd -r | FileCheck %s // Make sure MC can handle file level .cfi_startproc and .cfi_endproc that creates // an empty frame. @@ -26,23 +26,33 @@ Leh_func_end0: .cfi_sections .debug_frame Ltext_end: -// CHECK: (('section_name', '__debug_frame\x00\x00\x00') -// CHECK-NEXT: ('segment_name', '__DWARF\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK-NEXT: ('address', 8) -// CHECK-NEXT: ('size', 52) -// CHECK-NEXT: ('offset', 332) -// CHECK-NEXT: ('alignment', 2) -// CHECK-NEXT: ('reloc_offset', 384) -// CHECK-NEXT: ('num_reloc', 2) -// CHECK-NEXT: ('flags', 0x2000000) -// CHECK-NEXT: ('reserved1', 0) -// CHECK-NEXT: ('reserved2', 0) -// CHECK-NEXT: ), -// CHECK-NEXT: ('_relocations', [ -// CHECK-NEXT: # Relocation 0 -// CHECK-NEXT: (('word-0', 0x2c), -// CHECK-NEXT: ('word-1', 0x4000001)), -// CHECK-NEXT: # Relocation 1 -// CHECK-NEXT: (('word-0', 0x1c), -// CHECK-NEXT: ('word-1', 0x4000001)), -// CHECK-NEXT: ]) +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __debug_frame (5F 5F 64 65 62 75 67 5F 66 72 61 6D 65 00 00 00) +// CHECK: Segment: __DWARF (5F 5F 44 57 41 52 46 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x8 +// CHECK: Size: 0x34 +// CHECK: Offset: 332 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x180 +// CHECK: RelocationCount: 2 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x20000) +// CHECK: Debug (0x20000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: 10000000 FFFFFFFF 04000400 017C080C |.............|..| +// CHECK: 0010: 04048801 0C000000 00000000 00000000 |................| +// CHECK: 0020: 00000000 0C000000 00000000 00000000 |................| +// CHECK: 0030: 06000000 |....| +// CHECK: ) +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: Section __debug_frame { +// CHECK: 0x2C 0 2 0 GENERIC_RELOC_VANILLA 0 __text +// CHECK: 0x1C 0 2 0 GENERIC_RELOC_VANILLA 0 __text +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/i386-large-relocations.s b/test/MC/MachO/i386-large-relocations.s index e5a1cfb2c5e..e8805d37e4a 100644 --- a/test/MC/MachO/i386-large-relocations.s +++ b/test/MC/MachO/i386-large-relocations.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin10 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin10 %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s .space 0x1ed280 .section __DATA,__const @@ -20,17 +20,11 @@ _foo: // so the assembler falls back to non-scattered relocations. // rdar://12358909 -// CHECK: ('_relocations', [ -// CHECK: # Relocation 0 -// CHECK: (('word-0', 0x5181034), -// CHECK: ('word-1', 0x4000003)), -// CHECK: # Relocation 1 -// CHECK: (('word-0', 0x518102c), -// CHECK: ('word-1', 0x4000003)), -// CHECK: # Relocation 2 -// CHECK: (('word-0', 0x5181028), -// CHECK: ('word-1', 0x4000003)), -// CHECK: # Relocation 3 -// CHECK: (('word-0', 0x5181020), -// CHECK: ('word-1', 0x4000003)), -// CHECK: ]) +// CHECK: Relocations [ +// CHECK: Section __const { +// CHECK: 0x5181034 0 2 0 GENERIC_RELOC_VANILLA 0 __bss +// CHECK: 0x518102C 0 2 0 GENERIC_RELOC_VANILLA 0 __bss +// CHECK: 0x5181028 0 2 0 GENERIC_RELOC_VANILLA 0 __bss +// CHECK: 0x5181020 0 2 0 GENERIC_RELOC_VANILLA 0 __bss +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/loc.s b/test/MC/MachO/loc.s index ab176fb69fb..c1a2edd6090 100644 --- a/test/MC/MachO/loc.s +++ b/test/MC/MachO/loc.s @@ -1,25 +1,35 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r -s -sd | FileCheck %s .file 1 "foo" .loc 1 64 0 nop -// CHECK: # Section 1 -// CHECK-NEXT: (('section_name', '__debug_line\x00\x00\x00\x00') -// CHECK-NEXT: ('segment_name', '__DWARF\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK-NEXT: ('address', 1) -// CHECK-NEXT: ('size', 51) -// CHECK-NEXT: ('offset', 237) -// CHECK-NEXT: ('alignment', 0) -// CHECK-NEXT: ('reloc_offset', 288) -// CHECK-NEXT: ('num_reloc', 1) -// CHECK-NEXT: ('flags', 0x2000000) -// CHECK-NEXT: ('reserved1', 0) -// CHECK-NEXT: ('reserved2', 0) -// CHECK-NEXT: ), -// CHECK-NEXT: ('_relocations', [ -// CHECK-NEXT: # Relocation 0 -// CHECK-NEXT: (('word-0', 0x27), -// CHECK-NEXT: ('word-1', 0x4000001)), -// CHECK-NEXT: ]) -// CHECK-NEXT: ('_section_data', '2f000000 02001a00 00000101 fb0e0d00 01010101 00000001 00000100 666f6f00 00000000 00050200 00000003 3f010201 000101') +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __debug_line (5F 5F 64 65 62 75 67 5F 6C 69 6E 65 00 00 00 00) +// CHECK: Segment: __DWARF (5F 5F 44 57 41 52 46 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x1 +// CHECK: Size: 0x33 +// CHECK: Offset: 237 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x120 +// CHECK: RelocationCount: 1 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x20000) +// CHECK: Debug (0x20000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: 2F000000 02001A00 00000101 FB0E0D00 |/...............| +// CHECK: 0010: 01010101 00000001 00000100 666F6F00 |............foo.| +// CHECK: 0020: 00000000 00050200 00000003 3F010201 |............?...| +// CHECK: 0030: 000101 |...| +// CHECK: ) +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: Section __debug_line { +// CHECK: 0x27 0 2 0 GENERIC_RELOC_VANILLA 0 __text +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/relax-recompute-align.s b/test/MC/MachO/relax-recompute-align.s index b6eedf45176..1369bcdf5ae 100644 --- a/test/MC/MachO/relax-recompute-align.s +++ b/test/MC/MachO/relax-recompute-align.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -s | FileCheck %s // FIXME: This is a horrible way of checking the output, we need an llvm-mc // based 'otool'. @@ -8,20 +8,6 @@ // recomputed -- otherwise the second jump will appear to be out-of-range for a // 1-byte jump. -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 306) -// CHECK: ('offset', 340) -// CHECK: ('alignment', 4) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000400) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), - L0: .space 0x8a, 0x90 jmp L0 @@ -35,3 +21,22 @@ L1: L2: .zerofill __DATA,__bss,_sym,4,2 + +// CHECK: Section { +// CHECK-NEXT: Index: 0 +// CHECK-NEXT: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK-NEXT: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK-NEXT: Address: 0x0 +// CHECK-NEXT: Size: 0x132 +// CHECK-NEXT: Offset: 340 +// CHECK-NEXT: Alignment: 4 +// CHECK-NEXT: RelocationOffset: 0x0 +// CHECK-NEXT: RelocationCount: 0 +// CHECK-NEXT: Type: 0x0 +// CHECK-NEXT: Attributes [ (0x800004) +// CHECK-NEXT: PureInstructions (0x800000) +// CHECK-NEXT: SomeInstructions (0x4) +// CHECK-NEXT: ] +// CHECK-NEXT: Reserved1: 0x0 +// CHECK-NEXT: Reserved2: 0x0 +// CHECK-NEXT: } diff --git a/test/MC/MachO/reloc-diff.s b/test/MC/MachO/reloc-diff.s index a63a413f24b..f9d58d97e52 100644 --- a/test/MC/MachO/reloc-diff.s +++ b/test/MC/MachO/reloc-diff.s @@ -1,30 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s - -// CHECK: # Relocation 0 -// CHECK: (('word-0', 0xa4000010), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 1 -// CHECK: (('word-0', 0xa1000000), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 2 -// CHECK: (('word-0', 0xa4000008), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 3 -// CHECK: (('word-0', 0xa1000000), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 4 -// CHECK: (('word-0', 0xa4000004), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 5 -// CHECK: (('word-0', 0xa1000000), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 6 -// CHECK: (('word-0', 0xa2000000), -// CHECK: ('word-1', 0x0)), -// CHECK: # Relocation 7 -// CHECK: (('word-0', 0xa1000000), -// CHECK: ('word-1', 0x0)), -// CHECK-NEXT: ]) +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s _local_def: .globl _external_def @@ -41,3 +15,16 @@ Ltemp: .long _local_def - Ltemp .long _external_def - Ltemp + +// CHECK: Relocations [ +// CHECK-NEXT: Section __data { +// CHECK-NEXT: 0x10 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x0 +// CHECK-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x0 +// CHECK-NEXT: 0x8 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x0 +// CHECK-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x0 +// CHECK-NEXT: 0x4 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x0 +// CHECK-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x0 +// CHECK-NEXT: 0x0 0 2 n/a GENERIC_RELOC_SECTDIFF 1 0x0 +// CHECK-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x0 +// CHECK-NEXT: } +// CHECK-NEXT: ] diff --git a/test/MC/MachO/reloc-pcrel-offset.s b/test/MC/MachO/reloc-pcrel-offset.s index e113e9616cc..d4d6ddf48dd 100644 --- a/test/MC/MachO/reloc-pcrel-offset.s +++ b/test/MC/MachO/reloc-pcrel-offset.s @@ -1,10 +1,4 @@ -// RUN: llvm-mc -n -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s - -// CHECK: # Relocation 0 -// CHECK: (('word-0', 0x1), -// CHECK: ('word-1', 0x5000002)), -// CHECK-NEXT: ]) -// CHECK: ('_section_data', 'e8fbffff ff') +// RUN: llvm-mc -n -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r -s -sd | FileCheck %s .data .long 0 @@ -15,3 +9,28 @@ _b: call _a .subsections_via_symbols + +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x4 +// CHECK: Offset: 340 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: 00000000 |....| +// CHECK: ) +// CHECK: } +// CHECK: Relocations [ +// CHECK: Section __text { +// CHECK: 0x1 1 2 0 GENERIC_RELOC_VANILLA 0 __text +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/reloc-pcrel.s b/test/MC/MachO/reloc-pcrel.s index 11334150368..88f8828e687 100644 --- a/test/MC/MachO/reloc-pcrel.s +++ b/test/MC/MachO/reloc-pcrel.s @@ -1,39 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s - -// CHECK: # Relocation 0 -// CHECK: (('word-0', 0xe4000045), -// CHECK: ('word-1', 0x4)), -// CHECK: # Relocation 1 -// CHECK: (('word-0', 0xe1000000), -// CHECK: ('word-1', 0x6)), -// CHECK: # Relocation 2 -// CHECK: (('word-0', 0x40), -// CHECK: ('word-1', 0xd000003)), -// CHECK: # Relocation 3 -// CHECK: (('word-0', 0x3b), -// CHECK: ('word-1', 0xd000003)), -// CHECK: # Relocation 4 -// CHECK: (('word-0', 0x36), -// CHECK: ('word-1', 0xd000003)), -// CHECK: # Relocation 5 -// CHECK: (('word-0', 0xe0000031), -// CHECK: ('word-1', 0x4)), -// CHECK: # Relocation 6 -// CHECK: (('word-0', 0xe000002c), -// CHECK: ('word-1', 0x4)), -// CHECK: # Relocation 7 -// CHECK: (('word-0', 0x27), -// CHECK: ('word-1', 0x5000001)), -// CHECK: # Relocation 8 -// CHECK: (('word-0', 0xe0000022), -// CHECK: ('word-1', 0x2)), -// CHECK: # Relocation 9 -// CHECK: (('word-0', 0xe000001d), -// CHECK: ('word-1', 0x2)), -// CHECK: # Relocation 10 -// CHECK: (('word-0', 0x18), -// CHECK: ('word-1', 0x5000001)), -// CHECK-NEXT: ]) +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -r | FileCheck %s xorl %eax,%eax @@ -63,3 +28,19 @@ L1: call _b - L0 .subsections_via_symbols + +// CHECK: Relocations [ +// CHECK-NEXT: Section __text { +// CHECK-NEXT: 0x45 1 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x4 +// CHECK-NEXT: 0x0 1 2 n/a GENERIC_RELOC_PAIR 1 0x6 +// CHECK-NEXT: 0x40 1 2 1 GENERIC_RELOC_VANILLA 0 _c +// CHECK-NEXT: 0x3B 1 2 1 GENERIC_RELOC_VANILLA 0 _c +// CHECK-NEXT: 0x36 1 2 1 GENERIC_RELOC_VANILLA 0 _c +// CHECK-NEXT: 0x31 1 2 n/a GENERIC_RELOC_VANILLA 1 0x4 +// CHECK-NEXT: 0x2C 1 2 n/a GENERIC_RELOC_VANILLA 1 0x4 +// CHECK-NEXT: 0x27 1 2 0 GENERIC_RELOC_VANILLA 0 __text +// CHECK-NEXT: 0x22 1 2 n/a GENERIC_RELOC_VANILLA 1 0x2 +// CHECK-NEXT: 0x1D 1 2 n/a GENERIC_RELOC_VANILLA 1 0x2 +// CHECK-NEXT: 0x18 1 2 0 GENERIC_RELOC_VANILLA 0 __text +// CHECK-NEXT: } +// CHECK-NEXT: ] diff --git a/test/MC/MachO/section-attributes.s b/test/MC/MachO/section-attributes.s index b21ef38ac56..0c2913e4aca 100644 --- a/test/MC/MachO/section-attributes.s +++ b/test/MC/MachO/section-attributes.s @@ -1,7 +1,10 @@ // RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o %t -// RUN: macho-dump %t | FileCheck %s +// RUN: llvm-readobj -s -sd %t | FileCheck %s -// CHECK: # Section 1 -// CHECK: ('flags', 0x0) .section __TEXT,__objc_opt_ro .long 0 + +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Attributes [ (0x0) +// CHECK: ] diff --git a/test/MC/MachO/section-flags.s b/test/MC/MachO/section-flags.s index 8ac1bbff755..da5c4c13317 100644 --- a/test/MC/MachO/section-flags.s +++ b/test/MC/MachO/section-flags.s @@ -1,14 +1,49 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s -// -// CHECK: # Section 0 -// CHECK: 'section_name', '__text -// CHECK: 'flags', 0x80000000 -// CHECK: # Section 1 -// CHECK: 'section_name', '__data -// CHECK: 'flags', 0x400 - +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -s -sd | FileCheck %s + .text .data f0: movl $0, %eax + +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 340 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x5 +// CHECK: Offset: 340 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x4) +// CHECK: SomeInstructions (0x4) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: B8000000 00 |.....| +// CHECK: ) +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/temp-labels.s b/test/MC/MachO/temp-labels.s index 51196f08b8a..12dbae5531a 100644 --- a/test/MC/MachO/temp-labels.s +++ b/test/MC/MachO/temp-labels.s @@ -1,33 +1,27 @@ -// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -save-temp-labels -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -save-temp-labels -o - | llvm-readobj -t | FileCheck %s -// CHECK: # Load Command 2 -// CHECK: (('command', 2) -// CHECK: ('size', 24) -// CHECK: ('symoff', 312) -// CHECK: ('nsyms', 2) -// CHECK: ('stroff', 344) -// CHECK: ('strsize', 8) -// CHECK: ('_string_data', '\x00_f0\x00L0\x00') -// CHECK: ('_symbols', [ -// CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 1) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', '_f0') -// CHECK: ), -// CHECK: # Symbol 1 -// CHECK: (('n_strx', 5) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 1) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 4) -// CHECK: ('_string', 'L0') -// CHECK: ), -// CHECK: ]) -// CHECK: ), _f0: .long 0 L0: .long 0 + +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: _f0 (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __text (0x1) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: L0 (5) +// CHECK: Type: Section (0xE) +// CHECK: Section: __text (0x1) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x4 +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/x86_32-scattered-reloc-fallback.s b/test/MC/MachO/x86_32-scattered-reloc-fallback.s index 3de52b4228d..b2dc27b3e1c 100644 --- a/test/MC/MachO/x86_32-scattered-reloc-fallback.s +++ b/test/MC/MachO/x86_32-scattered-reloc-fallback.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -s -sd | FileCheck %s // rdar://15526046 @@ -24,4 +24,8 @@ _key64b_9: // be relocated, in this case _key64b_9+4, value correct in the instruction. // 01020f55 c7056475530100000000 movl $0x0, 0x1537564 -// CHECK: 90c70564 75530100 000000') +// CHECK: SectionData ( +// CHECK: F75530: 90909090 90909090 90909090 90909090 |................| +// CHECK: 1020F50: 90909090 90C70564 75530100 000000 |.......duS.....| +// CHECK: 75530: 00000000 00000000 00000000 00000000 |................| +// CHECK: ) diff --git a/test/MC/MachO/x86_32-sections.s b/test/MC/MachO/x86_32-sections.s index 533b0e5102c..a78ac17db1d 100644 --- a/test/MC/MachO/x86_32-sections.s +++ b/test/MC/MachO/x86_32-sections.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd --macho-segment | FileCheck %s .text .section __TEXT,__text,regular,pure_instructions @@ -43,494 +43,700 @@ .section __TEXT,__picsymbolstub4,symbol_stubs,none,16 .subsections_via_symbols - -// CHECK: ('cputype', 7) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 2) -// CHECK: ('load_commands_size', 2520) -// CHECK: ('flag', 8192) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 1) -// CHECK: ('size', 2504) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 0) -// CHECK: ('file_offset', 2548) -// CHECK: ('file_size', 0) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 36) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 1 -// CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 2 -// CHECK: (('section_name', '__static_const\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 3 -// CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x2) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 4 -// CHECK: (('section_name', '__literal4\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x3) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 5 -// CHECK: (('section_name', '__literal8\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 3) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x4) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 6 -// CHECK: (('section_name', '__literal16\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 4) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0xe) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 7 -// CHECK: (('section_name', '__constructor\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 8 -// CHECK: (('section_name', '__destructor\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 9 -// CHECK: (('section_name', '__symbol_stub\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000008) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 16) -// CHECK: ), -// CHECK: # Section 10 -// CHECK: (('section_name', '__picsymbol_stub') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000008) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 26) -// CHECK: ), -// CHECK: # Section 11 -// CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 12 -// CHECK: (('section_name', '__static_data\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 13 -// CHECK: (('section_name', '__nl_symbol_ptr\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x6) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 14 -// CHECK: (('section_name', '__la_symbol_ptr\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x7) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 15 -// CHECK: (('section_name', '__dyld\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 16 -// CHECK: (('section_name', '__mod_init_func\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x9) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 17 -// CHECK: (('section_name', '__mod_term_func\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0xa) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 18 -// CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 19 -// CHECK: (('section_name', '__class\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 20 -// CHECK: (('section_name', '__meta_class\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 21 -// CHECK: (('section_name', '__cat_cls_meth\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 22 -// CHECK: (('section_name', '__cat_inst_meth\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 23 -// CHECK: (('section_name', '__protocol\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 24 -// CHECK: (('section_name', '__string_object\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 25 -// CHECK: (('section_name', '__cls_meth\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 26 -// CHECK: (('section_name', '__inst_meth\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 27 -// CHECK: (('section_name', '__cls_refs\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000005) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 28 -// CHECK: (('section_name', '__message_refs\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000005) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 29 -// CHECK: (('section_name', '__symbols\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 30 -// CHECK: (('section_name', '__category\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 31 -// CHECK: (('section_name', '__class_vars\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 32 -// CHECK: (('section_name', '__instance_vars\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 33 -// CHECK: (('section_name', '__module_info\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: # Section 34 -// CHECK: (('section_name', '__selector_strs\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x2) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: # Section 35 -// CHECK: (('section_name', '__picsymbolstub4') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2548) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x8) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 16) -// CHECK: ), -// CHECK: ]) -// CHECK: ), -// CHECK: ]) + +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: MachHeader { +// CHECK: Magic: Magic (0xFEEDFACE) +// CHECK: CpuType: X86 (0x7) +// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 2 +// CHECK: SizeOfLoadCommands: 2520 +// CHECK: Flags [ (0x2000) +// CHECK: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) +// CHECK: ] +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 2 +// CHECK: Name: __static_const (5F 5F 73 74 61 74 69 63 5F 63 6F 6E 73 74 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 3 +// CHECK: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: ExtReloc (0x2) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 4 +// CHECK: Name: __literal4 (5F 5F 6C 69 74 65 72 61 6C 34 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x3 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 5 +// CHECK: Name: __literal8 (5F 5F 6C 69 74 65 72 61 6C 38 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 3 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: SomeInstructions (0x4) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 6 +// CHECK: Name: __literal16 (5F 5F 6C 69 74 65 72 61 6C 31 36 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 4 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0xE +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 7 +// CHECK: Name: __constructor (5F 5F 63 6F 6E 73 74 72 75 63 74 6F 72 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 8 +// CHECK: Name: __destructor (5F 5F 64 65 73 74 72 75 63 74 6F 72 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 9 +// CHECK: Name: __symbol_stub (5F 5F 73 79 6D 62 6F 6C 5F 73 74 75 62 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x8 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x10 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 10 +// CHECK: Name: __picsymbol_stub (5F 5F 70 69 63 73 79 6D 62 6F 6C 5F 73 74 75 62) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x8 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x1A +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 11 +// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 12 +// CHECK: Name: __static_data (5F 5F 73 74 61 74 69 63 5F 64 61 74 61 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 13 +// CHECK: Name: __nl_symbol_ptr (5F 5F 6E 6C 5F 73 79 6D 62 6F 6C 5F 70 74 72 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x6 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 14 +// CHECK: Name: __la_symbol_ptr (5F 5F 6C 61 5F 73 79 6D 62 6F 6C 5F 70 74 72 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x7 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 15 +// CHECK: Name: __dyld (5F 5F 64 79 6C 64 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 16 +// CHECK: Name: __mod_init_func (5F 5F 6D 6F 64 5F 69 6E 69 74 5F 66 75 6E 63 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x9 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 17 +// CHECK: Name: __mod_term_func (5F 5F 6D 6F 64 5F 74 65 72 6D 5F 66 75 6E 63 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0xA +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 18 +// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 19 +// CHECK: Name: __class (5F 5F 63 6C 61 73 73 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 20 +// CHECK: Name: __meta_class (5F 5F 6D 65 74 61 5F 63 6C 61 73 73 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 21 +// CHECK: Name: __cat_cls_meth (5F 5F 63 61 74 5F 63 6C 73 5F 6D 65 74 68 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 22 +// CHECK: Name: __cat_inst_meth (5F 5F 63 61 74 5F 69 6E 73 74 5F 6D 65 74 68 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 23 +// CHECK: Name: __protocol (5F 5F 70 72 6F 74 6F 63 6F 6C 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 24 +// CHECK: Name: __string_object (5F 5F 73 74 72 69 6E 67 5F 6F 62 6A 65 63 74 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 25 +// CHECK: Name: __cls_meth (5F 5F 63 6C 73 5F 6D 65 74 68 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 26 +// CHECK: Name: __inst_meth (5F 5F 69 6E 73 74 5F 6D 65 74 68 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 27 +// CHECK: Name: __cls_refs (5F 5F 63 6C 73 5F 72 65 66 73 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x5 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 28 +// CHECK: Name: __message_refs (5F 5F 6D 65 73 73 61 67 65 5F 72 65 66 73 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x5 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 29 +// CHECK: Name: __symbols (5F 5F 73 79 6D 62 6F 6C 73 00 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 30 +// CHECK: Name: __category (5F 5F 63 61 74 65 67 6F 72 79 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 31 +// CHECK: Name: __class_vars (5F 5F 63 6C 61 73 73 5F 76 61 72 73 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 32 +// CHECK: Name: __instance_vars (5F 5F 69 6E 73 74 61 6E 63 65 5F 76 61 72 73 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 33 +// CHECK: Name: __module_info (5F 5F 6D 6F 64 75 6C 65 5F 69 6E 66 6F 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 34 +// CHECK: Name: __selector_strs (5F 5F 73 65 6C 65 63 74 6F 72 5F 73 74 72 73 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: ExtReloc (0x2) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 35 +// CHECK: Name: __picsymbolstub4 (5F 5F 70 69 63 73 79 6D 62 6F 6C 73 74 75 62 34) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2548 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x8 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x10 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: ] +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT +// CHECK: Name: +// CHECK: Size: 2504 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0x0 +// CHECK: fileoff: 2548 +// CHECK: filesize: 0 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 36 +// CHECK: flags: 0x0 +// CHECK: } diff --git a/test/MC/MachO/x86_32-symbols.s b/test/MC/MachO/x86_32-symbols.s index e8500e98b47..1a4ffafb745 100644 --- a/test/MC/MachO/x86_32-symbols.s +++ b/test/MC/MachO/x86_32-symbols.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t --macho-segment --macho-dysymtab --macho-indirect-symbols | FileCheck %s .text L0: @@ -121,921 +121,1087 @@ D38: L39: D39: -// CHECK: ('cputype', 7) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 4) -// CHECK: ('load_commands_size', 2624) -// CHECK: ('flag', 0) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 1) -// CHECK: ('size', 2504) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 0) -// CHECK: ('file_offset', 2652) -// CHECK: ('file_size', 0) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 36) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 1 -// CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 2 -// CHECK: (('section_name', '__static_const\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 3 -// CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x2) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 4 -// CHECK: (('section_name', '__literal4\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x3) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 5 -// CHECK: (('section_name', '__literal8\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 3) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x4) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 6 -// CHECK: (('section_name', '__literal16\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 4) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0xe) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 7 -// CHECK: (('section_name', '__constructor\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 8 -// CHECK: (('section_name', '__destructor\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 9 -// CHECK: (('section_name', '__symbol_stub\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000008) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 16) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 10 -// CHECK: (('section_name', '__picsymbol_stub') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000008) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 26) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 11 -// CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 12 -// CHECK: (('section_name', '__static_data\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 13 -// CHECK: (('section_name', '__nl_symbol_ptr\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x6) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 14 -// CHECK: (('section_name', '__la_symbol_ptr\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x7) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 15 -// CHECK: (('section_name', '__dyld\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 16 -// CHECK: (('section_name', '__mod_init_func\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x9) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 17 -// CHECK: (('section_name', '__mod_term_func\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0xa) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 18 -// CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 19 -// CHECK: (('section_name', '__class\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 20 -// CHECK: (('section_name', '__meta_class\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 21 -// CHECK: (('section_name', '__cat_cls_meth\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 22 -// CHECK: (('section_name', '__cat_inst_meth\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 23 -// CHECK: (('section_name', '__protocol\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 24 -// CHECK: (('section_name', '__string_object\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 25 -// CHECK: (('section_name', '__cls_meth\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 26 -// CHECK: (('section_name', '__inst_meth\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 27 -// CHECK: (('section_name', '__cls_refs\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000005) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 28 -// CHECK: (('section_name', '__message_refs\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000005) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 29 -// CHECK: (('section_name', '__symbols\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 30 -// CHECK: (('section_name', '__category\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 31 -// CHECK: (('section_name', '__class_vars\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 32 -// CHECK: (('section_name', '__instance_vars\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 33 -// CHECK: (('section_name', '__module_info\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 34 -// CHECK: (('section_name', '__selector_strs\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x2) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 35 -// CHECK: (('section_name', '__picsymbolstub4') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2652) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x8) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 16) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 2 -// CHECK: (('command', 2) -// CHECK: ('size', 24) -// CHECK: ('symoff', 2652) -// CHECK: ('nsyms', 40) -// CHECK: ('stroff', 3132) -// CHECK: ('strsize', 152) -// CHECK: ('_string_data', '\x00D9\x00D39\x00D29\x00D19\x00D8\x00D38\x00D28\x00D18\x00D7\x00D37\x00D27\x00D17\x00D6\x00D36\x00D26\x00D16\x00D5\x00D35\x00D25\x00D15\x00D4\x00D34\x00D24\x00D14\x00D3\x00D33\x00D23\x00D13\x00D2\x00D32\x00D22\x00D12\x00D1\x00D31\x00D21\x00D11\x00D0\x00D30\x00D20\x00D10\x00\x00') -// CHECK: ('_symbols', [ -// CHECK: # Symbol 0 -// CHECK: (('n_strx', 136) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 1) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D0') -// CHECK: ), -// CHECK: # Symbol 1 -// CHECK: (('n_strx', 121) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 1) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D1') -// CHECK: ), -// CHECK: # Symbol 2 -// CHECK: (('n_strx', 106) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D2') -// CHECK: ), -// CHECK: # Symbol 3 -// CHECK: (('n_strx', 91) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 3) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D3') -// CHECK: ), -// CHECK: # Symbol 4 -// CHECK: (('n_strx', 76) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 4) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D4') -// CHECK: ), -// CHECK: # Symbol 5 -// CHECK: (('n_strx', 61) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 5) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D5') -// CHECK: ), -// CHECK: # Symbol 6 -// CHECK: (('n_strx', 46) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 6) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D6') -// CHECK: ), -// CHECK: # Symbol 7 -// CHECK: (('n_strx', 31) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 7) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D7') -// CHECK: ), -// CHECK: # Symbol 8 -// CHECK: (('n_strx', 16) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 8) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D8') -// CHECK: ), -// CHECK: # Symbol 9 -// CHECK: (('n_strx', 1) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 9) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D9') -// CHECK: ), -// CHECK: # Symbol 10 -// CHECK: (('n_strx', 147) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 10) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D10') -// CHECK: ), -// CHECK: # Symbol 11 -// CHECK: (('n_strx', 132) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 11) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D11') -// CHECK: ), -// CHECK: # Symbol 12 -// CHECK: (('n_strx', 117) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 12) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D12') -// CHECK: ), -// CHECK: # Symbol 13 -// CHECK: (('n_strx', 102) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 13) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D13') -// CHECK: ), -// CHECK: # Symbol 14 -// CHECK: (('n_strx', 87) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 14) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D14') -// CHECK: ), -// CHECK: # Symbol 15 -// CHECK: (('n_strx', 72) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 15) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D15') -// CHECK: ), -// CHECK: # Symbol 16 -// CHECK: (('n_strx', 57) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 16) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D16') -// CHECK: ), -// CHECK: # Symbol 17 -// CHECK: (('n_strx', 42) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 17) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D17') -// CHECK: ), -// CHECK: # Symbol 18 -// CHECK: (('n_strx', 27) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 18) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D18') -// CHECK: ), -// CHECK: # Symbol 19 -// CHECK: (('n_strx', 12) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 19) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D19') -// CHECK: ), -// CHECK: # Symbol 20 -// CHECK: (('n_strx', 143) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 20) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D20') -// CHECK: ), -// CHECK: # Symbol 21 -// CHECK: (('n_strx', 128) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 21) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D21') -// CHECK: ), -// CHECK: # Symbol 22 -// CHECK: (('n_strx', 113) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 22) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D22') -// CHECK: ), -// CHECK: # Symbol 23 -// CHECK: (('n_strx', 98) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 23) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D23') -// CHECK: ), -// CHECK: # Symbol 24 -// CHECK: (('n_strx', 83) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 24) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D24') -// CHECK: ), -// CHECK: # Symbol 25 -// CHECK: (('n_strx', 68) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 25) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D25') -// CHECK: ), -// CHECK: # Symbol 26 -// CHECK: (('n_strx', 53) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 26) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D26') -// CHECK: ), -// CHECK: # Symbol 27 -// CHECK: (('n_strx', 38) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 27) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D27') -// CHECK: ), -// CHECK: # Symbol 28 -// CHECK: (('n_strx', 23) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 28) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D28') -// CHECK: ), -// CHECK: # Symbol 29 -// CHECK: (('n_strx', 8) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 29) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D29') -// CHECK: ), -// CHECK: # Symbol 30 -// CHECK: (('n_strx', 139) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 30) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D30') -// CHECK: ), -// CHECK: # Symbol 31 -// CHECK: (('n_strx', 124) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 31) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D31') -// CHECK: ), -// CHECK: # Symbol 32 -// CHECK: (('n_strx', 109) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 32) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D32') -// CHECK: ), -// CHECK: # Symbol 33 -// CHECK: (('n_strx', 94) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 33) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D33') -// CHECK: ), -// CHECK: # Symbol 34 -// CHECK: (('n_strx', 79) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 34) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D34') -// CHECK: ), -// CHECK: # Symbol 35 -// CHECK: (('n_strx', 64) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 4) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D35') -// CHECK: ), -// CHECK: # Symbol 36 -// CHECK: (('n_strx', 49) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 4) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D36') -// CHECK: ), -// CHECK: # Symbol 37 -// CHECK: (('n_strx', 34) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 4) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D37') -// CHECK: ), -// CHECK: # Symbol 38 -// CHECK: (('n_strx', 19) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 35) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D38') -// CHECK: ), -// CHECK: # Symbol 39 -// CHECK: (('n_strx', 4) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 36) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'D39') -// CHECK: ), -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 3 -// CHECK: (('command', 11) -// CHECK: ('size', 80) -// CHECK: ('ilocalsym', 0) -// CHECK: ('nlocalsym', 40) -// CHECK: ('iextdefsym', 40) -// CHECK: ('nextdefsym', 0) -// CHECK: ('iundefsym', 40) -// CHECK: ('nundefsym', 0) -// CHECK: ('tocoff', 0) -// CHECK: ('ntoc', 0) -// CHECK: ('modtaboff', 0) -// CHECK: ('nmodtab', 0) -// CHECK: ('extrefsymoff', 0) -// CHECK: ('nextrefsyms', 0) -// CHECK: ('indirectsymoff', 0) -// CHECK: ('nindirectsyms', 0) -// CHECK: ('extreloff', 0) -// CHECK: ('nextrel', 0) -// CHECK: ('locreloff', 0) -// CHECK: ('nlocrel', 0) -// CHECK: ('_indirect_symbols', [ -// CHECK: ]) -// CHECK: ), -// CHECK: ]) +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: MachHeader { +// CHECK: Magic: Magic (0xFEEDFACE) +// CHECK: CpuType: X86 (0x7) +// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 4 +// CHECK: SizeOfLoadCommands: 2624 +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 2 +// CHECK: Name: __static_const (5F 5F 73 74 61 74 69 63 5F 63 6F 6E 73 74 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 3 +// CHECK: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: ExtReloc (0x2) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 4 +// CHECK: Name: __literal4 (5F 5F 6C 69 74 65 72 61 6C 34 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x3 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 5 +// CHECK: Name: __literal8 (5F 5F 6C 69 74 65 72 61 6C 38 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 3 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: SomeInstructions (0x4) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 6 +// CHECK: Name: __literal16 (5F 5F 6C 69 74 65 72 61 6C 31 36 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 4 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0xE +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 7 +// CHECK: Name: __constructor (5F 5F 63 6F 6E 73 74 72 75 63 74 6F 72 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 8 +// CHECK: Name: __destructor (5F 5F 64 65 73 74 72 75 63 74 6F 72 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 9 +// CHECK: Name: __symbol_stub (5F 5F 73 79 6D 62 6F 6C 5F 73 74 75 62 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x8 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x10 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 10 +// CHECK: Name: __picsymbol_stub (5F 5F 70 69 63 73 79 6D 62 6F 6C 5F 73 74 75 62) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x8 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x1A +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 11 +// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 12 +// CHECK: Name: __static_data (5F 5F 73 74 61 74 69 63 5F 64 61 74 61 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 13 +// CHECK: Name: __nl_symbol_ptr (5F 5F 6E 6C 5F 73 79 6D 62 6F 6C 5F 70 74 72 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x6 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 14 +// CHECK: Name: __la_symbol_ptr (5F 5F 6C 61 5F 73 79 6D 62 6F 6C 5F 70 74 72 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x7 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 15 +// CHECK: Name: __dyld (5F 5F 64 79 6C 64 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 16 +// CHECK: Name: __mod_init_func (5F 5F 6D 6F 64 5F 69 6E 69 74 5F 66 75 6E 63 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x9 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 17 +// CHECK: Name: __mod_term_func (5F 5F 6D 6F 64 5F 74 65 72 6D 5F 66 75 6E 63 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0xA +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 18 +// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 19 +// CHECK: Name: __class (5F 5F 63 6C 61 73 73 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 20 +// CHECK: Name: __meta_class (5F 5F 6D 65 74 61 5F 63 6C 61 73 73 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 21 +// CHECK: Name: __cat_cls_meth (5F 5F 63 61 74 5F 63 6C 73 5F 6D 65 74 68 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 22 +// CHECK: Name: __cat_inst_meth (5F 5F 63 61 74 5F 69 6E 73 74 5F 6D 65 74 68 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 23 +// CHECK: Name: __protocol (5F 5F 70 72 6F 74 6F 63 6F 6C 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 24 +// CHECK: Name: __string_object (5F 5F 73 74 72 69 6E 67 5F 6F 62 6A 65 63 74 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 25 +// CHECK: Name: __cls_meth (5F 5F 63 6C 73 5F 6D 65 74 68 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 26 +// CHECK: Name: __inst_meth (5F 5F 69 6E 73 74 5F 6D 65 74 68 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 27 +// CHECK: Name: __cls_refs (5F 5F 63 6C 73 5F 72 65 66 73 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x5 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 28 +// CHECK: Name: __message_refs (5F 5F 6D 65 73 73 61 67 65 5F 72 65 66 73 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x5 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 29 +// CHECK: Name: __symbols (5F 5F 73 79 6D 62 6F 6C 73 00 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 30 +// CHECK: Name: __category (5F 5F 63 61 74 65 67 6F 72 79 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 31 +// CHECK: Name: __class_vars (5F 5F 63 6C 61 73 73 5F 76 61 72 73 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 32 +// CHECK: Name: __instance_vars (5F 5F 69 6E 73 74 61 6E 63 65 5F 76 61 72 73 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 33 +// CHECK: Name: __module_info (5F 5F 6D 6F 64 75 6C 65 5F 69 6E 66 6F 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 34 +// CHECK: Name: __selector_strs (5F 5F 73 65 6C 65 63 74 6F 72 5F 73 74 72 73 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: ExtReloc (0x2) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 35 +// CHECK: Name: __picsymbolstub4 (5F 5F 70 69 63 73 79 6D 62 6F 6C 73 74 75 62 34) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2652 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x8 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x10 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: ] +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: D0 (136) +// CHECK: Type: Section (0xE) +// CHECK: Section: __text (0x1) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D1 (121) +// CHECK: Type: Section (0xE) +// CHECK: Section: __text (0x1) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D2 (106) +// CHECK: Type: Section (0xE) +// CHECK: Section: __const (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D3 (91) +// CHECK: Type: Section (0xE) +// CHECK: Section: __static_const (0x3) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D4 (76) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cstring (0x4) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D5 (61) +// CHECK: Type: Section (0xE) +// CHECK: Section: __literal4 (0x5) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D6 (46) +// CHECK: Type: Section (0xE) +// CHECK: Section: __literal8 (0x6) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D7 (31) +// CHECK: Type: Section (0xE) +// CHECK: Section: __literal16 (0x7) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D8 (16) +// CHECK: Type: Section (0xE) +// CHECK: Section: __constructor (0x8) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D9 (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __destructor (0x9) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D10 (147) +// CHECK: Type: Section (0xE) +// CHECK: Section: __symbol_stub (0xA) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D11 (132) +// CHECK: Type: Section (0xE) +// CHECK: Section: __picsymbol_stub (0xB) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D12 (117) +// CHECK: Type: Section (0xE) +// CHECK: Section: __data (0xC) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D13 (102) +// CHECK: Type: Section (0xE) +// CHECK: Section: __static_data (0xD) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D14 (87) +// CHECK: Type: Section (0xE) +// CHECK: Section: __nl_symbol_ptr (0xE) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D15 (72) +// CHECK: Type: Section (0xE) +// CHECK: Section: __la_symbol_ptr (0xF) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D16 (57) +// CHECK: Type: Section (0xE) +// CHECK: Section: __dyld (0x10) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D17 (42) +// CHECK: Type: Section (0xE) +// CHECK: Section: __mod_init_func (0x11) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D18 (27) +// CHECK: Type: Section (0xE) +// CHECK: Section: __mod_term_func (0x12) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D19 (12) +// CHECK: Type: Section (0xE) +// CHECK: Section: __const (0x13) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D20 (143) +// CHECK: Type: Section (0xE) +// CHECK: Section: __class (0x14) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D21 (128) +// CHECK: Type: Section (0xE) +// CHECK: Section: __meta_class (0x15) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D22 (113) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cat_cls_meth (0x16) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D23 (98) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cat_inst_meth (0x17) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D24 (83) +// CHECK: Type: Section (0xE) +// CHECK: Section: __protocol (0x18) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D25 (68) +// CHECK: Type: Section (0xE) +// CHECK: Section: __string_object (0x19) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D26 (53) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cls_meth (0x1A) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D27 (38) +// CHECK: Type: Section (0xE) +// CHECK: Section: __inst_meth (0x1B) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D28 (23) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cls_refs (0x1C) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D29 (8) +// CHECK: Type: Section (0xE) +// CHECK: Section: __message_refs (0x1D) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D30 (139) +// CHECK: Type: Section (0xE) +// CHECK: Section: __symbols (0x1E) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D31 (124) +// CHECK: Type: Section (0xE) +// CHECK: Section: __category (0x1F) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D32 (109) +// CHECK: Type: Section (0xE) +// CHECK: Section: __class_vars (0x20) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D33 (94) +// CHECK: Type: Section (0xE) +// CHECK: Section: __instance_vars (0x21) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D34 (79) +// CHECK: Type: Section (0xE) +// CHECK: Section: __module_info (0x22) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D35 (64) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cstring (0x4) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D36 (49) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cstring (0x4) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D37 (34) +// CHECK: Type: Section (0xE) +// CHECK: Section: __cstring (0x4) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D38 (19) +// CHECK: Type: Section (0xE) +// CHECK: Section: __selector_strs (0x23) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: D39 (4) +// CHECK: Type: Section (0xE) +// CHECK: Section: __picsymbolstub4 (0x24) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: ] +// CHECK: Indirect Symbols { +// CHECK: Number: 0 +// CHECK: Symbols [ +// CHECK: ] +// CHECK: } +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT +// CHECK: Name: +// CHECK: Size: 2504 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0x0 +// CHECK: fileoff: 2652 +// CHECK: filesize: 0 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 36 +// CHECK: flags: 0x0 +// CHECK: } +// CHECK: Dysymtab { +// CHECK: ilocalsym: 0 +// CHECK: nlocalsym: 40 +// CHECK: iextdefsym: 40 +// CHECK: nextdefsym: 0 +// CHECK: iundefsym: 40 +// CHECK: nundefsym: 0 +// CHECK: tocoff: 0 +// CHECK: ntoc: 0 +// CHECK: modtaboff: 0 +// CHECK: nmodtab: 0 +// CHECK: extrefsymoff: 0 +// CHECK: nextrefsyms: 0 +// CHECK: indirectsymoff: 0 +// CHECK: nindirectsyms: 0 +// CHECK: extreloff: 0 +// CHECK: nextrel: 0 +// CHECK: locreloff: 0 +// CHECK: nlocrel: 0 +// CHECK: } diff --git a/test/MC/MachO/x86_64-reloc-arithmetic.s b/test/MC/MachO/x86_64-reloc-arithmetic.s index e82f69b6d47..de524791faa 100644 --- a/test/MC/MachO/x86_64-reloc-arithmetic.s +++ b/test/MC/MachO/x86_64-reloc-arithmetic.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj -r -t | FileCheck %s // rdar://9906375 .org 0x100 @@ -7,15 +7,31 @@ _bar = _foo + 2 _baz: leaq _bar(%rip), %rcx -// CHECK: ('_relocations', [ -// CHECK-NEXT: # Relocation 0 -// CHECK-NEXT: (('word-0', 0x103), -// CHECK-NEXT: ('word-1', 0x1d000001)) - -// CHECK: # Symbol 1 -// CHECK-NEXT: (('n_strx', 6) -// CHECK-NEXT: ('n_type', 0xe) -// CHECK-NEXT: ('n_sect', 1) -// CHECK-NEXT: ('n_desc', 0) -// CHECK-NEXT: ('n_value', 258) -// CHECK-NEXT: ('_string', '_bar') +// CHECK: File: +// CHECK-NEXT: Format: Mach-O 64-bit x86-64 +// CHECK-NEXT: Arch: x86_64 +// CHECK-NEXT: AddressSize: 64bit +// CHECK-NEXT: Relocations [ +// CHECK-NEXT: Section __text { +// CHECK-NEXT: 0x103 1 2 1 X86_64_RELOC_SIGNED 0 _bar +// CHECK-NEXT: } +// CHECK-NEXT: ] +// CHECK-NEXT: Symbols [ +// CHECK-NEXT: Symbol { +// CHECK-NEXT: Name: _foo (11) +// CHECK-NEXT: Type: Section (0xE) +// CHECK-NEXT: Section: __text (0x1) +// CHECK-NEXT: RefType: UndefinedNonLazy (0x0) +// CHECK-NEXT: Flags [ (0x0) +// CHECK-NEXT: ] +// CHECK-NEXT: Value: 0x100 +// CHECK-NEXT: } +// CHECK-NEXT: Symbol { +// CHECK-NEXT: Name: _bar (6) +// CHECK-NEXT: Type: Section (0xE) +// CHECK-NEXT: Section: __text (0x1) +// CHECK-NEXT: RefType: UndefinedNonLazy (0x0) +// CHECK-NEXT: Flags [ (0x0) +// CHECK-NEXT: ] +// CHECK-NEXT: Value: 0x102 +// CHECK-NEXT: } diff --git a/test/MC/MachO/x86_64-sections.s b/test/MC/MachO/x86_64-sections.s index 4f7c210b764..5ca83257f30 100644 --- a/test/MC/MachO/x86_64-sections.s +++ b/test/MC/MachO/x86_64-sections.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r --macho-segment | FileCheck %s .text .section __TEXT,__text,regular,pure_instructions @@ -39,523 +39,641 @@ .subsections_via_symbols -// CHECK: ('cputype', 16777223) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 2) -// CHECK: ('load_commands_size', 2568) -// CHECK: ('flag', 8192) -// CHECK: ('reserved', 0) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 25) -// CHECK: ('size', 2552) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 0) -// CHECK: ('file_offset', 2600) -// CHECK: ('file_size', 0) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 31) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 1 -// CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 2 -// CHECK: (('section_name', '__static_const\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 3 -// CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x2) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 4 -// CHECK: (('section_name', '__literal4\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x3) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 5 -// CHECK: (('section_name', '__literal8\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 3) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x4) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 6 -// CHECK: (('section_name', '__literal16\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 4) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0xe) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 7 -// CHECK: (('section_name', '__constructor\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 8 -// CHECK: (('section_name', '__destructor\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 9 -// CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 10 -// CHECK: (('section_name', '__static_data\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 11 -// CHECK: (('section_name', '__dyld\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 12 -// CHECK: (('section_name', '__mod_init_func\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x9) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 13 -// CHECK: (('section_name', '__mod_term_func\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0xa) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 14 -// CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 15 -// CHECK: (('section_name', '__class\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 16 -// CHECK: (('section_name', '__meta_class\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 17 -// CHECK: (('section_name', '__cat_cls_meth\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 18 -// CHECK: (('section_name', '__cat_inst_meth\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 19 -// CHECK: (('section_name', '__protocol\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 20 -// CHECK: (('section_name', '__string_object\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 21 -// CHECK: (('section_name', '__cls_meth\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 22 -// CHECK: (('section_name', '__inst_meth\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 23 -// CHECK: (('section_name', '__cls_refs\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000005) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 24 -// CHECK: (('section_name', '__message_refs\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 2) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000005) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 25 -// CHECK: (('section_name', '__symbols\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 26 -// CHECK: (('section_name', '__category\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 27 -// CHECK: (('section_name', '__class_vars\x00\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 28 -// CHECK: (('section_name', '__instance_vars\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 29 -// CHECK: (('section_name', '__module_info\x00\x00\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x10000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 30 -// CHECK: (('section_name', '__selector_strs\x00') -// CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 2600) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x2) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ]) -// CHECK: ), -// CHECK: ]) +// CHECK: File: +// CHECK: Format: Mach-O 64-bit x86-64 +// CHECK: Arch: x86_64 +// CHECK: AddressSize: 64bit +// CHECK: MachHeader { +// CHECK: Magic: Magic64 (0xFEEDFACF) +// CHECK: CpuType: X86-64 (0x1000007) +// CHECK: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 2 +// CHECK: SizeOfLoadCommands: 2568 +// CHECK: Flags [ (0x2000) +// CHECK: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000) +// CHECK: ] +// CHECK: Reserved: 0x0 +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 2 +// CHECK: Name: __static_const (5F 5F 73 74 61 74 69 63 5F 63 6F 6E 73 74 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 3 +// CHECK: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: ExtReloc (0x2) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 4 +// CHECK: Name: __literal4 (5F 5F 6C 69 74 65 72 61 6C 34 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x3 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 5 +// CHECK: Name: __literal8 (5F 5F 6C 69 74 65 72 61 6C 38 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 3 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: SomeInstructions (0x4) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 6 +// CHECK: Name: __literal16 (5F 5F 6C 69 74 65 72 61 6C 31 36 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 4 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0xE +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 7 +// CHECK: Name: __constructor (5F 5F 63 6F 6E 73 74 72 75 63 74 6F 72 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 8 +// CHECK: Name: __destructor (5F 5F 64 65 73 74 72 75 63 74 6F 72 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 9 +// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 10 +// CHECK: Name: __static_data (5F 5F 73 74 61 74 69 63 5F 64 61 74 61 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 11 +// CHECK: Name: __dyld (5F 5F 64 79 6C 64 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 12 +// CHECK: Name: __mod_init_func (5F 5F 6D 6F 64 5F 69 6E 69 74 5F 66 75 6E 63 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x9 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 13 +// CHECK: Name: __mod_term_func (5F 5F 6D 6F 64 5F 74 65 72 6D 5F 66 75 6E 63 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0xA +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 14 +// CHECK: Name: __const (5F 5F 63 6F 6E 73 74 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 15 +// CHECK: Name: __class (5F 5F 63 6C 61 73 73 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 16 +// CHECK: Name: __meta_class (5F 5F 6D 65 74 61 5F 63 6C 61 73 73 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 17 +// CHECK: Name: __cat_cls_meth (5F 5F 63 61 74 5F 63 6C 73 5F 6D 65 74 68 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 18 +// CHECK: Name: __cat_inst_meth (5F 5F 63 61 74 5F 69 6E 73 74 5F 6D 65 74 68 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 19 +// CHECK: Name: __protocol (5F 5F 70 72 6F 74 6F 63 6F 6C 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 20 +// CHECK: Name: __string_object (5F 5F 73 74 72 69 6E 67 5F 6F 62 6A 65 63 74 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 21 +// CHECK: Name: __cls_meth (5F 5F 63 6C 73 5F 6D 65 74 68 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 22 +// CHECK: Name: __inst_meth (5F 5F 69 6E 73 74 5F 6D 65 74 68 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 23 +// CHECK: Name: __cls_refs (5F 5F 63 6C 73 5F 72 65 66 73 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x5 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 24 +// CHECK: Name: __message_refs (5F 5F 6D 65 73 73 61 67 65 5F 72 65 66 73 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 2 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x5 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 25 +// CHECK: Name: __symbols (5F 5F 73 79 6D 62 6F 6C 73 00 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 26 +// CHECK: Name: __category (5F 5F 63 61 74 65 67 6F 72 79 00 00 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 27 +// CHECK: Name: __class_vars (5F 5F 63 6C 61 73 73 5F 76 61 72 73 00 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 28 +// CHECK: Name: __instance_vars (5F 5F 69 6E 73 74 61 6E 63 65 5F 76 61 72 73 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 29 +// CHECK: Name: __module_info (5F 5F 6D 6F 64 75 6C 65 5F 69 6E 66 6F 00 00 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x100000) +// CHECK: NoDeadStrip (0x100000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 30 +// CHECK: Name: __selector_strs (5F 5F 73 65 6C 65 63 74 6F 72 5F 73 74 72 73 00) +// CHECK: Segment: __OBJC (5F 5F 4F 42 4A 43 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 2600 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: ExtReloc (0x2) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: ] +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT_64 +// CHECK: Name: +// CHECK: Size: 2552 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0x0 +// CHECK: fileoff: 2600 +// CHECK: filesize: 0 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 31 +// CHECK: flags: 0x0 +// CHECK: } diff --git a/test/MC/MachO/zerofill-1.s b/test/MC/MachO/zerofill-1.s index 8df9c6fa8e1..c3de2ebbf79 100644 --- a/test/MC/MachO/zerofill-1.s +++ b/test/MC/MachO/zerofill-1.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t --macho-segment --macho-dysymtab --macho-indirect-symbols | FileCheck %s .text .byte 0 // Align to 2**3 bytes, not 2**1 @@ -8,114 +8,124 @@ .data .align 3 -// CHECK: ('cputype', 7) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 4) -// CHECK: ('load_commands_size', 380) -// CHECK: ('flag', 0) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 1) -// CHECK: ('size', 260) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 10) -// CHECK: ('file_offset', 408) -// CHECK: ('file_size', 8) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 3) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 1) -// CHECK: ('offset', 408) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 1 -// CHECK: (('section_name', '__common\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 8) -// CHECK: ('size', 2) -// CHECK: ('offset', 0) -// CHECK: ('alignment', 1) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x1) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 2 -// CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 8) -// CHECK: ('size', 0) -// CHECK: ('offset', 416) -// CHECK: ('alignment', 3) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x0) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 2 -// CHECK: (('command', 2) -// CHECK: ('size', 24) -// CHECK: ('symoff', 416) -// CHECK: ('nsyms', 1) -// CHECK: ('stroff', 428) -// CHECK: ('strsize', 8) -// CHECK: ('_string_data', '\x00zfill\x00\x00') -// CHECK: ('_symbols', [ -// CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 8) -// CHECK: ('_string', 'zfill') -// CHECK: ), -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 3 -// CHECK: (('command', 11) -// CHECK: ('size', 80) -// CHECK: ('ilocalsym', 0) -// CHECK: ('nlocalsym', 1) -// CHECK: ('iextdefsym', 1) -// CHECK: ('nextdefsym', 0) -// CHECK: ('iundefsym', 1) -// CHECK: ('nundefsym', 0) -// CHECK: ('tocoff', 0) -// CHECK: ('ntoc', 0) -// CHECK: ('modtaboff', 0) -// CHECK: ('nmodtab', 0) -// CHECK: ('extrefsymoff', 0) -// CHECK: ('nextrefsyms', 0) -// CHECK: ('indirectsymoff', 0) -// CHECK: ('nindirectsyms', 0) -// CHECK: ('extreloff', 0) -// CHECK: ('nextrel', 0) -// CHECK: ('locreloff', 0) -// CHECK: ('nlocrel', 0) -// CHECK: ('_indirect_symbols', [ -// CHECK: ]) -// CHECK: ), -// CHECK: ]) +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: MachHeader { +// CHECK: Magic: Magic (0xFEEDFACE) +// CHECK: CpuType: X86 (0x7) +// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 4 +// CHECK: SizeOfLoadCommands: 380 +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x1 +// CHECK: Offset: 408 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: 00 |.| +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __common (5F 5F 63 6F 6D 6D 6F 6E 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x8 +// CHECK: Size: 0x2 +// CHECK: Offset: 0 +// CHECK: Alignment: 1 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: LocReloc (0x1) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: } +// CHECK: Section { +// CHECK: Index: 2 +// CHECK: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x8 +// CHECK: Size: 0x0 +// CHECK: Offset: 416 +// CHECK: Alignment: 3 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: ] +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: zfill (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __common (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x8 +// CHECK: } +// CHECK: ] +// CHECK: Indirect Symbols { +// CHECK: Number: 0 +// CHECK: Symbols [ +// CHECK: ] +// CHECK: } +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT +// CHECK: Name: +// CHECK: Size: 260 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0xA +// CHECK: fileoff: 408 +// CHECK: filesize: 8 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 3 +// CHECK: flags: 0x0 +// CHECK: } +// CHECK: Dysymtab { +// CHECK: ilocalsym: 0 +// CHECK: nlocalsym: 1 +// CHECK: iextdefsym: 1 +// CHECK: nextdefsym: 0 +// CHECK: iundefsym: 1 +// CHECK: nundefsym: 0 +// CHECK: tocoff: 0 +// CHECK: ntoc: 0 +// CHECK: modtaboff: 0 +// CHECK: nmodtab: 0 +// CHECK: extrefsymoff: 0 +// CHECK: nextrefsyms: 0 +// CHECK: indirectsymoff: 0 +// CHECK: nindirectsyms: 0 +// CHECK: extreloff: 0 +// CHECK: nextrel: 0 +// CHECK: locreloff: 0 +// CHECK: nlocrel: 0 +// CHECK: } diff --git a/test/MC/MachO/zerofill-2.s b/test/MC/MachO/zerofill-2.s index bc1832c979a..e2e2dfac6fe 100644 --- a/test/MC/MachO/zerofill-2.s +++ b/test/MC/MachO/zerofill-2.s @@ -1,103 +1,110 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t --macho-segment --macho-dysymtab --macho-indirect-symbols | FileCheck %s .byte 0 // This file has size 2, the tail padding doesn't count. .zerofill __DATA, __bss, sym_a, 1 -// CHECK: ('cputype', 7) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 4) -// CHECK: ('load_commands_size', 312) -// CHECK: ('flag', 0) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 1) -// CHECK: ('size', 192) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 2) -// CHECK: ('file_offset', 340) -// CHECK: ('file_size', 1) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 2) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 1) -// CHECK: ('offset', 340) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 1 -// CHECK: (('section_name', '__bss\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 1) -// CHECK: ('size', 1) -// CHECK: ('offset', 0) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x1) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 2 -// CHECK: (('command', 2) -// CHECK: ('size', 24) -// CHECK: ('symoff', 344) -// CHECK: ('nsyms', 1) -// CHECK: ('stroff', 356) -// CHECK: ('strsize', 8) -// CHECK: ('_string_data', '\x00sym_a\x00\x00') -// CHECK: ('_symbols', [ -// CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 1) -// CHECK: ('_string', 'sym_a') -// CHECK: ), -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 3 -// CHECK: (('command', 11) -// CHECK: ('size', 80) -// CHECK: ('ilocalsym', 0) -// CHECK: ('nlocalsym', 1) -// CHECK: ('iextdefsym', 1) -// CHECK: ('nextdefsym', 0) -// CHECK: ('iundefsym', 1) -// CHECK: ('nundefsym', 0) -// CHECK: ('tocoff', 0) -// CHECK: ('ntoc', 0) -// CHECK: ('modtaboff', 0) -// CHECK: ('nmodtab', 0) -// CHECK: ('extrefsymoff', 0) -// CHECK: ('nextrefsyms', 0) -// CHECK: ('indirectsymoff', 0) -// CHECK: ('nindirectsyms', 0) -// CHECK: ('extreloff', 0) -// CHECK: ('nextrel', 0) -// CHECK: ('locreloff', 0) -// CHECK: ('nlocrel', 0) -// CHECK: ('_indirect_symbols', [ -// CHECK: ]) -// CHECK: ), -// CHECK: ]) +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: MachHeader { +// CHECK: Magic: Magic (0xFEEDFACE) +// CHECK: CpuType: X86 (0x7) +// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 4 +// CHECK: SizeOfLoadCommands: 312 +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x1 +// CHECK: Offset: 340 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: 00 |.| +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __bss (5F 5F 62 73 73 00 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x1 +// CHECK: Size: 0x1 +// CHECK: Offset: 0 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: LocReloc (0x1) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: ] +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: sym_a (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x1 +// CHECK: } +// CHECK: ] +// CHECK: Indirect Symbols { +// CHECK: Number: 0 +// CHECK: Symbols [ +// CHECK: ] +// CHECK: } +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT +// CHECK: Name: +// CHECK: Size: 192 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0x2 +// CHECK: fileoff: 340 +// CHECK: filesize: 1 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 2 +// CHECK: flags: 0x0 +// CHECK: } +// CHECK: Dysymtab { +// CHECK: ilocalsym: 0 +// CHECK: nlocalsym: 1 +// CHECK: iextdefsym: 1 +// CHECK: nextdefsym: 0 +// CHECK: iundefsym: 1 +// CHECK: nundefsym: 0 +// CHECK: tocoff: 0 +// CHECK: ntoc: 0 +// CHECK: modtaboff: 0 +// CHECK: nmodtab: 0 +// CHECK: extrefsymoff: 0 +// CHECK: nextrefsyms: 0 +// CHECK: indirectsymoff: 0 +// CHECK: nindirectsyms: 0 +// CHECK: extreloff: 0 +// CHECK: nextrel: 0 +// CHECK: locreloff: 0 +// CHECK: nlocrel: 0 +// CHECK: } diff --git a/test/MC/MachO/zerofill-3.s b/test/MC/MachO/zerofill-3.s index 9b5a60e1bdf..2e4ff278132 100644 --- a/test/MC/MachO/zerofill-3.s +++ b/test/MC/MachO/zerofill-3.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t --macho-segment --macho-dysymtab --macho-indirect-symbols | FileCheck %s // FIXME: We don't get the order right currently, the assembler first // orders the symbols, then assigns addresses. :( @@ -19,123 +19,134 @@ .lcomm sym_lcomm_B, 4 .endif -// CHECK: ('cputype', 7) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 4) -// CHECK: ('load_commands_size', 312) -// CHECK: ('flag', 0) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 1) -// CHECK: ('size', 192) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 16) -// CHECK: ('file_offset', 340) -// CHECK: ('file_size', 0) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 2) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 0) -// CHECK: ('offset', 340) -// CHECK: ('alignment', 0) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: # Section 1 -// CHECK: (('section_name', '__bss\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 16) -// CHECK: ('offset', 0) -// CHECK: ('alignment', 4) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x1) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 2 -// CHECK: (('command', 2) -// CHECK: ('size', 24) -// CHECK: ('symoff', 340) -// CHECK: ('nsyms', 4) -// CHECK: ('stroff', 388) -// CHECK: ('strsize', 52) -// CHECK: ('_string_data', '\x00sym_lcomm_D\x00sym_lcomm_C\x00sym_lcomm_B\x00sym_lcomm_A\x00\x00\x00\x00') -// CHECK: ('_symbols', [ -// CHECK: # Symbol 0 -// CHECK: (('n_strx', 37) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 8) -// CHECK: ('_string', 'sym_lcomm_A') -// CHECK: ), -// CHECK: # Symbol 1 -// CHECK: (('n_strx', 25) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 12) -// CHECK: ('_string', 'sym_lcomm_B') -// CHECK: ), -// CHECK: # Symbol 2 -// CHECK: (('n_strx', 13) -// CHECK: ('n_type', 0xf) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 0) -// CHECK: ('_string', 'sym_lcomm_C') -// CHECK: ), -// CHECK: # Symbol 3 -// CHECK: (('n_strx', 1) -// CHECK: ('n_type', 0xf) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 4) -// CHECK: ('_string', 'sym_lcomm_D') -// CHECK: ), -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 3 -// CHECK: (('command', 11) -// CHECK: ('size', 80) -// CHECK: ('ilocalsym', 0) -// CHECK: ('nlocalsym', 2) -// CHECK: ('iextdefsym', 2) -// CHECK: ('nextdefsym', 2) -// CHECK: ('iundefsym', 4) -// CHECK: ('nundefsym', 0) -// CHECK: ('tocoff', 0) -// CHECK: ('ntoc', 0) -// CHECK: ('modtaboff', 0) -// CHECK: ('nmodtab', 0) -// CHECK: ('extrefsymoff', 0) -// CHECK: ('nextrefsyms', 0) -// CHECK: ('indirectsymoff', 0) -// CHECK: ('nindirectsyms', 0) -// CHECK: ('extreloff', 0) -// CHECK: ('nextrel', 0) -// CHECK: ('locreloff', 0) -// CHECK: ('nlocrel', 0) -// CHECK: ('_indirect_symbols', [ -// CHECK: ]) -// CHECK: ), -// CHECK: ]) +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: MachHeader { +// CHECK: Magic: Magic (0xFEEDFACE) +// CHECK: CpuType: X86 (0x7) +// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 4 +// CHECK: SizeOfLoadCommands: 312 +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x0 +// CHECK: Offset: 340 +// CHECK: Alignment: 0 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: SectionData ( +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __bss (5F 5F 62 73 73 00 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x10 +// CHECK: Offset: 0 +// CHECK: Alignment: 4 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: LocReloc (0x1) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: ] +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: sym_lcomm_A (37) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x8 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: sym_lcomm_B (25) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0xC +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: sym_lcomm_C (13) +// CHECK: Extern +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: sym_lcomm_D (1) +// CHECK: Extern +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x4 +// CHECK: } +// CHECK: ] +// CHECK: Indirect Symbols { +// CHECK: Number: 0 +// CHECK: Symbols [ +// CHECK: ] +// CHECK: } +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT +// CHECK: Name: +// CHECK: Size: 192 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0x10 +// CHECK: fileoff: 340 +// CHECK: filesize: 0 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 2 +// CHECK: flags: 0x0 +// CHECK: } +// CHECK: Dysymtab { +// CHECK: ilocalsym: 0 +// CHECK: nlocalsym: 2 +// CHECK: iextdefsym: 2 +// CHECK: nextdefsym: 2 +// CHECK: iundefsym: 4 +// CHECK: nundefsym: 0 +// CHECK: tocoff: 0 +// CHECK: ntoc: 0 +// CHECK: modtaboff: 0 +// CHECK: nmodtab: 0 +// CHECK: extrefsymoff: 0 +// CHECK: nextrefsyms: 0 +// CHECK: indirectsymoff: 0 +// CHECK: nindirectsyms: 0 +// CHECK: extreloff: 0 +// CHECK: nextrel: 0 +// CHECK: locreloff: 0 +// CHECK: nlocrel: 0 +// CHECK: } diff --git a/test/MC/MachO/zerofill-4.s b/test/MC/MachO/zerofill-4.s index d9c987c9b65..b99e6289691 100644 --- a/test/MC/MachO/zerofill-4.s +++ b/test/MC/MachO/zerofill-4.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -t | FileCheck %s .zerofill __DATA,__bss,_fill0,1,0 .zerofill __DATA,__bss,_a,4,2 @@ -9,27 +9,81 @@ .zerofill __DATA,__bss,_fill3,1,0 .zerofill __DATA,__bss,_d,4,5 -// CHECK: # Symbol 0 -// CHECK: ('n_value', 0) -// CHECK: ('_string', '_fill0') -// CHECK: # Symbol 1 -// CHECK: ('n_value', 4) -// CHECK: ('_string', '_a') -// CHECK: # Symbol 2 -// CHECK: ('n_value', 8) -// CHECK: ('_string', '_fill1') -// CHECK: # Symbol 3 -// CHECK: ('n_value', 16) -// CHECK: ('_string', '_b') -// CHECK: # Symbol 4 -// CHECK: ('n_value', 20) -// CHECK: ('_string', '_fill2') -// CHECK: # Symbol 5 -// CHECK: ('n_value', 32) -// CHECK: ('_string', '_c') -// CHECK: # Symbol 6 -// CHECK: ('n_value', 36) -// CHECK: ('_string', '_fill3') -// CHECK: # Symbol 7 -// CHECK: ('n_value', 64) -// CHECK: ('_string', '_d') +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: _fill0 (34) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x0 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _a (10) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x4 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _fill1 (27) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x8 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _b (7) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x10 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _fill2 (20) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x14 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _c (4) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x20 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _fill3 (13) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x24 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _d (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x40 +// CHECK: } +// CHECK: ] diff --git a/test/MC/MachO/zerofill-5.s b/test/MC/MachO/zerofill-5.s index e028821294d..b688e6b0692 100644 --- a/test/MC/MachO/zerofill-5.s +++ b/test/MC/MachO/zerofill-5.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s +// RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -file-headers -s -sd -r -t --macho-segment --macho-dysymtab --macho-indirect-symbols | FileCheck %s .text .align 3 @@ -6,104 +6,109 @@ .zerofill __DATA,__bss,_g0,8,3 -// CHECK: ('cputype', 16777223) -// CHECK: ('cpusubtype', 3) -// CHECK: ('filetype', 1) -// CHECK: ('num_load_commands', 4) -// CHECK: ('load_commands_size', 352) -// CHECK: ('flag', 0) -// CHECK: ('reserved', 0) -// CHECK: ('load_commands', [ -// CHECK: # Load Command 0 -// CHECK: (('command', 25) -// CHECK: ('size', 232) -// CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('vm_addr', 0) -// CHECK: ('vm_size', 16) -// CHECK: ('file_offset', 384) -// CHECK: ('file_size', 4) -// CHECK: ('maxprot', 7) -// CHECK: ('initprot', 7) -// CHECK: ('num_sections', 2) -// CHECK: ('flags', 0) -// CHECK: ('sections', [ -// CHECK: # Section 0 -// CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 0) -// CHECK: ('size', 4) -// CHECK: ('offset', 384) -// CHECK: ('alignment', 3) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x80000000) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ('_section_data', '02000000') -// CHECK: # Section 1 -// CHECK: (('section_name', '__bss\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') -// CHECK: ('address', 8) -// CHECK: ('size', 8) -// CHECK: ('offset', 0) -// CHECK: ('alignment', 3) -// CHECK: ('reloc_offset', 0) -// CHECK: ('num_reloc', 0) -// CHECK: ('flags', 0x1) -// CHECK: ('reserved1', 0) -// CHECK: ('reserved2', 0) -// CHECK: ('reserved3', 0) -// CHECK: ), -// CHECK: ('_relocations', [ -// CHECK: ]) -// CHECK: ('_section_data', 'cffaedfe 07000001') -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 2 -// CHECK: (('command', 2) -// CHECK: ('size', 24) -// CHECK: ('symoff', 388) -// CHECK: ('nsyms', 1) -// CHECK: ('stroff', 404) -// CHECK: ('strsize', 8) -// CHECK: ('_string_data', '\x00_g0\x00\x00\x00\x00') -// CHECK: ('_symbols', [ -// CHECK: # Symbol 0 -// CHECK: (('n_strx', 1) -// CHECK: ('n_type', 0xe) -// CHECK: ('n_sect', 2) -// CHECK: ('n_desc', 0) -// CHECK: ('n_value', 8) -// CHECK: ('_string', '_g0') -// CHECK: ), -// CHECK: ]) -// CHECK: ), -// CHECK: # Load Command 3 -// CHECK: (('command', 11) -// CHECK: ('size', 80) -// CHECK: ('ilocalsym', 0) -// CHECK: ('nlocalsym', 1) -// CHECK: ('iextdefsym', 1) -// CHECK: ('nextdefsym', 0) -// CHECK: ('iundefsym', 1) -// CHECK: ('nundefsym', 0) -// CHECK: ('tocoff', 0) -// CHECK: ('ntoc', 0) -// CHECK: ('modtaboff', 0) -// CHECK: ('nmodtab', 0) -// CHECK: ('extrefsymoff', 0) -// CHECK: ('nextrefsyms', 0) -// CHECK: ('indirectsymoff', 0) -// CHECK: ('nindirectsyms', 0) -// CHECK: ('extreloff', 0) -// CHECK: ('nextrel', 0) -// CHECK: ('locreloff', 0) -// CHECK: ('nlocrel', 0) -// CHECK: ('_indirect_symbols', [ -// CHECK: ]) -// CHECK: ), -// CHECK: ]) +// CHECK: File: +// CHECK: Format: Mach-O 64-bit x86-64 +// CHECK: Arch: x86_64 +// CHECK: AddressSize: 64bit +// CHECK: MachHeader { +// CHECK: Magic: Magic64 (0xFEEDFACF) +// CHECK: CpuType: X86-64 (0x1000007) +// CHECK: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3) +// CHECK: FileType: Relocatable (0x1) +// CHECK: NumOfLoadCommands: 4 +// CHECK: SizeOfLoadCommands: 352 +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Reserved: 0x0 +// CHECK: } +// CHECK: Sections [ +// CHECK: Section { +// CHECK: Index: 0 +// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x0 +// CHECK: Size: 0x4 +// CHECK: Offset: 384 +// CHECK: Alignment: 3 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: 0x0 +// CHECK: Attributes [ (0x800000) +// CHECK: PureInstructions (0x800000) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: SectionData ( +// CHECK: 0000: 02000000 |....| +// CHECK: ) +// CHECK: } +// CHECK: Section { +// CHECK: Index: 1 +// CHECK: Name: __bss (5F 5F 62 73 73 00 00 00 00 00 00 00 00 00 00 00) +// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00) +// CHECK: Address: 0x8 +// CHECK: Size: 0x8 +// CHECK: Offset: 0 +// CHECK: Alignment: 3 +// CHECK: RelocationOffset: 0x0 +// CHECK: RelocationCount: 0 +// CHECK: Type: LocReloc (0x1) +// CHECK: Attributes [ (0x0) +// CHECK: ] +// CHECK: Reserved1: 0x0 +// CHECK: Reserved2: 0x0 +// CHECK: Reserved3: 0x0 +// CHECK: } +// CHECK: ] +// CHECK: Relocations [ +// CHECK: ] +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: _g0 (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x8 +// CHECK: } +// CHECK: ] +// CHECK: Indirect Symbols { +// CHECK: Number: 0 +// CHECK: Symbols [ +// CHECK: ] +// CHECK: } +// CHECK: Segment { +// CHECK: Cmd: LC_SEGMENT_64 +// CHECK: Name: +// CHECK: Size: 232 +// CHECK: vmaddr: 0x0 +// CHECK: vmsize: 0x10 +// CHECK: fileoff: 384 +// CHECK: filesize: 4 +// CHECK: maxprot: rwx +// CHECK: initprot: rwx +// CHECK: nsects: 2 +// CHECK: flags: 0x0 +// CHECK: } +// CHECK: Dysymtab { +// CHECK: ilocalsym: 0 +// CHECK: nlocalsym: 1 +// CHECK: iextdefsym: 1 +// CHECK: nextdefsym: 0 +// CHECK: iundefsym: 1 +// CHECK: nundefsym: 0 +// CHECK: tocoff: 0 +// CHECK: ntoc: 0 +// CHECK: modtaboff: 0 +// CHECK: nmodtab: 0 +// CHECK: extrefsymoff: 0 +// CHECK: nextrefsyms: 0 +// CHECK: indirectsymoff: 0 +// CHECK: nindirectsyms: 0 +// CHECK: extreloff: 0 +// CHECK: nextrel: 0 +// CHECK: locreloff: 0 +// CHECK: nlocrel: 0 +// CHECK: } diff --git a/test/MC/MachO/zerofill-sect-align.s b/test/MC/MachO/zerofill-sect-align.s index 5d7730f439e..d950b7f103c 100644 --- a/test/MC/MachO/zerofill-sect-align.s +++ b/test/MC/MachO/zerofill-sect-align.s @@ -1,4 +1,4 @@ -// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s +// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj -t | FileCheck %s // // Check that the section itself is aligned. @@ -7,9 +7,27 @@ .zerofill __DATA,__bss,_a,1,0 .zerofill __DATA,__bss,_b,4,4 -// CHECK: # Symbol 0 -// CHECK: ('n_value', 16) -// CHECK: ('_string', '_a') -// CHECK: # Symbol 1 -// CHECK: ('n_value', 32) -// CHECK: ('_string', '_b') +// CHECK: File: +// CHECK: Format: Mach-O 32-bit i386 +// CHECK: Arch: i386 +// CHECK: AddressSize: 32bit +// CHECK: Symbols [ +// CHECK: Symbol { +// CHECK: Name: _a (4) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x10 +// CHECK: } +// CHECK: Symbol { +// CHECK: Name: _b (1) +// CHECK: Type: Section (0xE) +// CHECK: Section: __bss (0x2) +// CHECK: RefType: UndefinedNonLazy (0x0) +// CHECK: Flags [ (0x0) +// CHECK: ] +// CHECK: Value: 0x20 +// CHECK: } +// CHECK: ]