1cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -relocation-model=pic -filetype=obj -o %t.o %s
2cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -verify -check=%s %t.o
3cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# RUN: rm %t.o
4cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
5cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines        .section	__TEXT,__text,regular,pure_instructions
6cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	.globl	foo
7cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	.align	4, 0x90
8cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hinesfoo:
9cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines        retq
10cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
11cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	.globl	main
12cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	.align	4, 0x90
13cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hinesmain:
14cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# Test PC-rel branch.
15cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# rtdyld-check: decode_operand(insn1, 0) = foo - next_pc(insn1)
16cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hinesinsn1:
17cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines        callq	foo
18cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
19cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# Test PC-rel signed.
20cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines# rtdyld-check: decode_operand(insn2, 4) = x - next_pc(insn2)
21cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hinesinsn2:
22cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	movl	x(%rip), %eax
23cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	movl	$0, %eax
24cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	retq
25cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
26cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines        .section	__DATA,__data
27cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	.globl	x
28cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines	.align	2
29cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hinesx:
30cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines        .long   5
31cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines
32cd81d94322a39503e4a3e87b6ee03d4fcb3465fbStephen Hines.subsections_via_symbols
33