493 lines · plain
1// RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - | llvm-readobj --symbols - | FileCheck %s2 3 .text4L0:5D0:6 .section __TEXT,__text,regular,pure_instructions7L1:8D1:9 .const10L2:11D2:12 .static_const13L3:14D3:15 .cstring16L4:17D4:18 .literal419L5:20D5:21 .literal822L6:23D6:24 .literal1625L7:26D7:27 .constructor28L8:29D8:30 .destructor31L9:32D9:33// .symbol_stub34//L10:35//D10:36// .picsymbol_stub37//L11:38//D11:39 .data40L12:41D12:42 .static_data43L13:44D13:45// .non_lazy_symbol_pointer46//L14:47//D14:48// .lazy_symbol_pointer49//L15:50//D15:51 .dyld52L16:53D16:54 .mod_init_func55L17:56D17:57 .mod_term_func58L18:59D18:60 .const_data61L19:62D19:63 .objc_class64L20:65D20:66 .objc_meta_class67L21:68D21:69 .objc_cat_cls_meth70L22:71D22:72 .objc_cat_inst_meth73L23:74D23:75 .objc_protocol76L24:77D24:78 .objc_string_object79L25:80D25:81 .objc_cls_meth82L26:83D26:84 .objc_inst_meth85L27:86D27:87 .objc_cls_refs88L28:89D28:90 .objc_message_refs91L29:92D29:93 .objc_symbols94L30:95D30:96 .objc_category97L31:98D31:99 .objc_class_vars100L32:101D32:102 .objc_instance_vars103L33:104D33:105 .objc_module_info106L34:107D34:108 .objc_class_names109L35:110D35:111 .objc_meth_var_types112L36:113D36:114 .objc_meth_var_names115L37:116D37:117 .objc_selector_strs118L38:119D38:120// .section __TEXT,__picsymbolstub4,symbol_stubs,none,16121//L39:122//D39:123 124 .section foo, bar125 .long L4 + 1126 .long L35 + 1127 .long L36 + 1128 .long L37 + 1129 .long L38 + 1130 131// CHECK: Symbols [132// CHECK-NEXT: Symbol {133// CHECK-NEXT: Name: D0 (139)134// CHECK-NEXT: Type: Section (0xE)135// CHECK-NEXT: Section: __text (0x1)136// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)137// CHECK-NEXT: Flags [ (0x0)138// CHECK-NEXT: ]139// CHECK-NEXT: Value: 0x0140// CHECK-NEXT: }141// CHECK-NEXT: Symbol {142// CHECK-NEXT: Name: D1 (128)143// CHECK-NEXT: Type: Section (0xE)144// CHECK-NEXT: Section: __text (0x1)145// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)146// CHECK-NEXT: Flags [ (0x0)147// CHECK-NEXT: ]148// CHECK-NEXT: Value: 0x0149// CHECK-NEXT: }150// CHECK-NEXT: Symbol {151// CHECK-NEXT: Name: D2 (113)152// CHECK-NEXT: Type: Section (0xE)153// CHECK-NEXT: Section: __const (0x2)154// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)155// CHECK-NEXT: Flags [ (0x0)156// CHECK-NEXT: ]157// CHECK-NEXT: Value: 0x0158// CHECK-NEXT: }159// CHECK-NEXT: Symbol {160// CHECK-NEXT: Name: D3 (98)161// CHECK-NEXT: Type: Section (0xE)162// CHECK-NEXT: Section: __static_const (0x3)163// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)164// CHECK-NEXT: Flags [ (0x0)165// CHECK-NEXT: ]166// CHECK-NEXT: Value: 0x0167// CHECK-NEXT: }168// CHECK-NEXT: Symbol {169// CHECK-NEXT: Name: L4 (84)170// CHECK-NEXT: Type: Section (0xE)171// CHECK-NEXT: Section: __cstring (0x4)172// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)173// CHECK-NEXT: Flags [ (0x0)174// CHECK-NEXT: ]175// CHECK-NEXT: Value: 0x0176// CHECK-NEXT: }177// CHECK-NEXT: Symbol {178// CHECK-NEXT: Name: D4 (87)179// CHECK-NEXT: Type: Section (0xE)180// CHECK-NEXT: Section: __cstring (0x4)181// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)182// CHECK-NEXT: Flags [ (0x0)183// CHECK-NEXT: ]184// CHECK-NEXT: Value: 0x0185// CHECK-NEXT: }186// CHECK-NEXT: Symbol {187// CHECK-NEXT: Name: D5 (69)188// CHECK-NEXT: Type: Section (0xE)189// CHECK-NEXT: Section: __literal4 (0x5)190// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)191// CHECK-NEXT: Flags [ (0x0)192// CHECK-NEXT: ]193// CHECK-NEXT: Value: 0x0194// CHECK-NEXT: }195// CHECK-NEXT: Symbol {196// CHECK-NEXT: Name: D6 (50)197// CHECK-NEXT: Type: Section (0xE)198// CHECK-NEXT: Section: __literal8 (0x6)199// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)200// CHECK-NEXT: Flags [ (0x0)201// CHECK-NEXT: ]202// CHECK-NEXT: Value: 0x0203// CHECK-NEXT: }204// CHECK-NEXT: Symbol {205// CHECK-NEXT: Name: D7 (31)206// CHECK-NEXT: Type: Section (0xE)207// CHECK-NEXT: Section: __literal16 (0x7)208// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)209// CHECK-NEXT: Flags [ (0x0)210// CHECK-NEXT: ]211// CHECK-NEXT: Value: 0x0212// CHECK-NEXT: }213// CHECK-NEXT: Symbol {214// CHECK-NEXT: Name: D8 (12)215// CHECK-NEXT: Type: Section (0xE)216// CHECK-NEXT: Section: __constructor (0x8)217// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)218// CHECK-NEXT: Flags [ (0x0)219// CHECK-NEXT: ]220// CHECK-NEXT: Value: 0x0221// CHECK-NEXT: }222// CHECK-NEXT: Symbol {223// CHECK-NEXT: Name: D9 (1)224// CHECK-NEXT: Type: Section (0xE)225// CHECK-NEXT: Section: __destructor (0x9)226// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)227// CHECK-NEXT: Flags [ (0x0)228// CHECK-NEXT: ]229// CHECK-NEXT: Value: 0x0230// CHECK-NEXT: }231// CHECK-NEXT: Symbol {232// CHECK-NEXT: Name: D12 (124)233// CHECK-NEXT: Type: Section (0xE)234// CHECK-NEXT: Section: __data (0xA)235// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)236// CHECK-NEXT: Flags [ (0x0)237// CHECK-NEXT: ]238// CHECK-NEXT: Value: 0x0239// CHECK-NEXT: }240// CHECK-NEXT: Symbol {241// CHECK-NEXT: Name: D13 (109)242// CHECK-NEXT: Type: Section (0xE)243// CHECK-NEXT: Section: __static_data (0xB)244// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)245// CHECK-NEXT: Flags [ (0x0)246// CHECK-NEXT: ]247// CHECK-NEXT: Value: 0x0248// CHECK-NEXT: }249// CHECK-NEXT: Symbol {250// CHECK-NEXT: Name: D16 (65)251// CHECK-NEXT: Type: Section (0xE)252// CHECK-NEXT: Section: __dyld (0xC)253// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)254// CHECK-NEXT: Flags [ (0x0)255// CHECK-NEXT: ]256// CHECK-NEXT: Value: 0x0257// CHECK-NEXT: }258// CHECK-NEXT: Symbol {259// CHECK-NEXT: Name: D17 (46)260// CHECK-NEXT: Type: Section (0xE)261// CHECK-NEXT: Section: __mod_init_func (0xD)262// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)263// CHECK-NEXT: Flags [ (0x0)264// CHECK-NEXT: ]265// CHECK-NEXT: Value: 0x0266// CHECK-NEXT: }267// CHECK-NEXT: Symbol {268// CHECK-NEXT: Name: D18 (27)269// CHECK-NEXT: Type: Section (0xE)270// CHECK-NEXT: Section: __mod_term_func (0xE)271// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)272// CHECK-NEXT: Flags [ (0x0)273// CHECK-NEXT: ]274// CHECK-NEXT: Value: 0x0275// CHECK-NEXT: }276// CHECK-NEXT: Symbol {277// CHECK-NEXT: Name: D19 (8)278// CHECK-NEXT: Type: Section (0xE)279// CHECK-NEXT: Section: __const (0xF)280// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)281// CHECK-NEXT: Flags [ (0x0)282// CHECK-NEXT: ]283// CHECK-NEXT: Value: 0x0284// CHECK-NEXT: }285// CHECK-NEXT: Symbol {286// CHECK-NEXT: Name: D20 (146)287// CHECK-NEXT: Type: Section (0xE)288// CHECK-NEXT: Section: __class (0x10)289// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)290// CHECK-NEXT: Flags [ (0x0)291// CHECK-NEXT: ]292// CHECK-NEXT: Value: 0x0293// CHECK-NEXT: }294// CHECK-NEXT: Symbol {295// CHECK-NEXT: Name: D21 (135)296// CHECK-NEXT: Type: Section (0xE)297// CHECK-NEXT: Section: __meta_class (0x11)298// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)299// CHECK-NEXT: Flags [ (0x0)300// CHECK-NEXT: ]301// CHECK-NEXT: Value: 0x0302// CHECK-NEXT: }303// CHECK-NEXT: Symbol {304// CHECK-NEXT: Name: D22 (120)305// CHECK-NEXT: Type: Section (0xE)306// CHECK-NEXT: Section: __cat_cls_meth (0x12)307// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)308// CHECK-NEXT: Flags [ (0x0)309// CHECK-NEXT: ]310// CHECK-NEXT: Value: 0x0311// CHECK-NEXT: }312// CHECK-NEXT: Symbol {313// CHECK-NEXT: Name: D23 (105)314// CHECK-NEXT: Type: Section (0xE)315// CHECK-NEXT: Section: __cat_inst_meth (0x13)316// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)317// CHECK-NEXT: Flags [ (0x0)318// CHECK-NEXT: ]319// CHECK-NEXT: Value: 0x0320// CHECK-NEXT: }321// CHECK-NEXT: Symbol {322// CHECK-NEXT: Name: D24 (94)323// CHECK-NEXT: Type: Section (0xE)324// CHECK-NEXT: Section: __protocol (0x14)325// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)326// CHECK-NEXT: Flags [ (0x0)327// CHECK-NEXT: ]328// CHECK-NEXT: Value: 0x0329// CHECK-NEXT: }330// CHECK-NEXT: Symbol {331// CHECK-NEXT: Name: D25 (80)332// CHECK-NEXT: Type: Section (0xE)333// CHECK-NEXT: Section: __string_object (0x15)334// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)335// CHECK-NEXT: Flags [ (0x0)336// CHECK-NEXT: ]337// CHECK-NEXT: Value: 0x0338// CHECK-NEXT: }339// CHECK-NEXT: Symbol {340// CHECK-NEXT: Name: D26 (61)341// CHECK-NEXT: Type: Section (0xE)342// CHECK-NEXT: Section: __cls_meth (0x16)343// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)344// CHECK-NEXT: Flags [ (0x0)345// CHECK-NEXT: ]346// CHECK-NEXT: Value: 0x0347// CHECK-NEXT: }348// CHECK-NEXT: Symbol {349// CHECK-NEXT: Name: D27 (42)350// CHECK-NEXT: Type: Section (0xE)351// CHECK-NEXT: Section: __inst_meth (0x17)352// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)353// CHECK-NEXT: Flags [ (0x0)354// CHECK-NEXT: ]355// CHECK-NEXT: Value: 0x0356// CHECK-NEXT: }357// CHECK-NEXT: Symbol {358// CHECK-NEXT: Name: D28 (23)359// CHECK-NEXT: Type: Section (0xE)360// CHECK-NEXT: Section: __cls_refs (0x18)361// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)362// CHECK-NEXT: Flags [ (0x0)363// CHECK-NEXT: ]364// CHECK-NEXT: Value: 0x0365// CHECK-NEXT: }366// CHECK-NEXT: Symbol {367// CHECK-NEXT: Name: D29 (4)368// CHECK-NEXT: Type: Section (0xE)369// CHECK-NEXT: Section: __message_refs (0x19)370// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)371// CHECK-NEXT: Flags [ (0x0)372// CHECK-NEXT: ]373// CHECK-NEXT: Value: 0x0374// CHECK-NEXT: }375// CHECK-NEXT: Symbol {376// CHECK-NEXT: Name: D30 (142)377// CHECK-NEXT: Type: Section (0xE)378// CHECK-NEXT: Section: __symbols (0x1A)379// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)380// CHECK-NEXT: Flags [ (0x0)381// CHECK-NEXT: ]382// CHECK-NEXT: Value: 0x0383// CHECK-NEXT: }384// CHECK-NEXT: Symbol {385// CHECK-NEXT: Name: D31 (131)386// CHECK-NEXT: Type: Section (0xE)387// CHECK-NEXT: Section: __category (0x1B)388// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)389// CHECK-NEXT: Flags [ (0x0)390// CHECK-NEXT: ]391// CHECK-NEXT: Value: 0x0392// CHECK-NEXT: }393// CHECK-NEXT: Symbol {394// CHECK-NEXT: Name: D32 (116)395// CHECK-NEXT: Type: Section (0xE)396// CHECK-NEXT: Section: __class_vars (0x1C)397// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)398// CHECK-NEXT: Flags [ (0x0)399// CHECK-NEXT: ]400// CHECK-NEXT: Value: 0x0401// CHECK-NEXT: }402// CHECK-NEXT: Symbol {403// CHECK-NEXT: Name: D33 (101)404// CHECK-NEXT: Type: Section (0xE)405// CHECK-NEXT: Section: __instance_vars (0x1D)406// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)407// CHECK-NEXT: Flags [ (0x0)408// CHECK-NEXT: ]409// CHECK-NEXT: Value: 0x0410// CHECK-NEXT: }411// CHECK-NEXT: Symbol {412// CHECK-NEXT: Name: D34 (90)413// CHECK-NEXT: Type: Section (0xE)414// CHECK-NEXT: Section: __module_info (0x1E)415// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)416// CHECK-NEXT: Flags [ (0x0)417// CHECK-NEXT: ]418// CHECK-NEXT: Value: 0x0419// CHECK-NEXT: }420// CHECK-NEXT: Symbol {421// CHECK-NEXT: Name: L35 (72)422// CHECK-NEXT: Type: Section (0xE)423// CHECK-NEXT: Section: __cstring (0x4)424// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)425// CHECK-NEXT: Flags [ (0x0)426// CHECK-NEXT: ]427// CHECK-NEXT: Value: 0x0428// CHECK-NEXT: }429// CHECK-NEXT: Symbol {430// CHECK-NEXT: Name: D35 (76)431// CHECK-NEXT: Type: Section (0xE)432// CHECK-NEXT: Section: __cstring (0x4)433// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)434// CHECK-NEXT: Flags [ (0x0)435// CHECK-NEXT: ]436// CHECK-NEXT: Value: 0x0437// CHECK-NEXT: }438// CHECK-NEXT: Symbol {439// CHECK-NEXT: Name: L36 (53)440// CHECK-NEXT: Type: Section (0xE)441// CHECK-NEXT: Section: __cstring (0x4)442// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)443// CHECK-NEXT: Flags [ (0x0)444// CHECK-NEXT: ]445// CHECK-NEXT: Value: 0x0446// CHECK-NEXT: }447// CHECK-NEXT: Symbol {448// CHECK-NEXT: Name: D36 (57)449// CHECK-NEXT: Type: Section (0xE)450// CHECK-NEXT: Section: __cstring (0x4)451// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)452// CHECK-NEXT: Flags [ (0x0)453// CHECK-NEXT: ]454// CHECK-NEXT: Value: 0x0455// CHECK-NEXT: }456// CHECK-NEXT: Symbol {457// CHECK-NEXT: Name: L37 (34)458// CHECK-NEXT: Type: Section (0xE)459// CHECK-NEXT: Section: __cstring (0x4)460// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)461// CHECK-NEXT: Flags [ (0x0)462// CHECK-NEXT: ]463// CHECK-NEXT: Value: 0x0464// CHECK-NEXT: }465// CHECK-NEXT: Symbol {466// CHECK-NEXT: Name: D37 (38)467// CHECK-NEXT: Type: Section (0xE)468// CHECK-NEXT: Section: __cstring (0x4)469// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)470// CHECK-NEXT: Flags [ (0x0)471// CHECK-NEXT: ]472// CHECK-NEXT: Value: 0x0473// CHECK-NEXT: }474// CHECK-NEXT: Symbol {475// CHECK-NEXT: Name: L38 (15)476// CHECK-NEXT: Type: Section (0xE)477// CHECK-NEXT: Section: __selector_strs (0x1F)478// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)479// CHECK-NEXT: Flags [ (0x0)480// CHECK-NEXT: ]481// CHECK-NEXT: Value: 0x0482// CHECK-NEXT: }483// CHECK-NEXT: Symbol {484// CHECK-NEXT: Name: D38 (19)485// CHECK-NEXT: Type: Section (0xE)486// CHECK-NEXT: Section: __selector_strs (0x1F)487// CHECK-NEXT: RefType: UndefinedNonLazy (0x0)488// CHECK-NEXT: Flags [ (0x0)489// CHECK-NEXT: ]490// CHECK-NEXT: Value: 0x0491// CHECK-NEXT: }492// CHECK-NEXT: ]493