From e420cd8d05c014462a3fd65943317ec803d4c0b8 Mon Sep 17 00:00:00 2001 From: George Rimar Date: Mon, 16 Jul 2018 15:27:53 +0000 Subject: [PATCH] [ELF] - Cover ObjFile::getLineInfo() with a test. There was no test for the first `return`. llvm-svn: 337182 --- lld/test/ELF/x86-64-reloc-range-debug-loc.s | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lld/test/ELF/x86-64-reloc-range-debug-loc.s diff --git a/lld/test/ELF/x86-64-reloc-range-debug-loc.s b/lld/test/ELF/x86-64-reloc-range-debug-loc.s new file mode 100644 index 0000000..8be4df3 --- /dev/null +++ b/lld/test/ELF/x86-64-reloc-range-debug-loc.s @@ -0,0 +1,36 @@ +# REQUIRES: x86 +# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %S/Inputs/x86-64-reloc-error.s -o %tabs +# RUN: llvm-mc %s -o %t.o -triple x86_64-pc-linux -filetype=obj +# RUN: not ld.lld %tabs %t.o -o /dev/null -shared 2>&1 | FileCheck %s + +## Check we are able to report file and location from debug information +## when reporting such kind of errors. +# CHECK: error: test.s:3: relocation R_X86_64_32 out of range: 68719476736 is not in [0, 4294967295] + +.section .text,"ax",@progbits +foo: +.file 1 "test.s" +.loc 1 3 + movl $big, %edx + +.section .debug_abbrev,"",@progbits +.byte 1 # Abbreviation Code +.byte 17 # DW_TAG_compile_unit +.byte 0 # DW_CHILDREN_no +.byte 16 # DW_AT_stmt_list +.byte 23 # DW_FORM_sec_offset +.byte 0 # EOM(1) +.byte 0 # EOM(2) +.byte 0 # EOM(3) + +.section .debug_info,"",@progbits +.long .Lend0 - .Lbegin0 # Length of Unit +.Lbegin0: +.short 4 # DWARF version number +.long .debug_abbrev # Offset Into Abbrev. Section +.byte 8 # Address Size (in bytes) +.byte 1 # Abbrev [1] 0xb:0x1f DW_TAG_compile_unit +.long .debug_line # DW_AT_stmt_list +.Lend0: + +.section .debug_line,"",@progbits -- 2.7.4