[lld] [lld][ELF][AVR] Add range check for R_AVR_13_PCREL (PR #67636)

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 28 10:23:41 PDT 2023


================
@@ -0,0 +1,33 @@
+; REQUIRES: avr
+; RUN: llvm-mc -filetype=obj -triple=avr -mcpu=atmega328 %s -o %t.o
+; RUN: not ld.lld %t.o -o %ta 2>&1 -Ttext=0x1000 --defsym=callee=0xf00  | \
+; RUN:     FileCheck %s --check-prefix=CHECKA --implicit-check-not=R_AVR_13_PCREL
+; RUN: not ld.lld %t.o -o %ta 2>&1 -Ttext=0x1000 --defsym=callee=0x2048  | \
+; RUN:     FileCheck %s --check-prefix=CHECKB --implicit-check-not=R_AVR_CALL
+; RUN: not ld.lld %t.o -o %ta 2>&1 -Ttext=0x1000 --defsym=callee=0x100f  | \
+; RUN:     FileCheck %s --check-prefix=CHECKC
+
+.section .LDI,"ax", at progbits
+
+.globl __init
+__init:
+
+; CHECKA: error: {{.*}} relocation R_AVR_7_PCREL out of range: {{.*}} is not in [-64, 63];
----------------
MaskRay wrote:

Do not omit the `; references <sym>` part: 
`error: {{.*}} relocation R_AVR_7_PCREL out of range: {{.*}} is not in [-64, 63]; references ...`

https://github.com/llvm/llvm-project/pull/67636


More information about the llvm-commits mailing list