This is the mail archive of the mailing list for the GDB project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] gdbserver regcache fetch all regs

Doug Evans wrote:
On Tue, Jun 16, 2009 at 6:24 PM, Aleksandar Ristovski<> wrote:

I believe this is a bug in gdbserver/regcache.c

Current code fetches regno 0 and marks regcache valid. I believe correct
should be: fetch all regs, and mark regache valid.

* regcache.c (get_regcache): Fetch all registers instead of regno 0 only.

Hi. At first I thought "Yikes!". :-) But it turns out that all fetch_registers routines treat 0 and -1 equivalently. I wouldn't hold up this patch (it's fine with me fwiw), though I would change the ChangeLog entry to something like: "Use -1 instead of 0 to fetch all registers." since passing 0 does actually fetch all registers.

Very interesting. I see that now, but in target.h it says quite unambiguously:

/* Fetch registers from the inferior process.

If REGNO is -1, fetch all registers; otherwise, fetch at least REGNO. */

void (*fetch_registers) (int regno);

It would be good to remove this oddity and stop the conflation of 0 and -1, but I don't know what would break. We could run the testsuite and see what happens as a start. Does anyone know the history behind this?

Aleksandar Ristovski
QNX Software Systems

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]