148 lines · plain
1// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj --file-headers -S -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols - | FileCheck %s2 3 // Note, this test intentionally mismatches Darwin 'as', which loses the4 // following global marker.5 //6 // FIXME: We should probably warn about our interpretation of this.7 .globl sym_lcomm_ext_A8 .lcomm sym_lcomm_ext_A, 49 .lcomm sym_lcomm_ext_B, 410 .globl sym_lcomm_ext_B11 12 .globl sym_zfill_ext_A13 .zerofill __DATA, __bss, sym_zfill_ext_A, 414 .zerofill __DATA, __bss, sym_zfill_ext_B, 415 .globl sym_zfill_ext_B16 17// CHECK: File: <stdin>18// CHECK: Format: Mach-O 32-bit i38619// CHECK: Arch: i38620// CHECK: AddressSize: 32bit21// CHECK: MachHeader {22// CHECK: Magic: Magic (0xFEEDFACE)23// CHECK: CpuType: X86 (0x7)24// CHECK: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)25// CHECK: FileType: Relocatable (0x1)26// CHECK: NumOfLoadCommands: 427// CHECK: SizeOfLoadCommands: 31228// CHECK: Flags [ (0x0)29// CHECK: ]30// CHECK: }31// CHECK: Sections [32// CHECK: Section {33// CHECK: Index: 034// CHECK: Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)35// CHECK: Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)36// CHECK: Address: 0x037// CHECK: Size: 0x038// CHECK: Offset: 34039// CHECK: Alignment: 040// CHECK: RelocationOffset: 0x041// CHECK: RelocationCount: 042// CHECK: Type: Regular (0x0)43// CHECK: Attributes [ (0x800000)44// CHECK: PureInstructions (0x800000)45// CHECK: ]46// CHECK: Reserved1: 0x047// CHECK: Reserved2: 0x048// CHECK: }49// CHECK: Section {50// CHECK: Index: 151// CHECK: Name: __bss (5F 5F 62 73 73 00 00 00 00 00 00 00 00 00 00 00)52// CHECK: Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)53// CHECK: Address: 0x054// CHECK: Size: 0x1055// CHECK: Offset: 056// CHECK: Alignment: 057// CHECK: RelocationOffset: 0x058// CHECK: RelocationCount: 059// CHECK: Type: ZeroFill (0x1)60// CHECK: Attributes [ (0x0)61// CHECK: ]62// CHECK: Reserved1: 0x063// CHECK: Reserved2: 0x064// CHECK: }65// CHECK: ]66// CHECK: Relocations [67// CHECK: ]68// CHECK: Symbols [69// CHECK: Symbol {70// CHECK: Name: sym_lcomm_ext_A (33)71// CHECK: Extern72// CHECK: Type: Section (0xE)73// CHECK: Section: __bss (0x2)74// CHECK: RefType: UndefinedNonLazy (0x0)75// CHECK: Flags [ (0x0)76// CHECK: ]77// CHECK: Value: 0x078// CHECK: }79// CHECK: Symbol {80// CHECK: Name: sym_lcomm_ext_B (1)81// CHECK: Extern82// CHECK: Type: Section (0xE)83// CHECK: Section: __bss (0x2)84// CHECK: RefType: UndefinedNonLazy (0x0)85// CHECK: Flags [ (0x0)86// CHECK: ]87// CHECK: Value: 0x488// CHECK: }89// CHECK: Symbol {90// CHECK: Name: sym_zfill_ext_A (49)91// CHECK: Extern92// CHECK: Type: Section (0xE)93// CHECK: Section: __bss (0x2)94// CHECK: RefType: UndefinedNonLazy (0x0)95// CHECK: Flags [ (0x0)96// CHECK: ]97// CHECK: Value: 0x898// CHECK: }99// CHECK: Symbol {100// CHECK: Name: sym_zfill_ext_B (17)101// CHECK: Extern102// CHECK: Type: Section (0xE)103// CHECK: Section: __bss (0x2)104// CHECK: RefType: UndefinedNonLazy (0x0)105// CHECK: Flags [ (0x0)106// CHECK: ]107// CHECK: Value: 0xC108// CHECK: }109// CHECK: ]110// CHECK: Indirect Symbols {111// CHECK: Number: 0112// CHECK: Symbols [113// CHECK: ]114// CHECK: }115// CHECK: Segment {116// CHECK: Cmd: LC_SEGMENT117// CHECK: Name: 118// CHECK: Size: 192119// CHECK: vmaddr: 0x0120// CHECK: vmsize: 0x10121// CHECK: fileoff: 340122// CHECK: filesize: 0123// CHECK: maxprot: rwx124// CHECK: initprot: rwx125// CHECK: nsects: 2126// CHECK: flags: 0x0127// CHECK: }128// CHECK: Dysymtab {129// CHECK: ilocalsym: 0130// CHECK: nlocalsym: 0131// CHECK: iextdefsym: 0132// CHECK: nextdefsym: 4133// CHECK: iundefsym: 4134// CHECK: nundefsym: 0135// CHECK: tocoff: 0136// CHECK: ntoc: 0137// CHECK: modtaboff: 0138// CHECK: nmodtab: 0139// CHECK: extrefsymoff: 0140// CHECK: nextrefsyms: 0141// CHECK: indirectsymoff: 0142// CHECK: nindirectsyms: 0143// CHECK: extreloff: 0144// CHECK: nextrel: 0145// CHECK: locreloff: 0146// CHECK: nlocrel: 0147// CHECK: }148