## 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: ]