RFA: assert that target_fetch_registers did its job
Daniel Jacobowitz
drow@false.org
Sat Jul 24 00:45:00 GMT 2004
On Fri, Jul 23, 2004 at 05:59:11PM -0500, Jim Blandy wrote:
>
> Does anyone see anything wrong with this? Should it be an error, or a
> warning, instead of an internal error? It seems to me that the error
> should be furnished by the target-specific code; if
> target_fetch_registers returns silently, it should have done its job.
It shouldn't be an error. internal-error makes the most sense to me;
if we need to relax it while some broken target is worked on, then
it should be a warning or silent.
> But thread_db_fetch_registers doesn't follow that assumption. In the
> threaded case, given any register number, it fetches the gprs, and the
> fprs, supplies them, and assumes its job is done. It seems to me it
> sholud be calling register_valid_p (current_regcache, regno) to check
> that the register's value has really been supplied, and complaining if
> it hasn't.
I suggest we slay thread_db_fetch_registers.
Once upon a time, it served a purpose. Now it is nothing but a source
of problems. We could pass opaque cookies rather than register data
through the gregset structure - the interface doesn't really support
this but at least two of the five thread-db implementations I'm aware
of would. Or we could just give up, use thread-db for nothing besides
finding new threads, and ask the LWP for its registers directly without
six or eight call frames of indirection.
--
Daniel Jacobowitz
More information about the Gdb-patches
mailing list