[lld] r335847 - [ELF] - EhFrame.cpp: add test case to check "unknown FDE encoding".

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 28 05:20:04 PDT 2018


Author: grimar
Date: Thu Jun 28 05:20:04 2018
New Revision: 335847

URL: http://llvm.org/viewvc/llvm-project?rev=335847&view=rev
Log:
[ELF] - EhFrame.cpp: add test case to check "unknown FDE encoding".

It's https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L147 line,
which was untested before this patch.

Added:
    lld/trunk/test/ELF/invalid-eh-frame6.s

Added: lld/trunk/test/ELF/invalid-eh-frame6.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-eh-frame6.s?rev=335847&view=auto
==============================================================================
--- lld/trunk/test/ELF/invalid-eh-frame6.s (added)
+++ lld/trunk/test/ELF/invalid-eh-frame6.s Thu Jun 28 05:20:04 2018
@@ -0,0 +1,31 @@
+# REQUIRES: x86
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t
+# RUN: not ld.lld --eh-frame-hdr %t -o %t2 2>&1 | FileCheck %s
+
+# CHECK: error: corrupted .eh_frame: unknown FDE encoding
+# CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0xE)
+
+.section .eh_frame
+  .byte 0x0E
+  .byte 0x00
+  .byte 0x00
+  .byte 0x00
+  .byte 0x00
+  .byte 0x00
+  .byte 0x00
+  .byte 0x00
+  .byte 0x01
+  
+  .byte 0x50 # Augmentation string: 'P','\0'
+  .byte 0x00
+  
+  .byte 0x01
+  
+  .byte 0x01 # LEB128
+  .byte 0x01 # LEB128
+
+  .byte 0x01
+  .byte 0x01
+  .byte 0x01
+  .byte 0x01




More information about the llvm-commits mailing list