This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [PATCH] Add support for fpscr for Power / PowerPC targets
On Apr 11, 3:25pm, Daniel Jacobowitz wrote:
> I know this is not adequately documented right now, but every change to
> the format of the register cache is a change to the remote protocol.
> The closest thing we've got to documentation are the files in
> regformats/; they don't document a fraction of the possibilities,
> though.
Thanks for reminding me of this.
> I've updated the PowerPC definition to match this change, as
> well as updating gdbserver.
Thanks.
> Before I commit either, though:
>
> > @@ -376,6 +380,14 @@ store_register (int tid, int regno)
> > ptrace (PT_WRITE_U, tid, (PTRACE_ARG3_TYPE) regaddr,
> > *(PTRACE_XFER_TYPE *) & buf[i]);
> > regaddr += sizeof (PTRACE_XFER_TYPE);
> > +
> > + if (errno == EIO
> > + && regno == gdbarch_tdep (current_gdbarch)->ppc_fpscr_regnum)
> > + {
> > + /* Some older kernel versions don't allow fpscr to be written. */
> > + continue;
> > + }
> > +
> > if (errno != 0)
> > {
> > sprintf (mess, "writing register %s (#%d)",
>
> What versions are we talking here?
2.2.X, for X <= 15. Probably for X > 15 too, but I haven't checked.
I don't think the 2.4 kernels have this problem though.
> Is it worth silencing the gdbserver warning in this case?
If it's only a warning, it probably doesn't hurt to leave it in,
though it'd be nice to structure it so that the warning is only
printed once.
I would have preferred to not to have to add the above code to
ppc-linux-nat.c, but I was seeing too many regressions without it and
that made it difficult to evaluate the patch. It was worth it to add
the above code though because I ended up catching some regressions
that I would've missed otherwise. (I probably ought to just upgrade
my Linux/PPC box...)
Kevin