diff --git a/sm64.ld b/sm64.ld index 6ce35aa2..16b79416 100755 --- a/sm64.ld +++ b/sm64.ld @@ -147,6 +147,7 @@ SECTIONS /* hardcoded symbols to satisfy preliminary link for map parser */ #ifndef DEBUG_MAP_STACKTRACE parse_map = 0x80345678; + find_function_in_stack = 0x80345678; _mapDataSegmentRomStart = 0; gMapEntries = 0; gMapEntrySize = 0; diff --git a/src/game/crash_screen.c b/src/game/crash_screen.c index f26cd92b..63bd5a6c 100644 --- a/src/game/crash_screen.c +++ b/src/game/crash_screen.c @@ -275,6 +275,10 @@ void draw_stacktrace(OSThread *thread, s32 cause) { crash_screen_print(30, 45 + (i * 10), "STACK TRACE DISABLED"); break; } else { + if ((u32) find_function_in_stack == 0x80345678) { + return; + } + char *fname = find_function_in_stack(&temp_sp); if (fname == NULL || (*(u32*)temp_sp & 0x80000000 == 0)) { crash_screen_print(30, 45 + (i * 10), "%08X: UNKNOWN", temp_sp);