304 lines · plain
1RUN: llvm-readobj -h %p/Inputs/macho-universal.x86_64.i386 \2RUN: | FileCheck %s -check-prefix MULTIHEADER3 4RUN: llvm-readobj --sections %p/Inputs/macho-universal.x86_64.i386 \5RUN: | FileCheck %s -check-prefix MULTISECTIONS6 7RUN: llvm-readobj -h %p/Inputs/macho-universal-archive.x86_64.i386 \8RUN: | FileCheck %s -check-prefix MULTIHEADER-ARCHIVE \9RUN: -DARFILE="%p/Inputs/macho-universal-archive.x86_64.i386"10 11RUN: llvm-readobj --sections %p/Inputs/macho-universal-archive.x86_64.i386 \12RUN: | FileCheck %s -check-prefix MULTISECTIONS-ARCHIVE \13RUN: -DARFILE="%p/Inputs/macho-universal-archive.x86_64.i386"14 15MULTIHEADER: Format: Mach-O 64-bit x86-6416MULTIHEADER: Arch: x86_6417MULTIHEADER: AddressSize: 64bit18MULTIHEADER: MachHeader {19MULTIHEADER: Magic: Magic64 (0xFEEDFACF)20MULTIHEADER: CpuType: X86-64 (0x1000007)21MULTIHEADER: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)22MULTIHEADER: FileType: Executable (0x2)23MULTIHEADER: NumOfLoadCommands: 1624MULTIHEADER: SizeOfLoadCommands: 88025MULTIHEADER: Flags [ (0x200085)26MULTIHEADER: MH_DYLDLINK (0x4)27MULTIHEADER: MH_NOUNDEFS (0x1)28MULTIHEADER: MH_PIE (0x200000)29MULTIHEADER: MH_TWOLEVEL (0x80)30MULTIHEADER: ]31MULTIHEADER: Reserved: 0x032MULTIHEADER: }33 34MULTIHEADER: Format: Mach-O 32-bit i38635MULTIHEADER: Arch: i38636MULTIHEADER: AddressSize: 32bit37MULTIHEADER: MachHeader {38MULTIHEADER: Magic: Magic (0xFEEDFACE)39MULTIHEADER: CpuType: X86 (0x7)40MULTIHEADER: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)41MULTIHEADER: FileType: Executable (0x2)42MULTIHEADER: NumOfLoadCommands: 1643MULTIHEADER: SizeOfLoadCommands: 71644MULTIHEADER: Flags [ (0x1200085)45MULTIHEADER: MH_DYLDLINK (0x4)46MULTIHEADER: MH_NOUNDEFS (0x1)47MULTIHEADER: MH_NO_HEAP_EXECUTION (0x1000000)48MULTIHEADER: MH_PIE (0x200000)49MULTIHEADER: MH_TWOLEVEL (0x80)50MULTIHEADER: ]51MULTIHEADER: }52 53 54 55MULTISECTIONS: Format: Mach-O 64-bit x86-6456MULTISECTIONS: Arch: x86_6457MULTISECTIONS: AddressSize: 64bit58MULTISECTIONS: Sections [59MULTISECTIONS: Section {60MULTISECTIONS: Index: 061MULTISECTIONS: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)62MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)63MULTISECTIONS: Address: 0x100000F6064MULTISECTIONS: Size: 0x1265MULTISECTIONS: Offset: 393666MULTISECTIONS: Alignment: 467MULTISECTIONS: RelocationOffset: 0x068MULTISECTIONS: RelocationCount: 069MULTISECTIONS: Type: Regular (0x0)70MULTISECTIONS: Attributes [ (0x800004)71MULTISECTIONS: PureInstructions (0x800000)72MULTISECTIONS: SomeInstructions (0x4)73MULTISECTIONS: ]74MULTISECTIONS: Reserved1: 0x075MULTISECTIONS: Reserved2: 0x076MULTISECTIONS: }77MULTISECTIONS: Section {78MULTISECTIONS: Index: 179MULTISECTIONS: Name: __unwind_info (5F 5F 75 6E 77 69 6E 64 5F 69 6E 66 6F 00 00 00)80MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)81MULTISECTIONS: Address: 0x100000F7282MULTISECTIONS: Size: 0x4883MULTISECTIONS: Offset: 395484MULTISECTIONS: Alignment: 085MULTISECTIONS: RelocationOffset: 0x086MULTISECTIONS: RelocationCount: 087MULTISECTIONS: Type: Regular (0x0)88MULTISECTIONS: Attributes [ (0x0)89MULTISECTIONS: ]90MULTISECTIONS: Reserved1: 0x091MULTISECTIONS: Reserved2: 0x092MULTISECTIONS: }93MULTISECTIONS: Section {94MULTISECTIONS: Index: 295MULTISECTIONS: Name: __eh_frame (5F 5F 65 68 5F 66 72 61 6D 65 00 00 00 00 00 00)96MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)97MULTISECTIONS: Address: 0x100000FC098MULTISECTIONS: Size: 0x4099MULTISECTIONS: Offset: 4032100MULTISECTIONS: Alignment: 3101MULTISECTIONS: RelocationOffset: 0x0102MULTISECTIONS: RelocationCount: 0103MULTISECTIONS: Type: Regular (0x0)104MULTISECTIONS: Attributes [ (0x0)105MULTISECTIONS: ]106MULTISECTIONS: Reserved1: 0x0107MULTISECTIONS: Reserved2: 0x0108MULTISECTIONS: }109MULTISECTIONS: ]110 111MULTISECTIONS: Format: Mach-O 32-bit i386112MULTISECTIONS: Arch: i386113MULTISECTIONS: AddressSize: 32bit114MULTISECTIONS: Sections [115MULTISECTIONS: Section {116MULTISECTIONS: Index: 0117MULTISECTIONS: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)118MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)119MULTISECTIONS: Address: 0x1FA0120MULTISECTIONS: Size: 0x15121MULTISECTIONS: Offset: 4000122MULTISECTIONS: Alignment: 4123MULTISECTIONS: RelocationOffset: 0x0124MULTISECTIONS: RelocationCount: 0125MULTISECTIONS: Type: Regular (0x0)126MULTISECTIONS: Attributes [ (0x800004)127MULTISECTIONS: PureInstructions (0x800000)128MULTISECTIONS: SomeInstructions (0x4)129MULTISECTIONS: ]130MULTISECTIONS: Reserved1: 0x0131MULTISECTIONS: Reserved2: 0x0132MULTISECTIONS: }133MULTISECTIONS: Section {134MULTISECTIONS: Index: 1135MULTISECTIONS: Name: __unwind_info (5F 5F 75 6E 77 69 6E 64 5F 69 6E 66 6F 00 00 00)136MULTISECTIONS: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)137MULTISECTIONS: Address: 0x1FB5138MULTISECTIONS: Size: 0x48139MULTISECTIONS: Offset: 4021140MULTISECTIONS: Alignment: 0141MULTISECTIONS: RelocationOffset: 0x0142MULTISECTIONS: RelocationCount: 0143MULTISECTIONS: Type: Regular (0x0)144MULTISECTIONS: Attributes [ (0x0)145MULTISECTIONS: ]146MULTISECTIONS: Reserved1: 0x0147MULTISECTIONS: Reserved2: 0x0148MULTISECTIONS: }149MULTISECTIONS: ]150 151MULTIHEADER-ARCHIVE: {{^$}}152MULTIHEADER-ARCHIVE-NEXT: File: [[ARFILE]](hello.o)153MULTIHEADER-ARCHIVE: Format: Mach-O 64-bit x86-64154MULTIHEADER-ARCHIVE: Arch: x86_64155MULTIHEADER-ARCHIVE: AddressSize: 64bit156MULTIHEADER-ARCHIVE: MachHeader {157MULTIHEADER-ARCHIVE: Magic: Magic64 (0xFEEDFACF)158MULTIHEADER-ARCHIVE: CpuType: X86-64 (0x1000007)159MULTIHEADER-ARCHIVE: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)160MULTIHEADER-ARCHIVE: FileType: Relocatable (0x1)161MULTIHEADER-ARCHIVE: NumOfLoadCommands: 3162MULTIHEADER-ARCHIVE: SizeOfLoadCommands: 496163MULTIHEADER-ARCHIVE: Flags [ (0x2000)164MULTIHEADER-ARCHIVE: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)165MULTIHEADER-ARCHIVE: ]166MULTIHEADER-ARCHIVE: Reserved: 0x0167MULTIHEADER-ARCHIVE: }168MULTIHEADER-ARCHIVE-EMPTY:169MULTIHEADER-ARCHIVE-NEXT: File: [[ARFILE]](foo.o)170MULTIHEADER-ARCHIVE: Format: Mach-O 32-bit i386171MULTIHEADER-ARCHIVE: Arch: i386172MULTIHEADER-ARCHIVE: AddressSize: 32bit173MULTIHEADER-ARCHIVE: MachHeader {174MULTIHEADER-ARCHIVE: Magic: Magic (0xFEEDFACE)175MULTIHEADER-ARCHIVE: CpuType: X86 (0x7)176MULTIHEADER-ARCHIVE: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)177MULTIHEADER-ARCHIVE: FileType: Relocatable (0x1)178MULTIHEADER-ARCHIVE: NumOfLoadCommands: 3179MULTIHEADER-ARCHIVE: SizeOfLoadCommands: 296180MULTIHEADER-ARCHIVE: Flags [ (0x2000)181MULTIHEADER-ARCHIVE: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)182MULTIHEADER-ARCHIVE: ]183MULTIHEADER-ARCHIVE: }184 185MULTISECTIONS-ARCHIVE: {{^$}}186MULTISECTIONS-ARCHIVE-NEXT: File: [[ARFILE]](hello.o)187MULTISECTIONS-ARCHIVE: Format: Mach-O 64-bit x86-64188MULTISECTIONS-ARCHIVE: Arch: x86_64189MULTISECTIONS-ARCHIVE: AddressSize: 64bit190MULTISECTIONS-ARCHIVE: Sections [191MULTISECTIONS-ARCHIVE: Section {192MULTISECTIONS-ARCHIVE: Index: 0193MULTISECTIONS-ARCHIVE: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)194MULTISECTIONS-ARCHIVE: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)195MULTISECTIONS-ARCHIVE: Address: 0x0196MULTISECTIONS-ARCHIVE: Size: 0x3B197MULTISECTIONS-ARCHIVE: Offset: 528198MULTISECTIONS-ARCHIVE: Alignment: 4199MULTISECTIONS-ARCHIVE: RelocationOffset: 0x2B8200MULTISECTIONS-ARCHIVE: RelocationCount: 2201MULTISECTIONS-ARCHIVE: Type: Regular (0x0)202MULTISECTIONS-ARCHIVE: Attributes [ (0x800004)203MULTISECTIONS-ARCHIVE: PureInstructions (0x800000)204MULTISECTIONS-ARCHIVE: SomeInstructions (0x4)205MULTISECTIONS-ARCHIVE: ]206MULTISECTIONS-ARCHIVE: Reserved1: 0x0207MULTISECTIONS-ARCHIVE: Reserved2: 0x0208MULTISECTIONS-ARCHIVE: }209MULTISECTIONS-ARCHIVE: Section {210MULTISECTIONS-ARCHIVE: Index: 1211MULTISECTIONS-ARCHIVE: Name: __cstring (5F 5F 63 73 74 72 69 6E 67 00 00 00 00 00 00 00)212MULTISECTIONS-ARCHIVE: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)213MULTISECTIONS-ARCHIVE: Address: 0x3B214MULTISECTIONS-ARCHIVE: Size: 0xD215MULTISECTIONS-ARCHIVE: Offset: 587216MULTISECTIONS-ARCHIVE: Alignment: 0217MULTISECTIONS-ARCHIVE: RelocationOffset: 0x0218MULTISECTIONS-ARCHIVE: RelocationCount: 0219MULTISECTIONS-ARCHIVE: Type: CStringLiterals (0x2)220MULTISECTIONS-ARCHIVE: Attributes [ (0x0)221MULTISECTIONS-ARCHIVE: ]222MULTISECTIONS-ARCHIVE: Reserved1: 0x0223MULTISECTIONS-ARCHIVE: Reserved2: 0x0224MULTISECTIONS-ARCHIVE: }225MULTISECTIONS-ARCHIVE: Section {226MULTISECTIONS-ARCHIVE: Index: 2227MULTISECTIONS-ARCHIVE: Name: __compact_unwind (5F 5F 63 6F 6D 70 61 63 74 5F 75 6E 77 69 6E 64)228MULTISECTIONS-ARCHIVE: Segment: __LD (5F 5F 4C 44 00 00 00 00 00 00 00 00 00 00 00 00)229MULTISECTIONS-ARCHIVE: Address: 0x48230MULTISECTIONS-ARCHIVE: Size: 0x20231MULTISECTIONS-ARCHIVE: Offset: 600232MULTISECTIONS-ARCHIVE: Alignment: 3233MULTISECTIONS-ARCHIVE: RelocationOffset: 0x2C8234MULTISECTIONS-ARCHIVE: RelocationCount: 1235MULTISECTIONS-ARCHIVE: Type: Regular (0x0)236MULTISECTIONS-ARCHIVE: Attributes [ (0x20000)237MULTISECTIONS-ARCHIVE: Debug (0x20000)238MULTISECTIONS-ARCHIVE: ]239MULTISECTIONS-ARCHIVE: Reserved1: 0x0240MULTISECTIONS-ARCHIVE: Reserved2: 0x0241MULTISECTIONS-ARCHIVE: }242MULTISECTIONS-ARCHIVE: Section {243MULTISECTIONS-ARCHIVE: Index: 3244MULTISECTIONS-ARCHIVE: Name: __eh_frame (5F 5F 65 68 5F 66 72 61 6D 65 00 00 00 00 00 00)245MULTISECTIONS-ARCHIVE: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)246MULTISECTIONS-ARCHIVE: Address: 0x68247MULTISECTIONS-ARCHIVE: Size: 0x40248MULTISECTIONS-ARCHIVE: Offset: 632249MULTISECTIONS-ARCHIVE: Alignment: 3250MULTISECTIONS-ARCHIVE: RelocationOffset: 0x0251MULTISECTIONS-ARCHIVE: RelocationCount: 0252MULTISECTIONS-ARCHIVE: Type: Coalesced (0xB)253MULTISECTIONS-ARCHIVE: Attributes [ (0x680000)254MULTISECTIONS-ARCHIVE: LiveSupport (0x80000)255MULTISECTIONS-ARCHIVE: NoTOC (0x400000)256MULTISECTIONS-ARCHIVE: StripStaticSyms (0x200000)257MULTISECTIONS-ARCHIVE: ]258MULTISECTIONS-ARCHIVE: Reserved1: 0x0259MULTISECTIONS-ARCHIVE: Reserved2: 0x0260MULTISECTIONS-ARCHIVE: }261MULTISECTIONS-ARCHIVE: ]262MULTISECTIONS-ARCHIVE-EMPTY:263MULTISECTIONS-ARCHIVE-NEXT: File: [[ARFILE]](foo.o)264MULTISECTIONS-ARCHIVE: Format: Mach-O 32-bit i386265MULTISECTIONS-ARCHIVE: Arch: i386266MULTISECTIONS-ARCHIVE: AddressSize: 32bit267MULTISECTIONS-ARCHIVE: Sections [268MULTISECTIONS-ARCHIVE: Section {269MULTISECTIONS-ARCHIVE: Index: 0270MULTISECTIONS-ARCHIVE: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)271MULTISECTIONS-ARCHIVE: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)272MULTISECTIONS-ARCHIVE: Address: 0x0273MULTISECTIONS-ARCHIVE: Size: 0x5274MULTISECTIONS-ARCHIVE: Offset: 324275MULTISECTIONS-ARCHIVE: Alignment: 4276MULTISECTIONS-ARCHIVE: RelocationOffset: 0x0277MULTISECTIONS-ARCHIVE: RelocationCount: 0278MULTISECTIONS-ARCHIVE: Type: Regular (0x0)279MULTISECTIONS-ARCHIVE: Attributes [ (0x800004)280MULTISECTIONS-ARCHIVE: PureInstructions (0x800000)281MULTISECTIONS-ARCHIVE: SomeInstructions (0x4)282MULTISECTIONS-ARCHIVE: ]283MULTISECTIONS-ARCHIVE: Reserved1: 0x0284MULTISECTIONS-ARCHIVE: Reserved2: 0x0285MULTISECTIONS-ARCHIVE: }286MULTISECTIONS-ARCHIVE: Section {287MULTISECTIONS-ARCHIVE: Index: 1288MULTISECTIONS-ARCHIVE: Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)289MULTISECTIONS-ARCHIVE: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)290MULTISECTIONS-ARCHIVE: Address: 0x8291MULTISECTIONS-ARCHIVE: Size: 0x4292MULTISECTIONS-ARCHIVE: Offset: 332293MULTISECTIONS-ARCHIVE: Alignment: 2294MULTISECTIONS-ARCHIVE: RelocationOffset: 0x0295MULTISECTIONS-ARCHIVE: RelocationCount: 0296MULTISECTIONS-ARCHIVE: Type: Regular (0x0)297MULTISECTIONS-ARCHIVE: Attributes [ (0x0)298MULTISECTIONS-ARCHIVE: ]299MULTISECTIONS-ARCHIVE: Reserved1: 0x0300MULTISECTIONS-ARCHIVE: Reserved2: 0x0301MULTISECTIONS-ARCHIVE: }302MULTISECTIONS-ARCHIVE: ]303 304