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