[lld] r335849 - [ELF] - EhFrame.cpp: add test case to cover "DW_EH_PE_aligned encoding is not supported" error.

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


Author: grimar
Date: Thu Jun 28 05:46:56 2018
New Revision: 335849

URL: http://llvm.org/viewvc/llvm-project?rev=335849&view=rev
Log:
[ELF] - EhFrame.cpp: add test case to cover "DW_EH_PE_aligned encoding is not supported" error.

It is https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L144,
and we had no test case to cover it.

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

Added: lld/trunk/test/ELF/invalid-eh-frame7.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/invalid-eh-frame7.s?rev=335849&view=auto
==============================================================================
--- lld/trunk/test/ELF/invalid-eh-frame7.s (added)
+++ lld/trunk/test/ELF/invalid-eh-frame7.s Thu Jun 28 05:46:56 2018
@@ -0,0 +1,30 @@
+# 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: DW_EH_PE_aligned encoding is not supported
+
+.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 0x51
+  .byte 0x01
+  .byte 0x01
+  .byte 0x01




More information about the llvm-commits mailing list