* arch-utils.c (displaced_step_at_entry_point): Do not call
gdbarch_convert_from_func_ptr_addr. * cris-tdep.c: Remove outdated comment. * infcall.c (call_function_by_hand): Do not call gdbarch_convert_from_func_ptr_addr after entry_point_address. * objfiles.c (entry_point_address): Call both gdbarch_convert_from_func_ptr_addr and gdbarch_addr_bits_remove.
This commit is contained in:
parent
d551e57bf7
commit
3612b1927e
5 changed files with 39 additions and 17 deletions
|
@ -279,7 +279,26 @@ init_entry_point_info (struct objfile *objfile)
|
|||
CORE_ADDR
|
||||
entry_point_address (void)
|
||||
{
|
||||
return symfile_objfile ? symfile_objfile->ei.entry_point : 0;
|
||||
struct gdbarch *gdbarch;
|
||||
CORE_ADDR entry_point;
|
||||
|
||||
if (symfile_objfile == NULL)
|
||||
return 0;
|
||||
|
||||
gdbarch = get_objfile_arch (symfile_objfile);
|
||||
|
||||
entry_point = symfile_objfile->ei.entry_point;
|
||||
|
||||
/* Make certain that the address points at real code, and not a
|
||||
function descriptor. */
|
||||
entry_point = gdbarch_convert_from_func_ptr_addr (gdbarch, entry_point,
|
||||
¤t_target);
|
||||
|
||||
/* Remove any ISA markers, so that this matches entries in the
|
||||
symbol table. */
|
||||
entry_point = gdbarch_addr_bits_remove (gdbarch, entry_point);
|
||||
|
||||
return entry_point;
|
||||
}
|
||||
|
||||
/* Create the terminating entry of OBJFILE's minimal symbol table.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue