* Re: An alpha/gas bug
[not found] <19971106121644.39437@dot.cygnus.com>
@ 1998-01-24 16:47 ` H.J. Lu
0 siblings, 0 replies; 5+ messages in thread
From: H.J. Lu @ 1998-01-24 16:47 UTC (permalink / raw)
To: rth; +Cc: gas2
>
> > From what I see, binutils 2.8.1 and binutils gas-971031 treat
> >
> > lda $0,_t12basic_string2ZcZt18string_char_traits1Zc$nilRep+32
> >
> > differently. binutils 2.8.1 generates
> >
> > ldq v0,0(gp)
> > lda v0,32(v0)
> >
> > and gas-971031 generates
> >
> > ldq v0,0(gp)
> >
> > I think that is a bug in gas.
>
> Nope. If you'll notice, gas-971031 generates
>
> 4c: ELF_LITERAL _t12basic_string2ZcZt18string_char_traits1Zc$nilRep+0x20
> ^^^^^
>
> Now, the problem may be in either ld or ld.so in their handling of
> dynamic relocations. I'll check on it later, as I'm a bit busy right now.
>
Hi,
As of gas 980114, I and other people have verified that the patch
below is needed for Linux/Alpha to pass "make check" for egcs with
libg++ as well as build a working glibc 2. I intend to include it
in the next binutils for Linux.
Thanks.
H.J.
----
Wed Jan 21 17:10:34 1998 H.J. Lu (hjl@gnu.org)
* config/tc-alpha.c (load_expression): Undo the change of
Wed Oct 8 16:28:53 1997 Richard Henderson <rth@cygnus.com>.
Index: config/tc-alpha.c
===================================================================
RCS file: /home/work/cvs/gnu/binutils/gas/config/tc-alpha.c,v
retrieving revision 1.10
diff -u -r1.10 tc-alpha.c
--- tc-alpha.c 1998/01/15 17:52:30 1.10
+++ tc-alpha.c 1998/01/22 01:08:07
@@ -2256,7 +2256,11 @@
/* XXX: Disable this .got minimizing optimization so that we can get
better instruction offset knowledge in the compiler. This happens
very infrequently anyway. */
+ /* FIXME: Enable it again. Otherwise, it won't work on
+ Linux/Alpha.
if (1 || !range_signed_32 (addend)
+ */
+ if (!range_signed_32 (addend)
&& (alpha_noat_on || targreg == AXP_REG_AT))
{
newtok[1] = *exp;
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: An alpha/gas bug
1997-11-10 13:25 ` Ken Raeburn
1997-11-10 13:25 ` Richard Henderson
@ 1997-11-10 13:31 ` H.J. Lu
1 sibling, 0 replies; 5+ messages in thread
From: H.J. Lu @ 1997-11-10 13:31 UTC (permalink / raw)
To: Ken Raeburn; +Cc: rth, ian, gas2
>
>
> Just as an aside, it's helpful to include the relocs (objdump -dr)
> when including this sort of snippet in a bug report. The instructions
> alone aren't very informative without the relocs used, when they're
> GP-based. (Any interesting changes in the literal sections would be
> good to know too.)
>
My bug report has the asm code and 2 .o files assembled by the
working and non-working as.
H.J.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: An alpha/gas bug
1997-11-10 13:25 ` Ken Raeburn
@ 1997-11-10 13:25 ` Richard Henderson
1997-11-10 13:31 ` H.J. Lu
1 sibling, 0 replies; 5+ messages in thread
From: Richard Henderson @ 1997-11-10 13:25 UTC (permalink / raw)
To: Ken Raeburn; +Cc: H.J. Lu, rth, Ian Lance Taylor, gas2
On Mon, Nov 10, 1997 at 04:20:06PM -0500, Ken Raeburn wrote:
> > differently. binutils 2.8.1 generates
> >
> > ldq v0,0(gp)
> > lda v0,32(v0)
> >
> > and gas-971031 generates
> >
> > ldq v0,0(gp)
> >
>
> I'm in the middle of some gcc work right now, but I may look at this
> tomorrow if Ian or Richard don't.
The bug isn't in gas, since the relocation contains the proper offset.
My guess is the bug is in ld.so, but I havn't had a chance to verify
that; it could potentially be in ld.
r~
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: An alpha/gas bug
1997-11-06 11:54 H.J. Lu
@ 1997-11-10 13:25 ` Ken Raeburn
1997-11-10 13:25 ` Richard Henderson
1997-11-10 13:31 ` H.J. Lu
0 siblings, 2 replies; 5+ messages in thread
From: Ken Raeburn @ 1997-11-10 13:25 UTC (permalink / raw)
To: H.J. Lu; +Cc: rth, Ian Lance Taylor, gas2
Just as an aside, it's helpful to include the relocs (objdump -dr)
when including this sort of snippet in a bug report. The instructions
alone aren't very informative without the relocs used, when they're
GP-based. (Any interesting changes in the literal sections would be
good to know too.)
> differently. binutils 2.8.1 generates
>
> ldq v0,0(gp)
> lda v0,32(v0)
>
> and gas-971031 generates
>
> ldq v0,0(gp)
>
I'm in the middle of some gcc work right now, but I may look at this
tomorrow if Ian or Richard don't.
Ken
^ permalink raw reply [flat|nested] 5+ messages in thread
* An alpha/gas bug
@ 1997-11-06 11:54 H.J. Lu
1997-11-10 13:25 ` Ken Raeburn
0 siblings, 1 reply; 5+ messages in thread
From: H.J. Lu @ 1997-11-06 11:54 UTC (permalink / raw)
To: rth; +Cc: Ian Lance Taylor, gas2
The recent gas has an alpha bug. I enclosed 4 files here:
1. foo.cc is the source code.
2. foo.s is compiled with -O -S on linux/alpha with egcs 971031.
3. good.o is assembled with gas in binutils 2.8.1.
4. bad.o is assembled with gas in binutils gas-971031.
I can use good.o with both libstdc++.so and libstdc++.a to generate
a working binary. But I can use bad.o only with libstdc++.a to
generate a working binary. When I link bad.o with libstdc++.so,
I get junk output after
2 empty strings:
It seems that the return value from cout << is messed up when
libstdc++.so is used.
BTW, the asm output from -O2 works fine with gas-971031. From
what I see, binutils 2.8.1 and binutils gas-971031 treat
lda $0,_t12basic_string2ZcZt18string_char_traits1Zc$nilRep+32
differently. binutils 2.8.1 generates
ldq v0,0(gp)
lda v0,32(v0)
and gas-971031 generates
ldq v0,0(gp)
I think that is a bug in gas.
--
H.J. Lu (hjl@gnu.ai.mit.edu)
---
begin 644 alpha.tar.gz
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
I"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_#_P-HYH%U0!0````
`
end
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~1998-01-24 16:47 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <19971106121644.39437@dot.cygnus.com>
1998-01-24 16:47 ` An alpha/gas bug H.J. Lu
1997-11-06 11:54 H.J. Lu
1997-11-10 13:25 ` Ken Raeburn
1997-11-10 13:25 ` Richard Henderson
1997-11-10 13:31 ` H.J. Lu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).