1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/test/MC/MachO/x86_64-sections.s
Seiya Nuta 4765c562bd [llvm-readobj][MachO] Fix section type printing
Summary:
Currently, llvm-readobj mistakenly decodes section type as section attribute.

This patch fixes the bug and affected tests.

Reviewers: JDevlieghere, jhenderson, rupprecht, alexshap, echristo

Reviewed By: jhenderson, rupprecht, alexshap, echristo

Subscribers: javed.absar, rupprecht, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66075

llvm-svn: 368974
2019-08-15 07:22:04 +00:00

680 lines
21 KiB
ArmAsm

// 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
.const
.static_const
.cstring
.literal4
.literal8
.literal16
.constructor
.destructor
.data
.static_data
.dyld
.mod_init_func
.mod_term_func
.const_data
.objc_class
.objc_meta_class
.objc_cat_cls_meth
.objc_cat_inst_meth
.objc_protocol
.objc_string_object
.objc_cls_meth
.objc_inst_meth
.objc_cls_refs
.objc_message_refs
.objc_symbols
.objc_category
.objc_class_vars
.objc_instance_vars
.objc_module_info
.objc_class_names
.objc_meth_var_types
.objc_meth_var_names
.objc_selector_strs
.subsections_via_symbols
// CHECK: File: <stdin>
// 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: Regular (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: Regular (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: Regular (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: CStringLiterals (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: 4ByteLiterals (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: 8ByteLiterals (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: 16ByteLiterals (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: ModInitFuncPointers (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: ModTermFuncPointers (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: LiteralPointers (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: LiteralPointers (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: Regular (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: Regular (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: Regular (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: Regular (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: Regular (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: CStringLiterals (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: }