Assert DWARF register size <= saved reg size
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 13 Mar 2012 17:07:50 +0000 (17:07 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 13 Mar 2012 17:07:50 +0000 (10:07 -0700)
2012-03-13  H.J. Lu  <hongjiu.lu@intel.com>

* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
<= saved reg size.

From-SVN: r185346

libgcc/ChangeLog
libgcc/unwind-dw2.c

index ad7cc260d915f3d3e17596cc003b4cba5625e1fa..bcefebb84ddfdd217b2b0f35d3c185c087e15477 100644 (file)
@@ -1,3 +1,8 @@
+2012-03-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
+       <= saved reg size.
+
 2012-03-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * config/arm/crtn.S: Fix typo.
index 475ad00bf52331b6ded1592860e3426df1738fe3..d1c62eef153a6e117cc74a025b3ec487b79494ef 100644 (file)
@@ -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);