[lld] r368220 - Add a test demonstrating DWARF parse failures are not causing lld to exit non-zero

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 7 15:05:33 PDT 2019


Author: dblaikie
Date: Wed Aug  7 15:05:33 2019
New Revision: 368220

URL: http://llvm.org/viewvc/llvm-project?rev=368220&view=rev
Log:
Add a test demonstrating DWARF parse failures are not causing lld to exit non-zero

This bug was/is masking other issues - committing this to demonstrate
the problem/track fixing it.

Added:
    lld/trunk/test/ELF/gdb-index-parse-fail.s

Added: lld/trunk/test/ELF/gdb-index-parse-fail.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gdb-index-parse-fail.s?rev=368220&view=auto
==============================================================================
--- lld/trunk/test/ELF/gdb-index-parse-fail.s (added)
+++ lld/trunk/test/ELF/gdb-index-parse-fail.s Wed Aug  7 15:05:33 2019
@@ -0,0 +1,30 @@
+# REQUIRES: x86
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t1.o
+# RUN: ld.lld --gdb-index %t1.o -o %t 2>&1 | FileCheck %s
+
+# FIXME: ld.lld should return non-zero (add a "NOT" to start once this bug is fixed)
+
+# CHECK: error: invalid contribution to string offsets table
+
+.section .debug_abbrev,"", at progbits
+  .byte  1                           # Abbreviation Code
+  .byte  17                          # DW_TAG_compile_unit
+  .byte  0                           # DW_CHILDREN_no
+  .byte  114                         # DW_AT_str_offsets_base
+  .byte  23                          # DW_FORM_sec_offset
+  .byte  0                           # EOM(1)
+  .byte  0                           # EOM(2)
+  .byte  0                           # EOM(3)
+
+.section .debug_info,"", at progbits
+  .long  .Lunit_end0-.Lunit_begin0   # Length of Unit
+.Lunit_begin0:
+  .short 5                           # DWARF version number
+  .byte  1                           # DWARF Unit Type
+  .byte  8                           # Address Size (in bytes)
+  .long  .debug_abbrev               # Offset Into Abbrev. Section
+  
+  .byte  1                           # Abbrev [1] 0xc:0x43 DW_TAG_compile_unit
+  .long  0                           # DW_AT_str_offsets_base
+.Lunit_end0:
+




More information about the llvm-commits mailing list