diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c index f7e207d0..0c6e1a2a 100644 --- a/gdb/z80-tdep.c +++ b/gdb/z80-tdep.c @@ -495,12 +495,15 @@ z80_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc) if (prologue_end != 0) { struct symtab_and_line prologue_sal = find_sal_for_pc (func_addr, 0); - struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); - const char *debug_format = compunit->debugformat (); - - if (debug_format != NULL && - !strncasecmp ("dwarf", debug_format, strlen("dwarf"))) - return std::max (pc, prologue_end); + if (prologue_sal.symtab != nullptr) + { + struct compunit_symtab *compunit = prologue_sal.symtab->compunit (); + const char *debug_format = compunit->debugformat (); + + if (debug_format != nullptr + && !strncasecmp ("dwarf", debug_format, strlen ("dwarf"))) + return std::max (pc, prologue_end); + } } return pc;