[lld] r337458 - [ELF] - One more test case for .eh_frame_hdr.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 19 07:27:19 PDT 2018


Author: grimar
Date: Thu Jul 19 07:27:19 2018
New Revision: 337458

URL: http://llvm.org/viewvc/llvm-project?rev=337458&view=rev
Log:
[ELF] - One more test case for .eh_frame_hdr.

This is to test the following error message:
https://github.com/llvm-mirror/lld/blob/master/ELF/SyntheticSections.cpp#L544

Which occurs when LLD meets unsupported address encoding when scans
.eh_frame to build .eh_frame_hdr section.

Added:
    lld/trunk/test/ELF/eh-frame-value-format9.s

Added: lld/trunk/test/ELF/eh-frame-value-format9.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/eh-frame-value-format9.s?rev=337458&view=auto
==============================================================================
--- lld/trunk/test/ELF/eh-frame-value-format9.s (added)
+++ lld/trunk/test/ELF/eh-frame-value-format9.s Thu Jul 19 07:27:19 2018
@@ -0,0 +1,28 @@
+# REQUIRES: x86
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+# RUN: not ld.lld --eh-frame-hdr %t.o -o %t 2>&1 | FileCheck %s
+# CHECK: error: unknown FDE size encoding
+
+.section .eh_frame, "ax"
+  .long 12   # Size
+  .long 0x00 # ID
+  .byte 0x01 # Version.
+  
+  .byte 0x52 # Augmentation string: 'R','\0'
+  .byte 0x00
+  
+# Code and data alignment factors.
+  .byte 0x01 # LEB128
+  .byte 0x01 # LEB128
+
+# Return address register.
+  .byte 0x01 # LEB128
+
+  .byte 0xFE # 'R' value: invalid <0xFE>
+
+  .byte 0xFF
+
+  .long 12  # Size
+  .long 0x14 # ID
+  .quad .eh_frame




More information about the llvm-commits mailing list