This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [patch/rfc/hppa] handle setting gp for calling shlib functions
- From: Randolph Chung <randolph at tausq dot org>
- To: Andrew Cagney <cagney at gnu dot org>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Tue, 4 May 2004 07:10:35 -0700
- Subject: Re: [patch/rfc/hppa] handle setting gp for calling shlib functions
- References: <20040429062324.GX3965@tausq.org> <40910D4F.1020700@gnu.org> <20040429150704.GZ3965@tausq.org> <409126FD.3080708@gnu.org> <20040429161357.GA3965@tausq.org> <409131F2.5040706@gnu.org> <20040430040417.GC3965@tausq.org> <409261BF.8010605@gnu.org> <4097A2A3.8030807@gnu.org>
- Reply-to: Randolph Chung <randolph at tausq dot org>
> What happens if the function pointer value, rather than code start
> address is passed into push dummy call? The entire value should be
> passed in, but this is a simple step in that direction.
This will certainly help, as long as we also have a hook later in
call_function_by_hand () that can twiddle the funcaddr before setting
the breakpoint. maybe just moving the call that converts a funcptr to an
address to after the push dummy call?
btw, a related but slightly different question -- i don't see any code
in this path which will preserve and restore the call-clobbered
registers when doing a call. how does gdb ensure that the register
state before and after the call are the same? (i do see that there is
a testcase for this though.)
thanks,
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/