Fixed a crash in llvm-mc for Mach-O when a symbol difference expression uses a
[oota-llvm.git] / test / MC / MachO / darwin-x86_64-diff-reloc-assign.s
1 // RUN: llvm-mc -triple x86_64-apple-darwin9 %s -filetype=obj -o - | macho-dump --dump-section-data | FileCheck %s
2
3 // Test case for rdar://10743265
4
5 // This tests that this expression does not cause a crash and produces two
6 // relocation entries:
7 // Relocation information (__TEXT,__text) 2 entries
8 // address  pcrel length extern type    scattered symbolnum/value
9 // 00000000 False long   True   SUB     False     _base
10 // 00000000 False long   True   UNSIGND False     _start_ap_2
11
12 _base = .
13
14 .long (0x2000) + _start_ap_2 - _base 
15 .word 0
16
17 _start_ap_2:
18         cli
19
20 // CHECK:   ('_relocations', [
21 // CHECK:     # Relocation 0
22 // CHECK:     (('word-0', 0x0),
23 // CHECK:      ('word-1', 0x5c000000)),
24 // CHECK:     # Relocation 1
25 // CHECK:     (('word-0', 0x0),
26 // CHECK:      ('word-1', 0xc000001)),
27 // CHECK:   ])