From 448ef7793d549fdbc5350f0c1a43c13ab7c6ac07 Mon Sep 17 00:00:00 2001 From: George Rimar Date: Tue, 17 Jul 2018 09:37:53 +0000 Subject: [PATCH] [ELF] - Check we able to report function symbols that encloses a location in error messages. InputSectionBase::getLocation() have the following block of the code which is uncovered by our test cases: https://github.com/llvm-mirror/lld/blob/master/ELF/InputSection.cpp#L238 Patch adds a test to trigger this branch. llvm-svn: 337256 --- lld/test/ELF/x86-64-reloc-error2.s | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lld/test/ELF/x86-64-reloc-error2.s diff --git a/lld/test/ELF/x86-64-reloc-error2.s b/lld/test/ELF/x86-64-reloc-error2.s new file mode 100644 index 000000000000..d49b67522654 --- /dev/null +++ b/lld/test/ELF/x86-64-reloc-error2.s @@ -0,0 +1,14 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o +# RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s + +## Check we are able to find a function symbol that encloses +## a given location when reporting error messages. +# CHECK: {{.*}}.o:(function func): relocation R_X86_64_32S out of range: -281474974609408 is not in [-2147483648, 2147483647] + +.section .text.func, "ax", %progbits +.globl func +.type func,@function +.size func, 0x10 +func: + movq func - 0x1000000000000, %rdx -- 2.34.1