brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.4 KiB · 593d6e6 Raw
196 lines · plain
1// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | llvm-readobj --file-headers -S --sd -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols - | FileCheck %s2 3_text_a:4        xorl %eax,%eax5_text_b:6        xorl %eax,%eax7Ltext_c:8        xorl %eax,%eax9Ltext_d:10        xorl %eax,%eax11 12        movl $(_text_a - _text_b), %eax13Ltext_expr_0 = _text_a - _text_b14        movl $(Ltext_expr_0), %eax15 16        movl $(Ltext_c - _text_b), %eax17Ltext_expr_1 = Ltext_c - _text_b18        movl $(Ltext_expr_1), %eax19 20        movl $(Ltext_d - Ltext_c), %eax21Ltext_expr_2 = Ltext_d - Ltext_c22        movl $(Ltext_expr_2), %eax23 24        movl $(_text_a + Ltext_expr_0), %eax25 26        .data27_data_a:28        .long 029_data_b:30        .long 031Ldata_c:32        .long 033Ldata_d:34        .long 035 36        .long _data_a - _data_b37Ldata_expr_0 = _data_a - _data_b38        .long Ldata_expr_039 40        .long Ldata_c - _data_b41Ldata_expr_1 = Ldata_c - _data_b42        .long Ldata_expr_143 44        .long Ldata_d - Ldata_c45Ldata_expr_2 = Ldata_d - Ldata_c46        .long Ldata_expr_247 48        .long _data_a + Ldata_expr_049 50// CHECK: File: <stdin>51// CHECK: Format: Mach-O 32-bit i38652// CHECK: Arch: i38653// CHECK: AddressSize: 32bit54// CHECK: MachHeader {55// CHECK:   Magic: Magic (0xFEEDFACE)56// CHECK:   CpuType: X86 (0x7)57// CHECK:   CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)58// CHECK:   FileType: Relocatable (0x1)59// CHECK:   NumOfLoadCommands: 460// CHECK:   SizeOfLoadCommands: 31261// CHECK:   Flags [ (0x0)62// CHECK:   ]63// CHECK: }64// CHECK: Sections [65// CHECK:   Section {66// CHECK:     Index: 067// CHECK:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)68// CHECK:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)69// CHECK:     Address: 0x070// CHECK:     Size: 0x2B71// CHECK:     Offset: 34072// CHECK:     Alignment: 073// CHECK:     RelocationOffset: 0x1AC74// CHECK:     RelocationCount: 375// CHECK:     Type: Regular (0x0)76// CHECK:     Attributes [ (0x800004)77// CHECK:       PureInstructions (0x800000)78// CHECK:       SomeInstructions (0x4)79// CHECK:     ]80// CHECK:     Reserved1: 0x081// CHECK:     Reserved2: 0x082// CHECK:     SectionData (83// CHECK:       0000: 31C031C0 31C031C0 B8FEFFFF FFB8FEFF  |1.1.1.1.........|84// CHECK:       0010: FFFFB802 000000B8 02000000 B8020000  |................|85// CHECK:       0020: 00B80200 0000B8FE FFFFFF             |...........|86// CHECK:     )87// CHECK:   }88// CHECK:   Section {89// CHECK:     Index: 190// CHECK:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)91// CHECK:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)92// CHECK:     Address: 0x2B93// CHECK:     Size: 0x2C94// CHECK:     Offset: 38395// CHECK:     Alignment: 096// CHECK:     RelocationOffset: 0x1C497// CHECK:     RelocationCount: 198// CHECK:     Type: Regular (0x0)99// CHECK:     Attributes [ (0x0)100// CHECK:     ]101// CHECK:     Reserved1: 0x0102// CHECK:     Reserved2: 0x0103// CHECK:     SectionData (104// CHECK:       0000: 00000000 00000000 00000000 00000000  |................|105// CHECK:       0010: FCFFFFFF FCFFFFFF 04000000 04000000  |................|106// CHECK:       0020: 04000000 04000000 27000000           |........'...|107// CHECK:     )108// CHECK:   }109// CHECK: ]110// CHECK: Relocations [111// CHECK:   Section __text {112// CHECK:     0x27 0 2 n/a GENERIC_RELOC_VANILLA 1 0x0113// CHECK:     0x9 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x0114// CHECK:     0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x2115// CHECK:   }116// CHECK:   Section __data {117// CHECK:     0x28 0 2 n/a GENERIC_RELOC_VANILLA 1 0x2B118// CHECK:   }119// CHECK: ]120// CHECK: Symbols [121// CHECK:   Symbol {122// CHECK:     Name: _text_a (17)123// CHECK:     Type: Section (0xE)124// CHECK:     Section: __text (0x1)125// CHECK:     RefType: UndefinedNonLazy (0x0)126// CHECK:     Flags [ (0x0)127// CHECK:     ]128// CHECK:     Value: 0x0129// CHECK:   }130// CHECK:   Symbol {131// CHECK:     Name: _text_b (1)132// CHECK:     Type: Section (0xE)133// CHECK:     Section: __text (0x1)134// CHECK:     RefType: UndefinedNonLazy (0x0)135// CHECK:     Flags [ (0x0)136// CHECK:     ]137// CHECK:     Value: 0x2138// CHECK:   }139// CHECK:   Symbol {140// CHECK:     Name: _data_a (25)141// CHECK:     Type: Section (0xE)142// CHECK:     Section: __data (0x2)143// CHECK:     RefType: UndefinedNonLazy (0x0)144// CHECK:     Flags [ (0x0)145// CHECK:     ]146// CHECK:     Value: 0x2B147// CHECK:   }148// CHECK:   Symbol {149// CHECK:     Name: _data_b (9)150// CHECK:     Type: Section (0xE)151// CHECK:     Section: __data (0x2)152// CHECK:     RefType: UndefinedNonLazy (0x0)153// CHECK:     Flags [ (0x0)154// CHECK:     ]155// CHECK:     Value: 0x2F156// CHECK:   }157// CHECK: ]158// CHECK: Indirect Symbols {159// CHECK:   Number: 0160// CHECK:   Symbols [161// CHECK:   ]162// CHECK: }163// CHECK: Segment {164// CHECK:   Cmd: LC_SEGMENT165// CHECK:   Name: 166// CHECK:   Size: 192167// CHECK:   vmaddr: 0x0168// CHECK:   vmsize: 0x57169// CHECK:   fileoff: 340170// CHECK:   filesize: 87171// CHECK:   maxprot: rwx172// CHECK:   initprot: rwx173// CHECK:   nsects: 2174// CHECK:   flags: 0x0175// CHECK: }176// CHECK: Dysymtab {177// CHECK:   ilocalsym: 0178// CHECK:   nlocalsym: 4179// CHECK:   iextdefsym: 4180// CHECK:   nextdefsym: 0181// CHECK:   iundefsym: 4182// CHECK:   nundefsym: 0183// CHECK:   tocoff: 0184// CHECK:   ntoc: 0185// CHECK:   modtaboff: 0186// CHECK:   nmodtab: 0187// CHECK:   extrefsymoff: 0188// CHECK:   nextrefsyms: 0189// CHECK:   indirectsymoff: 0190// CHECK:   nindirectsyms: 0191// CHECK:   extreloff: 0192// CHECK:   nextrel: 0193// CHECK:   locreloff: 0194// CHECK:   nlocrel: 0195// CHECK: }196