1# RUN: not ld64.lld.darwinold -arch arm64 %s -r \
2# RUN: 2> %t.err
3# RUN: FileCheck %s < %t.err
4
5
6--- !mach-o
7arch:            arm64
8file-type:       MH_OBJECT
9flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
10sections:
11  - segment:         __TEXT
12    section:         __text
13    type:            S_REGULAR
14    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
15    alignment:       4
16    address:         0x0000000000000000
17    content:         [ 0xFF, 0x83, 0x00, 0xD1, 0xE0, 0x0B, 0x00, 0xF9,
18                       0x08, 0x00, 0x40, 0xB9, 0x08, 0x0D, 0x00, 0x71,
19                       0x08, 0x09, 0x00, 0x71, 0xE8, 0x0F, 0x00, 0xB9,
20                       0xC8, 0x00, 0x00, 0x54, 0x01, 0x00, 0x00, 0x14,
21                       0xE8, 0x03, 0x00, 0x32, 0x08, 0x01, 0x00, 0x12,
22                       0xE8, 0x7F, 0x00, 0x39, 0x02, 0x00, 0x00, 0x14 ]
23  - segment:         __DATA
24    section:         __data
25    type:            S_REGULAR
26    attributes:      [  ]
27    alignment:       8
28    address:         0x000000000001C348
29    content:         [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
30                       0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
31                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
33                       0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
34                       0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
35                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
36                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
37    relocations:
38
39# Make sure that the offsets of the subtractor and unsigned both match.
40# CHECK: bad relocation (paired relocs must have the same offset) in section __DATA/__data (r1_address=1, r1_type=1, r1_extern=1, r1_length=3, r1_pcrel=0, r1_symbolnum=1), (r2_address=0, r2_type=0, r2_extern=1, r2_length=3, r2_pcrel=0, r2_symbolnum=1)
41      - offset:          0x00000001
42        type:            ARM64_RELOC_SUBTRACTOR
43        length:          3
44        pc-rel:          false
45        extern:          true
46        symbol:          1
47      - offset:          0x00000000
48        type:            ARM64_RELOC_UNSIGNED
49        length:          3
50        pc-rel:          false
51        extern:          true
52        symbol:          1
53global-symbols:
54  - name:            _f1
55    type:            N_SECT
56    sect:            2
57    value:           0x000000000001C348
58  - name:            _f2
59    type:            N_SECT
60    sect:            1
61    value:           0x0000000000000010
62  - name:            _f3
63    type:            N_SECT
64    sect:            1
65    value:           0x0000000000000020
66