mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 16:31:16 +00:00
acaf8f5618
(See e.g. http://bb.pgr.jp/builders/cmake-llvm-x86_64-linux/builds/17653) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220249 91177308-0d34-0410-b5e6-96231b3b80d8
43 lines
1.0 KiB
ArmAsm
43 lines
1.0 KiB
ArmAsm
# RUN: llvm-mc -triple=x86_64-apple-macosx10.9 -relocation-model=pic -filetype=obj -o %T/test_x86-64.o %s
|
|
# RUN: llvm-rtdyld -triple=x86_64-apple-macosx10.9 -verify -check=%s %/T/test_x86-64.o
|
|
|
|
.section __TEXT,__text,regular,pure_instructions
|
|
.globl foo
|
|
.align 4, 0x90
|
|
foo:
|
|
retq
|
|
|
|
.globl main
|
|
.align 4, 0x90
|
|
main:
|
|
# Test PC-rel branch.
|
|
# rtdyld-check: decode_operand(insn1, 0) = foo - next_pc(insn1)
|
|
insn1:
|
|
callq foo
|
|
|
|
# Test PC-rel signed.
|
|
# rtdyld-check: decode_operand(insn2, 4) = x - next_pc(insn2)
|
|
insn2:
|
|
movl x(%rip), %eax
|
|
|
|
# Test PC-rel GOT relocation.
|
|
# Verify both the contents of the GOT entry for y, and that the movq instruction
|
|
# references the correct GOT entry address:
|
|
# rtdyld-check: *{8}(stub_addr(test_x86-64.o, __text, y)) = y
|
|
# rtdyld-check: decode_operand(insn3, 4) = stub_addr(test_x86-64.o, __text, y) - next_pc(insn3)
|
|
insn3:
|
|
movq y@GOTPCREL(%rip), %rax
|
|
|
|
movl $0, %eax
|
|
retq
|
|
|
|
.comm y,4,2
|
|
|
|
.section __DATA,__data
|
|
.globl x
|
|
.align 2
|
|
x:
|
|
.long 5
|
|
|
|
.subsections_via_symbols
|