forked from OSchip/llvm-project
26 lines
785 B
ArmAsm
26 lines
785 B
ArmAsm
# REQUIRES: aarch64
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o
|
|
# RUN: ld.lld --hash-style=sysv -shared %t.o -o %t
|
|
# RUN: llvm-objdump %t -d | FileCheck %s --check-prefix=DISASM
|
|
# RUN: llvm-readelf %t -t | FileCheck %s --check-prefix=SYM
|
|
|
|
# It would be much easier to understand/read this test if llvm-objdump would print
|
|
# the immediates in hex.
|
|
# IMM = hex(65540) = 0x10004
|
|
# PC = 0x10000
|
|
# As the relocation is PC-relative, IMM + PC = 0x20004 which is the VA of the
|
|
# correct symbol.
|
|
|
|
# DISASM: Disassembly of section .text:
|
|
# DISASM-NEXT: $x.0:
|
|
# DISASM-NEXT: 10000: 28 00 08 58 ldr x8, #65540
|
|
|
|
# SYM: Symbol table '.symtab'
|
|
# SYM: 0000000000020004 0 NOTYPE LOCAL DEFAULT 5 patatino
|
|
|
|
ldr x8, patatino
|
|
.data
|
|
.zero 4
|
|
patatino:
|