llvm-project/lld/test/ELF/pr34660.s
Fangrui Song 7f36cb1f1a [AArch64InstPrinter] Change printAlignedLabel to print the target address in hexadecimal form
Similar to D76580 (x86) and D76591 (PPC).

```
// llvm-objdump -d output (before)
10000: 08 00 00 94                   bl      #32
10004: 08 00 00 94                   bl      #32

// llvm-objdump -d output (after)
10000: 08 00 00 94                   bl      0x10020
10004: 08 00 00 94                   bl      0x10024

// GNU objdump -d. The lack of 0x is not ideal due to ambiguity.
10000:       94000008        bl      10020 <bar+0x18>
10004:       94000008        bl      10024 <bar+0x1c>
```

The new output makes it easier to find the jump target.

Differential Revision: https://reviews.llvm.org/D77853
2020-04-10 09:21:09 -07:00

27 lines
814 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 --no-show-raw-insn | FileCheck %s --check-prefix=DISASM
# RUN: llvm-readelf %t --symbols | 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-EMPTY:
# DISASM-NEXT: <$x.0>:
# DISASM-NEXT: 1022c: ldr x8, 0x30294
# SYM: Symbol table '.symtab'
# SYM: 0000000000030294 0 NOTYPE LOCAL DEFAULT 6 patatino
ldr x8, patatino
.data
.zero 4
patatino: