[lld] r260310 - Fix inverted comparison.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 9 14:47:34 PST 2016


Author: rafael
Date: Tue Feb  9 16:47:34 2016
New Revision: 260310

URL: http://llvm.org/viewvc/llvm-project?rev=260310&view=rev
Log:
Fix inverted comparison.

Added:
    lld/trunk/test/ELF/eh-frame-hdr-augmentation.s
Modified:
    lld/trunk/ELF/OutputSections.cpp

Modified: lld/trunk/ELF/OutputSections.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/OutputSections.cpp?rev=260310&r1=260309&r2=260310&view=diff
==============================================================================
--- lld/trunk/ELF/OutputSections.cpp (original)
+++ lld/trunk/ELF/OutputSections.cpp Tue Feb  9 16:47:34 2016
@@ -905,7 +905,7 @@ template <class ELFT> static void skipAu
   if ((Enc & 0xf0) == DW_EH_PE_aligned)
     fatal("DW_EH_PE_aligned encoding is not supported");
   size_t Size = getAugPSize<ELFT>(Enc);
-  if (Size < D.size())
+  if (Size >= D.size())
     fatal("corrupted CIE");
   D = D.slice(Size);
 }

Added: lld/trunk/test/ELF/eh-frame-hdr-augmentation.s
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/eh-frame-hdr-augmentation.s?rev=260310&view=auto
==============================================================================
--- lld/trunk/test/ELF/eh-frame-hdr-augmentation.s (added)
+++ lld/trunk/test/ELF/eh-frame-hdr-augmentation.s Tue Feb  9 16:47:34 2016
@@ -0,0 +1,38 @@
+// REQUIRES: x86
+// RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o
+// RUN: ld.lld --eh-frame-hdr %t.o -o %t -shared
+// RUN: llvm-objdump --dwarf=frames %t | FileCheck %s
+
+// CHECK: .eh_frame contents:
+
+// CHECK:      00000000 0000001c ffffffff CIE
+// CHECK-NEXT:   Version:                       1
+// CHECK-NEXT:   Augmentation:             "zPLR"
+// CHECK-NEXT:   Code alignment factor: 1
+// CHECK-NEXT:   Data alignment factor: -8
+// CHECK-NEXT:   Return address column: 16
+// CHECK-NEXT:   Augmentation data:
+
+// CHECK:      DW_CFA_def_cfa:  reg7 +8
+// CHECK-NEXT: DW_CFA_offset:   reg16 -8
+// CHECK-NEXT: DW_CFA_nop:
+// CHECK-NEXT: DW_CFA_nop:
+
+// CHECK:      00000020 00000014 00000024 FDE cie=00000024 pc=00000dd8...00000dd8
+// CHECK-NEXT:   DW_CFA_nop:
+// CHECK-NEXT:   DW_CFA_nop:
+// CHECK-NEXT:   DW_CFA_nop:
+
+        .cfi_startproc
+        .cfi_personality 0x9b, g
+        .cfi_lsda 0x1b, h
+        .cfi_endproc
+
+        .global g
+        .hidden g
+g:
+
+        .global h
+        .hidden h
+h:
+




More information about the llvm-commits mailing list