Home | History | Annotate | Download | only in AArch64
      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