This is the mail archive of the
mailing list for the GCC project.
Re: target/6788: multiple inheritance "non-virtual thunk" assembly incorrect on sparc64-sun-solars2.8
- From: Jakub Jelinek <jakub at redhat dot com>
- To: "David S. Miller" <davem at redhat dot com>
- Cc: spencer at infointeractive dot com, rth at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org, spencer at aol dot net, gcc-gnats at gcc dot gnu dot org, binutils at sources dot redhat dot com
- Date: Fri, 24 May 2002 17:26:48 +0200
- Subject: Re: target/6788: multiple inheritance "non-virtual thunk" assembly incorrect on sparc64-sun-solars2.8
- References: <firstname.lastname@example.org> <20020524121114.J17885@infointeractive.com> <email@example.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Fri, May 24, 2002 at 08:06:58AM -0700, David S. Miller wrote:
> From: Brad Spencer <firstname.lastname@example.org>
> 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:
foo: setx 0x81928192, %g1, %o0
works just fine.