#ifndef MONO_CROSS_COMPILE
+static void print_process_map ()
+{
+#ifdef __linux__
+ FILE *fp = fopen ("/proc/self/maps", "r");
+ char line [256];
+
+ if (fp == NULL) {
+ mono_runtime_printf_err ("no /proc/self/maps, not on linux?\n");
+ return;
+ }
+
+ mono_runtime_printf_err ("/proc/self/maps:");
+
+ while (fgets (line, sizeof (line), fp)) {
+ // strip newline
+ size_t len = strlen (line) - 1;
+ if (len >= 0 && line [len] == '\n')
+ line [len] = '\0';
+
+ mono_runtime_printf_err ("%s", line);
+ }
+
+ fclose (fp);
+#else
+ /* do nothing */
+#endif
+}
+
static gboolean handling_sigsegv = FALSE;
/*
mono_walk_stack (print_stack_frame_to_stderr, MONO_UNWIND_LOOKUP_IL_OFFSET, NULL);
}
+ print_process_map ();
+
#ifdef HAVE_BACKTRACE_SYMBOLS
{
void *array [256];