Fix inverted comparison.

llvm-svn: 260310
This commit is contained in:
Rafael Espindola 2016-02-09 22:47:34 +00:00
parent a82042eb4c
commit 9e072d30e5
2 changed files with 39 additions and 1 deletions

View File

@ -905,7 +905,7 @@ template <class ELFT> static void skipAugP(ArrayRef<uint8_t> &D) {
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);
}

View File

@ -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: