# REQUIRES: riscv # RUN: llvm-mc -filetype=obj -triple=riscv64 %s -o %t.o # RUN: not ld.lld %t.o --defsym external=0 2>&1 | FileCheck %s # CHECK: error: R_RISCV_PCREL_LO12 relocation points to an absolute symbol: external # We provide a dummy %pcrel_hi referred to by external to appease the # assembler, but make external weak so --defsym can still override it at link # time. .weak external external: auipc sp,%pcrel_hi(external) addi sp,sp,%pcrel_lo(external)