forked from Imagelibrary/binutils-gdb
* nlmread.c (nlm_symtab_read): Clean up a bit.
* (nlm_symfile_read): Record bounds of main() so that backtrace command will know where to stop. * objfiles.c (objfile_relocate): Relocate entry point/func info for backtrace as well. * objfiles.h: Define values for invalid PCs for entry point info. * symfile.c (init_entry_point_info): Initialize invalid values with aforementioned macros. * config/alpha/tm-alphanw.h: Turn on FRAME_CHAIN_VALID_ALTERNATE to cause backtrace to stop when it gets back to main(). * config/i386/tm-i386nw.h: Ditto.
This commit is contained in:
@@ -578,6 +578,27 @@ objfile_relocate (objfile, new_offsets)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (objfile->ei.entry_point != ~0)
|
||||
objfile->ei.entry_point += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
|
||||
if (objfile->ei.entry_func_lowpc != INVALID_ENTRY_LOWPC)
|
||||
{
|
||||
objfile->ei.entry_func_lowpc += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
objfile->ei.entry_func_highpc += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
}
|
||||
|
||||
if (objfile->ei.entry_file_lowpc != INVALID_ENTRY_LOWPC)
|
||||
{
|
||||
objfile->ei.entry_file_lowpc += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
objfile->ei.entry_file_highpc += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
}
|
||||
|
||||
if (objfile->ei.main_func_lowpc != INVALID_ENTRY_LOWPC)
|
||||
{
|
||||
objfile->ei.main_func_lowpc += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
objfile->ei.main_func_highpc += ANOFFSET (delta, SECT_OFF_TEXT);
|
||||
}
|
||||
}
|
||||
|
||||
/* Many places in gdb want to test just to see if we have any partial
|
||||
|
||||
Reference in New Issue
Block a user