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] mips_push_arguments(): Make O64 ABI test explicit


On Jul 31,  4:21pm, Michael Snyder wrote:

> Kevin Buettner wrote:
> > 
> > On Jul 31,  3:44pm, Michael Snyder wrote:
> > 
> > > >         * mips-tdep.c (mips_push_arguments): Don't assume that
> > > >         ``MIPS_SAVED_REGSIZE < 8'' means that the o64 abi is in use.
> > > >         Instead, test for it explicitly.
> > >
> > > Kevin,
> > >
> > > This change makes things worse for N32.  I haven't tested
> > > N64 yet.  I think we're gonna have to look at these lines
> > > from the perspective of all 3 (6) abis.
> > 
> > Okay, this patch is withdrawn while I retest...
> > 
> > To save some time, can you tell me which N32 regressions you see?
> 
> Buncha failures in structs.exp.
> If you have a look at the tweak that I sent, it might be the thing.

Hmm.  It looks to me like SGI's cc and gcc disagree on the meaning of
the N32 ABI.

When I use the original test (or the tweak that you sent me), I see
the following failures when testing with cc, but not gcc:

    FAIL: gdb.base/structs.exp: p L1
    FAIL: gdb.base/structs.exp: p L2
    FAIL: gdb.base/structs.exp: p L3
    FAIL: gdb.base/structs.exp: p L4
    FAIL: gdb.base/structs.exp: p L5
    FAIL: gdb.base/structs.exp: p L6
    FAIL: gdb.base/structs.exp: p L7
    FAIL: gdb.base/structs.exp: p L9
    FAIL: gdb.base/structs.exp: p L10
    FAIL: gdb.base/structs.exp: p L11
    FAIL: gdb.base/structs.exp: p L12

OTOH, when I use my posted change, I don't see the above failures in cc,
but I do in gcc.

So, it seems that cc wants small structs shifted, but that gcc does not.

Time for me to dig into the ABI documents to find out which compiler's
right...


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