RUN: llvm-readobj -h %p/Inputs/macho-universal.x86_64.i386 \ RUN: | FileCheck %s -check-prefix MULTIHEADER RUN: llvm-readobj -sections %p/Inputs/macho-universal.x86_64.i386 \ RUN: | FileCheck %s -check-prefix MULTISECTIONS MULTIHEADER: Format: Mach-O 64-bit x86-64 MULTIHEADER: Arch: x86_64 MULTIHEADER: AddressSize: 64bit MULTIHEADER: MachHeader { MULTIHEADER: Magic: Magic64 (0xFEEDFACF) MULTIHEADER: CpuType: X86-64 (0x1000007) MULTIHEADER: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3) MULTIHEADER: FileType: Executable (0x2) MULTIHEADER: NumOfLoadCommands: 16 MULTIHEADER: SizeOfLoadCommands: 880 MULTIHEADER: Flags [ (0x200085) MULTIHEADER: MH_DYLDLINK (0x4) MULTIHEADER: MH_NOUNDEFS (0x1) MULTIHEADER: MH_PIE (0x200000) MULTIHEADER: MH_TWOLEVEL (0x80) MULTIHEADER: ] MULTIHEADER: Reserved: 0x0 MULTIHEADER: } MULTIHEADER: Format: Mach-O 32-bit i386 MULTIHEADER: Arch: i386 MULTIHEADER: AddressSize: 32bit MULTIHEADER: MachHeader { MULTIHEADER: Magic: Magic (0xFEEDFACE) MULTIHEADER: CpuType: X86 (0x7) MULTIHEADER: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3) MULTIHEADER: FileType: Executable (0x2) MULTIHEADER: NumOfLoadCommands: 16 MULTIHEADER: SizeOfLoadCommands: 716 MULTIHEADER: Flags [ (0x1200085) MULTIHEADER: MH_DYLDLINK (0x4) MULTIHEADER: MH_NOUNDEFS (0x1) MULTIHEADER: MH_NO_HEAP_EXECUTION (0x1000000) MULTIHEADER: MH_PIE (0x200000) MULTIHEADER: MH_TWOLEVEL (0x80) MULTIHEADER: ] MULTIHEADER: } MULTISECTIONS: Format: Mach-O 64-bit x86-64 MULTISECTIONS: Arch: x86_64 MULTISECTIONS: AddressSize: 64bit MULTISECTIONS: Sections [ MULTISECTIONS: Section { MULTISECTIONS: Index: 0 MULTISECTIONS: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Address: 0x100000F60 MULTISECTIONS: Size: 0x12 MULTISECTIONS: Offset: 3936 MULTISECTIONS: Alignment: 4 MULTISECTIONS: RelocationOffset: 0x0 MULTISECTIONS: RelocationCount: 0 MULTISECTIONS: Type: 0x0 MULTISECTIONS: Attributes [ (0x800004) MULTISECTIONS: PureInstructions (0x800000) MULTISECTIONS: SomeInstructions (0x4) MULTISECTIONS: ] MULTISECTIONS: Reserved1: 0x0 MULTISECTIONS: Reserved2: 0x0 MULTISECTIONS: } MULTISECTIONS: Section { MULTISECTIONS: Index: 1 MULTISECTIONS: Name: __unwind_info (5F 5F 75 6E 77 69 6E 64 5F 69 6E 66 6F 00 00 00) MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Address: 0x100000F72 MULTISECTIONS: Size: 0x48 MULTISECTIONS: Offset: 3954 MULTISECTIONS: Alignment: 0 MULTISECTIONS: RelocationOffset: 0x0 MULTISECTIONS: RelocationCount: 0 MULTISECTIONS: Type: 0x0 MULTISECTIONS: Attributes [ (0x0) MULTISECTIONS: ] MULTISECTIONS: Reserved1: 0x0 MULTISECTIONS: Reserved2: 0x0 MULTISECTIONS: } MULTISECTIONS: Section { MULTISECTIONS: Index: 2 MULTISECTIONS: Name: __eh_frame (5F 5F 65 68 5F 66 72 61 6D 65 00 00 00 00 00 00) MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Address: 0x100000FC0 MULTISECTIONS: Size: 0x40 MULTISECTIONS: Offset: 4032 MULTISECTIONS: Alignment: 3 MULTISECTIONS: RelocationOffset: 0x0 MULTISECTIONS: RelocationCount: 0 MULTISECTIONS: Type: 0x0 MULTISECTIONS: Attributes [ (0x0) MULTISECTIONS: ] MULTISECTIONS: Reserved1: 0x0 MULTISECTIONS: Reserved2: 0x0 MULTISECTIONS: } MULTISECTIONS: ] MULTISECTIONS: Format: Mach-O 32-bit i386 MULTISECTIONS: Arch: i386 MULTISECTIONS: AddressSize: 32bit MULTISECTIONS: Sections [ MULTISECTIONS: Section { MULTISECTIONS: Index: 0 MULTISECTIONS: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Address: 0x1FA0 MULTISECTIONS: Size: 0x15 MULTISECTIONS: Offset: 4000 MULTISECTIONS: Alignment: 4 MULTISECTIONS: RelocationOffset: 0x0 MULTISECTIONS: RelocationCount: 0 MULTISECTIONS: Type: 0x0 MULTISECTIONS: Attributes [ (0x800004) MULTISECTIONS: PureInstructions (0x800000) MULTISECTIONS: SomeInstructions (0x4) MULTISECTIONS: ] MULTISECTIONS: Reserved1: 0x0 MULTISECTIONS: Reserved2: 0x0 MULTISECTIONS: } MULTISECTIONS: Section { MULTISECTIONS: Index: 1 MULTISECTIONS: Name: __unwind_info (5F 5F 75 6E 77 69 6E 64 5F 69 6E 66 6F 00 00 00) MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00) MULTISECTIONS: Address: 0x1FB5 MULTISECTIONS: Size: 0x48 MULTISECTIONS: Offset: 4021 MULTISECTIONS: Alignment: 0 MULTISECTIONS: RelocationOffset: 0x0 MULTISECTIONS: RelocationCount: 0 MULTISECTIONS: Type: 0x0 MULTISECTIONS: Attributes [ (0x0) MULTISECTIONS: ] MULTISECTIONS: Reserved1: 0x0 MULTISECTIONS: Reserved2: 0x0 MULTISECTIONS: } MULTISECTIONS: ]