tdie = ".LDIE_I4";
}
break;
+ case MONO_TYPE_PTR:
+ tdie = ".LDIE_I";
+ break;
default:
tdie = ".LDIE_I4";
break;
g_assert (code_size);
-#ifndef _EGLIB_MAJOR
+#ifdef _EGLIB_MAJOR
+ /* g_array is not implemented in eglib */
+ return;
+#else
ln_array = g_array_sized_new (FALSE, FALSE, sizeof (MonoDebugLineNumberEntry),
debug_info->num_line_numbers);
g_array_append_vals (ln_array, debug_info->line_numbers, debug_info->num_line_numbers);
loc = mono_debug_symfile_lookup_location (minfo, il_offset);
- if (loc) {
+ // Added the loc->source_file check as otherwise we can
+ // crash, see the sample in bug 553191 that makes this code
+ // crash when we call strcmp on loc->source_file below
+ if (loc && loc->source_file) {
int line_diff = (gint32)loc->row - (gint32)prev_line;
int addr_diff = i - prev_native_offset;