This is the mail archive of the gdb-patches@sources.redhat.com 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: [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


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