diff options
author | Daniel Jacobowitz <dan@debian.org> | 2009-07-28 16:38:46 +0000 |
---|---|---|
committer | Daniel Jacobowitz <dan@debian.org> | 2009-07-28 16:38:46 +0000 |
commit | 804c1b6ace85b89078e7e909b8a34ac2dbee584f (patch) | |
tree | 2dfc63abf3391c5987488b36512e0ddaa56dae55 /gdb/infcall.c | |
parent | f8e1eb719fd04d19f43c351886ca34784673a57a (diff) | |
download | gdb-804c1b6ace85b89078e7e909b8a34ac2dbee584f.tar.gz |
* 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.
Diffstat (limited to 'gdb/infcall.c')
-rw-r--r-- | gdb/infcall.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/gdb/infcall.c b/gdb/infcall.c index 479492dec29..c9d98cf65eb 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -592,11 +592,6 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) real_pc = funaddr; dummy_addr = entry_point_address (); - /* Make certain that the address points at real code, and not a - function descriptor. */ - dummy_addr = gdbarch_convert_from_func_ptr_addr (gdbarch, - dummy_addr, - ¤t_target); /* A call dummy always consists of just a single breakpoint, so its address is the same as the address of the dummy. */ bp_addr = dummy_addr; @@ -614,14 +609,16 @@ call_function_by_hand (struct value *function, int nargs, struct value **args) sym = lookup_minimal_symbol ("__CALL_DUMMY_ADDRESS", NULL, NULL); real_pc = funaddr; if (sym) - dummy_addr = SYMBOL_VALUE_ADDRESS (sym); + { + dummy_addr = SYMBOL_VALUE_ADDRESS (sym); + /* Make certain that the address points at real code, and not + a function descriptor. */ + dummy_addr = gdbarch_convert_from_func_ptr_addr (gdbarch, + dummy_addr, + ¤t_target); + } else dummy_addr = entry_point_address (); - /* Make certain that the address points at real code, and not - a function descriptor. */ - dummy_addr = gdbarch_convert_from_func_ptr_addr (gdbarch, - dummy_addr, - ¤t_target); /* A call dummy always consists of just a single breakpoint, so it's address is the same as the address of the dummy. */ bp_addr = dummy_addr; |