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] PPC ABI compliance fix


On Mar 22,  3:06pm, Elena Zannoni wrote:

>  > > +ppc_sysv_abi_use_struct_convention (int gcc_p, struct type *value_type)
>  > > +{
>  > > +  return (TYPE_LENGTH (value_type) > 8);
>  > > +}
>  > > +
>  > >  /* round2 rounds x up to the nearest multiple of s assuming that s is a
>  > >     power of 2 */
>  > 
>  > Should this live in rs6000-tdep.c?
> 
> Yes, There is a FIXME about that in the file. I am not sure why
> sysv_push_arguments is in that file as well. I didn't want to change
> it in case there was some real technical problem.
> 
> Maybe Kevin knows why?

There's no real technical problem.  I wrote
ppc_sysv_abi_push_arguments() for Linux, so it ended up in the Linux
file.  I don't think there would be any real problem with moving it to
rs6000-tdep.c, but I would prefer not to since rs6000-tdep.c deals
more with the PowerOpen ABI (in addition to generic arch considerations).

In my opinion, they probably belong in a ppc-sysv-abi-tdep.c file.
But at the moment, there's no real incentive for creating this file
(aside from making things somewhat more tidy) because ppc-linux-tdep.c
needs to be a part of all GDB builds that target Power / PowerPC.

I've been thinking about Andrew's comments from a week or so ago in
the discussion regarding x86-64-linux-tdep.c.  As Andrew noted at the
time, the gdbarch machinery that we now have isn't set up to do
inheritance, and so as a consequence, we end up with the situation
that we have with the ppc*-tdep.c files in which you need include
linux support in a native build for AIX.  It would be nice if we could
restructure things so that there'd be a generic ppc-tdep.c file which
knows nothing about ABIs or OS considerations.  Under that, you'd have
ppc-poweropen-abi.c (or whatever IBM is calling their ABI these days)
and ppc-sysv-abi-tdep.c and perhaps even ppc-sysv-eabi-tdep.c.  Below
that you'd have the various OS specific tdep files.  Unfortunately,
we can't do it yet because the gdbarch machinery won't allow it.

Kevin


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