brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.2 KiB · 6babb97 Raw
463 lines · plain
1// RUN: llvm-mc -triple i386-apple-darwin10 %s -filetype=obj -o %t.o2// RUN: llvm-readobj --file-headers -S --sd -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols < %t.o - > %t.dump3// RUN: FileCheck --check-prefix=CHECK-I386 < %t.dump %s4 5// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o %t.o6// RUN: llvm-readobj --file-headers -S --sd -r --symbols --macho-segment --macho-dysymtab --macho-indirect-symbols < %t.o - > %t.dump7// RUN: FileCheck --check-prefix=CHECK-X86_64 < %t.dump %s8 9.data10 11        .long 012a:13        .long 014b = a15 16c:      .long b17 18d2 = d19.globl d220d3 = d + 421.globl d322 23e = a + 424 25g:26f = g27        .long 028        29        .long b30        .long e31        .long a + 432        .long d33        .long d234        .long d335        .long f36        .long g37 38///39        .text40t0:41Lt0_a:42        ret43 44	.data45Lt0_b:46Lt0_x = Lt0_a - Lt0_b47	.quad	Lt0_x48 49// CHECK-I386: File: <stdin>50// CHECK-I386: Format: Mach-O 32-bit i38651// CHECK-I386: Arch: i38652// CHECK-I386: AddressSize: 32bit53// CHECK-I386: MachHeader {54// CHECK-I386:   Magic: Magic (0xFEEDFACE)55// CHECK-I386:   CpuType: X86 (0x7)56// CHECK-I386:   CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)57// CHECK-I386:   FileType: Relocatable (0x1)58// CHECK-I386:   NumOfLoadCommands: 459// CHECK-I386:   SizeOfLoadCommands: 31260// CHECK-I386:   Flags [ (0x0)61// CHECK-I386:   ]62// CHECK-I386: }63// CHECK-I386: Sections [64// CHECK-I386:   Section {65// CHECK-I386:     Index: 066// CHECK-I386:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)67// CHECK-I386:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)68// CHECK-I386:     Address: 0x069// CHECK-I386:     Size: 0x170// CHECK-I386:     Offset: 34071// CHECK-I386:     Alignment: 072// CHECK-I386:     RelocationOffset: 0x073// CHECK-I386:     RelocationCount: 074// CHECK-I386:     Type: Regular (0x0)75// CHECK-I386:     Attributes [ (0x800004)76// CHECK-I386:       PureInstructions (0x800000)77// CHECK-I386:       SomeInstructions (0x4)78// CHECK-I386:     ]79// CHECK-I386:     Reserved1: 0x080// CHECK-I386:     Reserved2: 0x081// CHECK-I386:     SectionData (82// CHECK-I386:       0000: C3                                   |.|83// CHECK-I386:     )84// CHECK-I386:   }85// CHECK-I386:   Section {86// CHECK-I386:     Index: 187// CHECK-I386:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)88// CHECK-I386:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)89// CHECK-I386:     Address: 0x190// CHECK-I386:     Size: 0x3891// CHECK-I386:     Offset: 34192// CHECK-I386:     Alignment: 093// CHECK-I386:     RelocationOffset: 0x19094// CHECK-I386:     RelocationCount: 995// CHECK-I386:     Type: Regular (0x0)96// CHECK-I386:     Attributes [ (0x0)97// CHECK-I386:     ]98// CHECK-I386:     Reserved1: 0x099// CHECK-I386:     Reserved2: 0x0100// CHECK-I386:     SectionData (101// CHECK-I386:       0000: 00000000 00000000 05000000 00000000  |................|102// CHECK-I386:       0010: 05000000 09000000 09000000 00000000  |................|103// CHECK-I386:       0020: 00000000 00000000 0D000000 0D000000  |................|104// CHECK-I386:       0030: CFFFFFFF FFFFFFFF                    |........|105// CHECK-I386:     )106// CHECK-I386:   }107// CHECK-I386: ]108// CHECK-I386: Relocations [109// CHECK-I386:   Section __data {110// CHECK-I386:     0x2C 0 2 0 GENERIC_RELOC_VANILLA 0 __data111// CHECK-I386:     0x28 0 2 0 GENERIC_RELOC_VANILLA 0 __data112// CHECK-I386:     0x24 0 2 1 GENERIC_RELOC_VANILLA 0 d3113// CHECK-I386:     0x20 0 2 1 GENERIC_RELOC_VANILLA 0 d{{$}}114// CHECK-I386:     0x1C 0 2 1 GENERIC_RELOC_VANILLA 0 d{{$}}115// CHECK-I386:     0x18 0 2 n/a GENERIC_RELOC_VANILLA 1 0x5116// CHECK-I386:     0x14 0 2 0 GENERIC_RELOC_VANILLA 0 __data117// CHECK-I386:     0x10 0 2 0 GENERIC_RELOC_VANILLA 0 __data118// CHECK-I386:     0x8 0 2 0 GENERIC_RELOC_VANILLA 0 __data119// CHECK-I386:   }120// CHECK-I386: ]121// CHECK-I386: Symbols [122// CHECK-I386:   Symbol {123// CHECK-I386:     Name: a (13)124// CHECK-I386:     Type: Section (0xE)125// CHECK-I386:     Section: __data (0x2)126// CHECK-I386:     RefType: UndefinedNonLazy (0x0)127// CHECK-I386:     Flags [ (0x0)128// CHECK-I386:     ]129// CHECK-I386:     Value: 0x5130// CHECK-I386:   }131// CHECK-I386:   Symbol {132// CHECK-I386:     Name: b (11)133// CHECK-I386:     Type: Section (0xE)134// CHECK-I386:     Section: __data (0x2)135// CHECK-I386:     RefType: UndefinedNonLazy (0x0)136// CHECK-I386:     Flags [ (0x0)137// CHECK-I386:     ]138// CHECK-I386:     Value: 0x5139// CHECK-I386:   }140// CHECK-I386:   Symbol {141// CHECK-I386:     Name: c (9)142// CHECK-I386:     Type: Section (0xE)143// CHECK-I386:     Section: __data (0x2)144// CHECK-I386:     RefType: UndefinedNonLazy (0x0)145// CHECK-I386:     Flags [ (0x0)146// CHECK-I386:     ]147// CHECK-I386:     Value: 0x9148// CHECK-I386:   }149// CHECK-I386:   Symbol {150// CHECK-I386:     Name: e (5)151// CHECK-I386:     Type: Section (0xE)152// CHECK-I386:     Section: __data (0x2)153// CHECK-I386:     RefType: UndefinedNonLazy (0x0)154// CHECK-I386:     Flags [ (0x200)155// CHECK-I386:     ]156// CHECK-I386:     Value: 0x9157// CHECK-I386:   }158// CHECK-I386:   Symbol {159// CHECK-I386:     Name: g (1)160// CHECK-I386:     Type: Section (0xE)161// CHECK-I386:     Section: __data (0x2)162// CHECK-I386:     RefType: UndefinedNonLazy (0x0)163// CHECK-I386:     Flags [ (0x0)164// CHECK-I386:     ]165// CHECK-I386:     Value: 0xD166// CHECK-I386:   }167// CHECK-I386:   Symbol {168// CHECK-I386:     Name: f (3)169// CHECK-I386:     Type: Section (0xE)170// CHECK-I386:     Section: __data (0x2)171// CHECK-I386:     RefType: UndefinedNonLazy (0x0)172// CHECK-I386:     Flags [ (0x0)173// CHECK-I386:     ]174// CHECK-I386:     Value: 0xD175// CHECK-I386:   }176// CHECK-I386:   Symbol {177// CHECK-I386:     Name: t0 (21)178// CHECK-I386:     Type: Section (0xE)179// CHECK-I386:     Section: __text (0x1)180// CHECK-I386:     RefType: UndefinedNonLazy (0x0)181// CHECK-I386:     Flags [ (0x0)182// CHECK-I386:     ]183// CHECK-I386:     Value: 0x0184// CHECK-I386:   }185// CHECK-I386:   Symbol {186// CHECK-I386:     Name: d (7)187// CHECK-I386:     Extern188// CHECK-I386:     Type: Undef (0x0)189// CHECK-I386:     Section:  (0x0)190// CHECK-I386:     RefType: UndefinedNonLazy (0x0)191// CHECK-I386:     Flags [ (0x0)192// CHECK-I386:     ]193// CHECK-I386:     Value: 0x0194// CHECK-I386:   }195// CHECK-I386:   Symbol {196// CHECK-I386:     Name: d2 (18)197// CHECK-I386:     Extern198// CHECK-I386:     Type: Indirect (0xA)199// CHECK-I386:     Section:  (0x0)200// CHECK-I386:     RefType: UndefinedNonLazy (0x0)201// CHECK-I386:     Flags [ (0x0)202// CHECK-I386:     ]203// CHECK-I386:     Value: 0x7204// CHECK-I386:   }205// CHECK-I386:   Symbol {206// CHECK-I386:     Name: d3 (15)207// CHECK-I386:     Extern208// CHECK-I386:     Type: Undef (0x0)209// CHECK-I386:     Section:  (0x0)210// CHECK-I386:     RefType: UndefinedNonLazy (0x0)211// CHECK-I386:     Flags [ (0x200)212// CHECK-I386:     ]213// CHECK-I386:     Value: 0x0214// CHECK-I386:   }215// CHECK-I386: ]216// CHECK-I386: Indirect Symbols {217// CHECK-I386:   Number: 0218// CHECK-I386:   Symbols [219// CHECK-I386:   ]220// CHECK-I386: }221// CHECK-I386: Segment {222// CHECK-I386:   Cmd: LC_SEGMENT223// CHECK-I386:   Name: 224// CHECK-I386:   Size: 192225// CHECK-I386:   vmaddr: 0x0226// CHECK-I386:   vmsize: 0x39227// CHECK-I386:   fileoff: 340228// CHECK-I386:   filesize: 57229// CHECK-I386:   maxprot: rwx230// CHECK-I386:   initprot: rwx231// CHECK-I386:   nsects: 2232// CHECK-I386:   flags: 0x0233// CHECK-I386: }234// CHECK-I386: Dysymtab {235// CHECK-I386:   ilocalsym: 0236// CHECK-I386:   nlocalsym: 7237// CHECK-I386:   iextdefsym: 7238// CHECK-I386:   nextdefsym: 0239// CHECK-I386:   iundefsym: 7240// CHECK-I386:   nundefsym: 3241// CHECK-I386:   tocoff: 0242// CHECK-I386:   ntoc: 0243// CHECK-I386:   modtaboff: 0244// CHECK-I386:   nmodtab: 0245// CHECK-I386:   extrefsymoff: 0246// CHECK-I386:   nextrefsyms: 0247// CHECK-I386:   indirectsymoff: 0248// CHECK-I386:   nindirectsyms: 0249// CHECK-I386:   extreloff: 0250// CHECK-I386:   nextrel: 0251// CHECK-I386:   locreloff: 0252// CHECK-I386:   nlocrel: 0253// CHECK-I386: }254 255// CHECK-X86_64: File: <stdin>256// CHECK-X86_64: Format: Mach-O 64-bit x86-64257// CHECK-X86_64: Arch: x86_64258// CHECK-X86_64: AddressSize: 64bit259// CHECK-X86_64: MachHeader {260// CHECK-X86_64:   Magic: Magic64 (0xFEEDFACF)261// CHECK-X86_64:   CpuType: X86-64 (0x1000007)262// CHECK-X86_64:   CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)263// CHECK-X86_64:   FileType: Relocatable (0x1)264// CHECK-X86_64:   NumOfLoadCommands: 4265// CHECK-X86_64:   SizeOfLoadCommands: 352266// CHECK-X86_64:   Flags [ (0x0)267// CHECK-X86_64:   ]268// CHECK-X86_64:   Reserved: 0x0269// CHECK-X86_64: }270// CHECK-X86_64: Sections [271// CHECK-X86_64:   Section {272// CHECK-X86_64:     Index: 0273// CHECK-X86_64:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)274// CHECK-X86_64:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)275// CHECK-X86_64:     Address: 0x0276// CHECK-X86_64:     Size: 0x1277// CHECK-X86_64:     Offset: 384278// CHECK-X86_64:     Alignment: 0279// CHECK-X86_64:     RelocationOffset: 0x0280// CHECK-X86_64:     RelocationCount: 0281// CHECK-X86_64:     Type: Regular (0x0)282// CHECK-X86_64:     Attributes [ (0x800004)283// CHECK-X86_64:       PureInstructions (0x800000)284// CHECK-X86_64:       SomeInstructions (0x4)285// CHECK-X86_64:     ]286// CHECK-X86_64:     Reserved1: 0x0287// CHECK-X86_64:     Reserved2: 0x0288// CHECK-X86_64:     Reserved3: 0x0289// CHECK-X86_64:     SectionData (290// CHECK-X86_64:       0000: C3                                   |.|291// CHECK-X86_64:     )292// CHECK-X86_64:   }293// CHECK-X86_64:   Section {294// CHECK-X86_64:     Index: 1295// CHECK-X86_64:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)296// CHECK-X86_64:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)297// CHECK-X86_64:     Address: 0x1298// CHECK-X86_64:     Size: 0x38299// CHECK-X86_64:     Offset: 385300// CHECK-X86_64:     Alignment: 0301// CHECK-X86_64:     RelocationOffset: 0x1C0302// CHECK-X86_64:     RelocationCount: 9303// CHECK-X86_64:     Type: Regular (0x0)304// CHECK-X86_64:     Attributes [ (0x0)305// CHECK-X86_64:     ]306// CHECK-X86_64:     Reserved1: 0x0307// CHECK-X86_64:     Reserved2: 0x0308// CHECK-X86_64:     Reserved3: 0x0309// CHECK-X86_64:     SectionData (310// CHECK-X86_64:       0000: 00000000 00000000 00000000 00000000  |................|311// CHECK-X86_64:       0010: 00000000 00000000 04000000 00000000  |................|312// CHECK-X86_64:       0020: 00000000 00000000 00000000 00000000  |................|313// CHECK-X86_64:       0030: CFFFFFFF FFFFFFFF                    |........|314// CHECK-X86_64:     )315// CHECK-X86_64:   }316// CHECK-X86_64: ]317// CHECK-X86_64: Relocations [318// CHECK-X86_64:   Section __data {319// CHECK-X86_64:     0x2C 0 2 1 X86_64_RELOC_UNSIGNED 0 g320// CHECK-X86_64:     0x28 0 2 1 X86_64_RELOC_UNSIGNED 0 f321// CHECK-X86_64:     0x24 0 2 1 X86_64_RELOC_UNSIGNED 0 d3322// CHECK-X86_64:     0x20 0 2 1 X86_64_RELOC_UNSIGNED 0 d{{$}}323// CHECK-X86_64:     0x1C 0 2 1 X86_64_RELOC_UNSIGNED 0 d{{$}}324// CHECK-X86_64:     0x18 0 2 1 X86_64_RELOC_UNSIGNED 0 a325// CHECK-X86_64:     0x14 0 2 1 X86_64_RELOC_UNSIGNED 0 e326// CHECK-X86_64:     0x10 0 2 1 X86_64_RELOC_UNSIGNED 0 b327// CHECK-X86_64:     0x8 0 2 1 X86_64_RELOC_UNSIGNED 0 b328// CHECK-X86_64:   }329// CHECK-X86_64: ]330// CHECK-X86_64: Symbols [331// CHECK-X86_64:   Symbol {332// CHECK-X86_64:     Name: a (13)333// CHECK-X86_64:     Type: Section (0xE)334// CHECK-X86_64:     Section: __data (0x2)335// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)336// CHECK-X86_64:     Flags [ (0x0)337// CHECK-X86_64:     ]338// CHECK-X86_64:     Value: 0x5339// CHECK-X86_64:   }340// CHECK-X86_64:   Symbol {341// CHECK-X86_64:     Name: b (11)342// CHECK-X86_64:     Type: Section (0xE)343// CHECK-X86_64:     Section: __data (0x2)344// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)345// CHECK-X86_64:     Flags [ (0x0)346// CHECK-X86_64:     ]347// CHECK-X86_64:     Value: 0x5348// CHECK-X86_64:   }349// CHECK-X86_64:   Symbol {350// CHECK-X86_64:     Name: c (9)351// CHECK-X86_64:     Type: Section (0xE)352// CHECK-X86_64:     Section: __data (0x2)353// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)354// CHECK-X86_64:     Flags [ (0x0)355// CHECK-X86_64:     ]356// CHECK-X86_64:     Value: 0x9357// CHECK-X86_64:   }358// CHECK-X86_64:   Symbol {359// CHECK-X86_64:     Name: e (5)360// CHECK-X86_64:     Type: Section (0xE)361// CHECK-X86_64:     Section: __data (0x2)362// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)363// CHECK-X86_64:     Flags [ (0x200)364// CHECK-X86_64:     ]365// CHECK-X86_64:     Value: 0x9366// CHECK-X86_64:   }367// CHECK-X86_64:   Symbol {368// CHECK-X86_64:     Name: g (1)369// CHECK-X86_64:     Type: Section (0xE)370// CHECK-X86_64:     Section: __data (0x2)371// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)372// CHECK-X86_64:     Flags [ (0x0)373// CHECK-X86_64:     ]374// CHECK-X86_64:     Value: 0xD375// CHECK-X86_64:   }376// CHECK-X86_64:   Symbol {377// CHECK-X86_64:     Name: f (3)378// CHECK-X86_64:     Type: Section (0xE)379// CHECK-X86_64:     Section: __data (0x2)380// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)381// CHECK-X86_64:     Flags [ (0x0)382// CHECK-X86_64:     ]383// CHECK-X86_64:     Value: 0xD384// CHECK-X86_64:   }385// CHECK-X86_64:   Symbol {386// CHECK-X86_64:     Name: t0 (21)387// CHECK-X86_64:     Type: Section (0xE)388// CHECK-X86_64:     Section: __text (0x1)389// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)390// CHECK-X86_64:     Flags [ (0x0)391// CHECK-X86_64:     ]392// CHECK-X86_64:     Value: 0x0393// CHECK-X86_64:   }394// CHECK-X86_64:   Symbol {395// CHECK-X86_64:     Name: d (7)396// CHECK-X86_64:     Extern397// CHECK-X86_64:     Type: Undef (0x0)398// CHECK-X86_64:     Section:  (0x0)399// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)400// CHECK-X86_64:     Flags [ (0x0)401// CHECK-X86_64:     ]402// CHECK-X86_64:     Value: 0x0403// CHECK-X86_64:   }404// CHECK-X86_64:   Symbol {405// CHECK-X86_64:     Name: d2 (18)406// CHECK-X86_64:     Extern407// CHECK-X86_64:     Type: Indirect (0xA)408// CHECK-X86_64:     Section:  (0x0)409// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)410// CHECK-X86_64:     Flags [ (0x0)411// CHECK-X86_64:     ]412// CHECK-X86_64:     Value: 0x7413// CHECK-X86_64:   }414// CHECK-X86_64:   Symbol {415// CHECK-X86_64:     Name: d3 (15)416// CHECK-X86_64:     Extern417// CHECK-X86_64:     Type: Undef (0x0)418// CHECK-X86_64:     Section:  (0x0)419// CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)420// CHECK-X86_64:     Flags [ (0x200)421// CHECK-X86_64:     ]422// CHECK-X86_64:     Value: 0x0423// CHECK-X86_64:   }424// CHECK-X86_64: ]425// CHECK-X86_64: Indirect Symbols {426// CHECK-X86_64:   Number: 0427// CHECK-X86_64:   Symbols [428// CHECK-X86_64:   ]429// CHECK-X86_64: }430// CHECK-X86_64: Segment {431// CHECK-X86_64:   Cmd: LC_SEGMENT_64432// CHECK-X86_64:   Name: 433// CHECK-X86_64:   Size: 232434// CHECK-X86_64:   vmaddr: 0x0435// CHECK-X86_64:   vmsize: 0x39436// CHECK-X86_64:   fileoff: 384437// CHECK-X86_64:   filesize: 57438// CHECK-X86_64:   maxprot: rwx439// CHECK-X86_64:   initprot: rwx440// CHECK-X86_64:   nsects: 2441// CHECK-X86_64:   flags: 0x0442// CHECK-X86_64: }443// CHECK-X86_64: Dysymtab {444// CHECK-X86_64:   ilocalsym: 0445// CHECK-X86_64:   nlocalsym: 7446// CHECK-X86_64:   iextdefsym: 7447// CHECK-X86_64:   nextdefsym: 0448// CHECK-X86_64:   iundefsym: 7449// CHECK-X86_64:   nundefsym: 3450// CHECK-X86_64:   tocoff: 0451// CHECK-X86_64:   ntoc: 0452// CHECK-X86_64:   modtaboff: 0453// CHECK-X86_64:   nmodtab: 0454// CHECK-X86_64:   extrefsymoff: 0455// CHECK-X86_64:   nextrefsyms: 0456// CHECK-X86_64:   indirectsymoff: 0457// CHECK-X86_64:   nindirectsyms: 0458// CHECK-X86_64:   extreloff: 0459// CHECK-X86_64:   nextrel: 0460// CHECK-X86_64:   locreloff: 0461// CHECK-X86_64:   nlocrel: 0462// CHECK-X86_64: }463