This is the mail archive of the mailing list for the GCC 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: target/6788: multiple inheritance "non-virtual thunk" assembly incorrect on sparc64-sun-solars2.8

On Fri, May 24, 2002 at 08:06:58AM -0700, David S. Miller wrote:
>    From: Brad Spencer <>
>    Date: Fri, 24 May 2002 12:11:14 -0300
>    I have been able to work around this bug by patching gas-2.12.1 as
>    shown below.  I still suspect that this is a gcc bug, because I can't
>    see why the assembler would be wrong about "set" not taking negative
>    values.  Isn't that what "setsw" is for?
> Right.  But there are other bugs in how gas implements
> setx and friends, so best not to even attempt to use it.
> I attach a fix for your bug below, I'm having other problems
> with your test case after my patch but at least the thunks
> are output correctly.
> Try to use setx with current binutils results in junk like:
> ? cat x.s
>         .globl  foo
> foo:    setx    0x81928192, %o0
> ? as -Av9a -o x.o x.s
> x.s: Assembler messages:
> x.s:2: Error: Illegal operands
> x.s:2: Warning: setx: temporary register same as destination register
> ? 

?? setx has 3 arguments:
        .globl  foo
foo:    setx    0x81928192, %g1, %o0
works just fine.


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