From f155bc649660e4ca1dce2f1237fecef68e662e3b Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 13 Mar 2012 17:07:50 +0000 Subject: [PATCH] Assert DWARF register size <= saved reg size 2012-03-13 H.J. Lu * unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size <= saved reg size. From-SVN: r185346 --- libgcc/ChangeLog | 5 +++++ libgcc/unwind-dw2.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index ad7cc260d91..bcefebb84dd 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2012-03-13 H.J. Lu + + * unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size + <= saved reg size. + 2012-03-13 Rainer Orth * config/arm/crtn.S: Fix typo. diff --git a/libgcc/unwind-dw2.c b/libgcc/unwind-dw2.c index 475ad00bf52..d1c62eef153 100644 --- a/libgcc/unwind-dw2.c +++ b/libgcc/unwind-dw2.c @@ -294,7 +294,8 @@ _Unwind_SetGRValue (struct _Unwind_Context *context, int index, { index = DWARF_REG_TO_UNWIND_COLUMN (index); gcc_assert (index < (int) sizeof(dwarf_reg_size_table)); - gcc_assert (dwarf_reg_size_table[index] == sizeof (_Unwind_Context_Reg_Val)); + /* Return column size may be smaller than _Unwind_Context_Reg_Val. */ + gcc_assert (dwarf_reg_size_table[index] <= sizeof (_Unwind_Context_Reg_Val)); context->by_value[index] = 1; context->reg[index] = _Unwind_Get_Unwind_Context_Reg_Val (val);