* unwind.c (mono_unwind_decode_fde): Fix the decoding of the lsda offset.
svn path=/trunk/mono/; revision=159752
+2010-07-01 Zoltan Varga <vargaz@gmail.com>
+
+ * unwind.c (mono_unwind_decode_fde): Fix the decoding of the lsda offset.
+
2010-06-30 Zoltan Varga <vargaz@gmail.com>
* mini.c (mini_cleanup): Avoid calling mono_runtime_shutdown () if cross
/* sdata|pcrel encoding */
if (aug_len == 4)
- lsda_offset = *(gint64*)fde_aug;
+ lsda_offset = read32 (fde_aug);
else if (aug_len == 8)
- lsda_offset = *(gint32*)fde_aug;
+ lsda_offset = *(gint64*)fde_aug;
else
g_assert_not_reached ();
if (lsda_offset != 0) {
- lsda = fde_aug + *(gint32*)fde_aug;
+ lsda = fde_aug + lsda_offset;
decode_lsda (lsda, code, ex_info, ex_info_len, type_info, this_reg, this_offset);
}