1; RUN: llvm-mc -n -triple arm64-apple-darwin10 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s 2 3 .text 4_fred: 5 bl _func 6 bl _func + 20 7 8 adrp x3, _data@page 9 ldr w2, [x3, _data@pageoff] 10 11 add x3, x3, _data@pageoff + 4 12 13 adrp x3, _data@page+1 14 ldr w2, [x3, _data@pageoff + 4] 15 16 adrp x3, _data_ext@gotpage 17 ldr w2, [x3, _data_ext@gotpageoff] 18 19 .data 20_data: 21 .quad _foo 22 .quad _foo + 4 23 .quad _foo - _bar 24 .quad _foo - _bar + 4 25 26 .long _foo - _bar 27 28 .quad _foo@got 29 .long _foo@got - . 30 31 32; CHECK: ('cputype', 16777228) 33; CHECK: ('cpusubtype', 0) 34; CHECK: ('filetype', 1) 35; CHECK: ('num_load_commands', 3) 36; CHECK: ('load_commands_size', 336) 37; CHECK: ('flag', 0) 38; CHECK: ('reserved', 0) 39; CHECK: ('load_commands', [ 40; CHECK: # Load Command 0 41; CHECK: (('command', 25) 42; CHECK: ('size', 232) 43; CHECK: ('segment_name', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 44; CHECK: ('vm_addr', 0) 45; CHECK: ('vm_size', 84) 46; CHECK: ('file_offset', 368) 47; CHECK: ('file_size', 84) 48; CHECK: ('maxprot', 7) 49; CHECK: ('initprot', 7) 50; CHECK: ('num_sections', 2) 51; CHECK: ('flags', 0) 52; CHECK: ('sections', [ 53; CHECK: # Section 0 54; CHECK: (('section_name', '__text\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 55; CHECK: ('segment_name', '__TEXT\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 56; CHECK: ('address', 0) 57; CHECK: ('size', 36) 58; CHECK: ('offset', 368) 59; CHECK: ('alignment', 0) 60; CHECK: ('reloc_offset', 452) 61; CHECK: ('num_reloc', 13) 62; CHECK: ('flags', 0x80000400) 63; CHECK: ('reserved1', 0) 64; CHECK: ('reserved2', 0) 65; CHECK: ('reserved3', 0) 66; CHECK: ), 67; CHECK: ('_relocations', [ 68; CHECK: # Relocation 0 69; CHECK: (('word-0', 0x20), 70; CHECK: ('word-1', 0x6c000005)), 71; CHECK: # Relocation 1 72; CHECK: (('word-0', 0x1c), 73; CHECK: ('word-1', 0x5d000005)), 74; CHECK: # Relocation 2 75; CHECK: (('word-0', 0x18), 76; CHECK: ('word-1', 0xa4000004)), 77; CHECK: # Relocation 3 78; CHECK: (('word-0', 0x18), 79; CHECK: ('word-1', 0x4c000002)), 80; CHECK: # Relocation 4 81; CHECK: (('word-0', 0x14), 82; CHECK: ('word-1', 0xa4000001)), 83; CHECK: # Relocation 5 84; CHECK: (('word-0', 0x14), 85; CHECK: ('word-1', 0x3d000002)), 86; CHECK: # Relocation 6 87; CHECK: (('word-0', 0x10), 88; CHECK: ('word-1', 0xa4000004)), 89; CHECK: # Relocation 7 90; CHECK: (('word-0', 0x10), 91; CHECK: ('word-1', 0x4c000002)), 92; CHECK: # Relocation 8 93; CHECK: (('word-0', 0xc), 94; CHECK: ('word-1', 0x4c000002)), 95; CHECK: # Relocation 9 96; CHECK: (('word-0', 0x8), 97; CHECK: ('word-1', 0x3d000002)), 98; CHECK: # Relocation 10 99; CHECK: (('word-0', 0x4), 100; CHECK: ('word-1', 0xa4000014)), 101; CHECK: # Relocation 11 102; CHECK: (('word-0', 0x4), 103; CHECK: ('word-1', 0x2d000007)), 104; CHECK: # Relocation 12 105; CHECK: (('word-0', 0x0), 106; CHECK: ('word-1', 0x2d000007)), 107; CHECK: ]) 108; CHECK: ('_section_data', '00000094 00000094 03000090 620040b9 63000091 03000090 620040b9 03000090 620040b9') 109; CHECK: # Section 1 110; CHECK: (('section_name', '__data\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 111; CHECK: ('segment_name', '__DATA\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') 112; CHECK: ('address', 36) 113; CHECK: ('size', 48) 114; CHECK: ('offset', 404) 115; CHECK: ('alignment', 0) 116; CHECK: ('reloc_offset', 556) 117; CHECK: ('num_reloc', 10) 118; CHECK: ('flags', 0x0) 119; CHECK: ('reserved1', 0) 120; CHECK: ('reserved2', 0) 121; CHECK: ('reserved3', 0) 122; CHECK: ), 123; CHECK: ('_relocations', [ 124; CHECK: # Relocation 0 125; CHECK: (('word-0', 0x2c), 126; CHECK: ('word-1', 0x7d000006)), 127; CHECK: # Relocation 1 128; CHECK: (('word-0', 0x24), 129; CHECK: ('word-1', 0x7e000006)), 130; CHECK: # Relocation 2 131; CHECK: (('word-0', 0x20), 132; CHECK: ('word-1', 0x1c000004)), 133; CHECK: # Relocation 3 134; CHECK: (('word-0', 0x20), 135; CHECK: ('word-1', 0xc000006)), 136; CHECK: # Relocation 4 137; CHECK: (('word-0', 0x18), 138; CHECK: ('word-1', 0x1e000004)), 139; CHECK: # Relocation 5 140; CHECK: (('word-0', 0x18), 141; CHECK: ('word-1', 0xe000006)), 142; CHECK: # Relocation 6 143; CHECK: (('word-0', 0x10), 144; CHECK: ('word-1', 0x1e000004)), 145; CHECK: # Relocation 7 146; CHECK: (('word-0', 0x10), 147; CHECK: ('word-1', 0xe000006)), 148; CHECK: # Relocation 8 149; CHECK: (('word-0', 0x8), 150; CHECK: ('word-1', 0xe000006)), 151; CHECK: # Relocation 9 152; CHECK: (('word-0', 0x0), 153; CHECK: ('word-1', 0xe000006)), 154; CHECK: ]) 155; CHECK: ('_section_data', '00000000 00000000 04000000 00000000 00000000 00000000 04000000 00000000 00000000 00000000 00000000 d4ffffff') 156; CHECK: ]) 157; CHECK: ), 158