25 lines
858 B
ArmAsm
25 lines
858 B
ArmAsm
## A label difference separated by an alignment directive, when the
|
|
## referenced symbols are in a non-executable section with instructions,
|
|
## should generate ADD/SUB relocations.
|
|
## https://github.com/llvm/llvm-project/pull/76552
|
|
|
|
# RUN: llvm-mc --filetype=obj --triple=riscv64 --mattr=+relax %s \
|
|
# RUN: | llvm-readobj -r - | FileCheck --check-prefixes=CHECK,RELAX %s
|
|
# RUN: llvm-mc --filetype=obj --triple=riscv64 --mattr=-relax %s \
|
|
# RUN: | llvm-readobj -r - | FileCheck %s
|
|
|
|
.section ".dummy", "a"
|
|
.L1:
|
|
call func
|
|
.p2align 3
|
|
.L2:
|
|
.dword .L2 - .L1
|
|
|
|
# CHECK: Relocations [
|
|
# CHECK-NEXT: Section ({{.*}}) .rela.dummy {
|
|
# CHECK-NEXT: 0x0 R_RISCV_CALL_PLT func 0x0
|
|
# RELAX-NEXT: 0x0 R_RISCV_RELAX - 0x0
|
|
# CHECK-NEXT: 0x8 R_RISCV_ADD64 .L2 0x0
|
|
# CHECK-NEXT: 0x8 R_RISCV_SUB64 .L1 0x0
|
|
# CHECK-NEXT: }
|
|
# CHECK-NEXT: ]
|