This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] W.I.P. AltiVec ppc registers support.
On Thu, Nov 29, 2001 at 03:20:00PM -0700, Kevin Buettner wrote:
> On Nov 29, 4:59pm, Elena Zannoni wrote:
>
> > > With regard to
> > >
> > > > Index: config/powerpc/nm-linux.h
> > > [...]
> > > > +#define FETCH_INFERIOR_REGISTERS
> > >
> > > I think this is a good thing. It *might not* be strictly necessary
> > > for adding AltiVec support via PEEKUSER / POKEUSER, but it does give
> > > us more control. Also doing this allows us to clean up the code in other
> > > ways. E.g, the following bit from config/powerpc/nm-linux.h can be
> > > removed:
> > >
> > > > extern int ppc_register_u_addr (int, int);
> > > > #define REGISTER_U_ADDR(addr, blockend, regno) \
> > > > (addr) = ppc_register_u_addr ((blockend),(regno));
> > >
> > > This in turn means that ppc_register_u_addr() can be made static
> > > and that the ``ustart'' parameter can be removed. All calls to
> > > register_addr() (in your new code) in ppc-linux-nat.c should be
> > > changed to invoke ppc_register_u_addr() directly.
> > >
> >
> > Unfortunately not. I thought the same, until I remembered about core
> > file debugging. That function is called by fetch_core_registers() in
> > core-aout.c.
>
> Hmm... I wonder if Linux/PPC even needs this function in core-aout.c.
> Daniel J. is the expert on this stuff. Daniel, doesn't Linux/PPC use
> core-regset.c instead?
I'd like to kill our use of core-aout.c. Linux/PPC never used a.out
cores, but unfortunately core-aout.c defines register_addr () as a
wrapper for REGISTER_U_ADDR. The last time I tried to remove
core-aout.c from a platform I got bitten.
I think, now that we are defining FETCH_INFERIOR_REGISTERS, we can do
without it - infptrace was the only big consumer I see remaining. So
we might be OK without using core-aout.c at all now.
My still-unsubmitted cross-core patches for PowerPC remove
core-regset.o also, and very unpleasantly turn ppc-linux-nat.c into a
target-dependant rather than native-dependant file, so that we can grub
through the gregsets by hand. If you've got a better idea I'd love to
hear it :) It will be made somewhat easier by the destruction of
regmap[].
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer