// RUN: llvm-mc -triple i386-apple-darwin9 %s -filetype=obj -o - | macho-dump | FileCheck %s .text .section __TEXT,__text,regular,pure_instructions .const .static_const .cstring .literal4 .literal8 .literal16 .constructor .destructor .symbol_stub .picsymbol_stub .data .static_data .non_lazy_symbol_pointer .lazy_symbol_pointer .dyld .mod_init_func .mod_term_func .const_data .objc_class .objc_meta_class .objc_cat_cls_meth .objc_cat_inst_meth .objc_protocol .objc_string_object .objc_cls_meth .objc_inst_meth .objc_cls_refs .objc_message_refs .objc_symbols .objc_category .objc_class_vars .objc_instance_vars .objc_module_info // FIXME: These are aliases for __TEXT, __cstring which we don't properly unique // yet. // .objc_class_names // .objc_meth_var_types // .objc_meth_var_names .objc_selector_strs .section __TEXT,__picsymbolstub4,symbol_stubs,none,16 .subsections_via_symbols // CHECK: ('cputype', 7) // CHECK: ('cpusubtype', 3) // CHECK: ('filetype', 1) // CHECK: ('num_load_commands', 1) // CHECK: ('load_commands_size', 2504) // CHECK: ('flag', 8192) // CHECK: ('load_commands', [ // CHECK: # Load Command 0 // CHECK: (('command', 1) // CHECK: ('size', 2504) // CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('vm_addr', 0) // CHECK: ('vm_size', 0) // CHECK: ('file_offset', 2532) // CHECK: ('file_size', 0) // CHECK: ('maxprot', 7) // CHECK: ('initprot', 7) // CHECK: ('num_sections', 36) // CHECK: ('flags', 0) // CHECK: ('sections', [ // CHECK: # Section 0 // CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x80000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 1 // CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 2 // CHECK: (('section_name', '__static_const\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 3 // CHECK: (('section_name', '__cstring\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x2) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 4 // CHECK: (('section_name', '__literal4\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x3) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 5 // CHECK: (('section_name', '__literal8\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 3) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x4) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 6 // CHECK: (('section_name', '__literal16\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 4) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0xe) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 7 // CHECK: (('section_name', '__constructor\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 8 // CHECK: (('section_name', '__destructor\x00\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 9 // CHECK: (('section_name', '__symbol_stub\x00\x00\x00') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x80000008) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 16) // CHECK: ), // CHECK: # Section 10 // CHECK: (('section_name', '__picsymbol_stub') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x80000008) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 26) // CHECK: ), // CHECK: # Section 11 // CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 12 // CHECK: (('section_name', '__static_data\x00\x00\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 13 // CHECK: (('section_name', '__nl_symbol_ptr\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x6) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 14 // CHECK: (('section_name', '__la_symbol_ptr\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x7) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 15 // CHECK: (('section_name', '__dyld\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 16 // CHECK: (('section_name', '__mod_init_func\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x9) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 17 // CHECK: (('section_name', '__mod_term_func\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0xa) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 18 // CHECK: (('section_name', '__const\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x0) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 19 // CHECK: (('section_name', '__class\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 20 // CHECK: (('section_name', '__meta_class\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 21 // CHECK: (('section_name', '__cat_cls_meth\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 22 // CHECK: (('section_name', '__cat_inst_meth\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 23 // CHECK: (('section_name', '__protocol\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 24 // CHECK: (('section_name', '__string_object\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 25 // CHECK: (('section_name', '__cls_meth\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 26 // CHECK: (('section_name', '__inst_meth\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 27 // CHECK: (('section_name', '__cls_refs\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000005) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 28 // CHECK: (('section_name', '__message_refs\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 2) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000005) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 29 // CHECK: (('section_name', '__symbols\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 30 // CHECK: (('section_name', '__category\x00\x00\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 31 // CHECK: (('section_name', '__class_vars\x00\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 32 // CHECK: (('section_name', '__instance_vars\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 33 // CHECK: (('section_name', '__module_info\x00\x00\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x10000000) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: ), // CHECK: # Section 34 // CHECK: (('section_name', '__selector_strs\x00') // CHECK: ('segment_name', '__OBJC\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x2) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 0) // CHECK: # Section 35 // CHECK: (('section_name', '__picsymbolstub4') // CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') // CHECK: ('address', 0) // CHECK: ('size', 0) // CHECK: ('offset', 2532) // CHECK: ('alignment', 0) // CHECK: ('reloc_offset', 0) // CHECK: ('num_reloc', 0) // CHECK: ('flags', 0x8) // CHECK: ('reserved1', 0) // CHECK: ('reserved2', 16) // CHECK: ), // CHECK: ]) // CHECK: ), // CHECK: ])