This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [commit] infcall.c cleanup - explict bp_addr variable
- From: Andreas Schwab <schwab at suse dot de>
- To: Andrew Cagney <ac131313 at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Fri, 27 Jun 2003 22:59:48 +0200
- Subject: Re: [commit] infcall.c cleanup - explict bp_addr variable
- References: <3EA6AE7F.7060708@redhat.com>
Andrew Cagney <ac131313@redhat.com> writes:
|> @@ -649,7 +663,13 @@
|> return-address register as appropriate. Formerly this has been
|> done in PUSH_ARGUMENTS, but that's overloading its
|> functionality a bit, so I'm making it explicit to do it here. */
|> - sp = DEPRECATED_PUSH_RETURN_ADDRESS (real_pc, sp);
|> + /* NOTE: cagney/2003-04-22: The first parameter ("real_pc") has
|> + been replaced with zero, it turns out that no implementation
|> + used that parameter. This occured because the value being
This is obviously wrong. See ia64_push_return_address. Fixes PR1256 and
most testsuite failures (there are a few new failures of things that
weren't tested before, especially backtraces from call dummies are
broken).
Andreas.
2003-06-27 Andreas Schwab <schwab@suse.de>
* infcall.c (call_function_by_hand): Partially revert change of
2003-04-22: do pass real_pc to DEPRECATED_PUSH_RETURN_ADDRESS.
--- gdb/infcall.c.~1.17.~ 2003-06-20 11:44:27.000000000 +0200
+++ gdb/infcall.c 2003-06-27 21:58:41.000000000 +0200
@@ -768,13 +768,7 @@ You must use a pointer to function type
return-address register as appropriate. Formerly this has been
done in PUSH_ARGUMENTS, but that's overloading its
functionality a bit, so I'm making it explicit to do it here. */
- /* NOTE: cagney/2003-04-22: The first parameter ("real_pc") has
- been replaced with zero, it turns out that no implementation
- used that parameter. This occured because the value being
- supplied - the address of the called function's entry point
- instead of the address of the breakpoint that the called
- function should return to - wasn't useful. */
- sp = DEPRECATED_PUSH_RETURN_ADDRESS (0, sp);
+ sp = DEPRECATED_PUSH_RETURN_ADDRESS (real_pc, sp);
/* NOTE: cagney/2003-03-23: Diable this code when there is a
push_dummy_call() method. Since that method will have already
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."