From mboxrd@z Thu Jan 1 00:00:00 1970 From: hjl@lucon.org (H.J. Lu) To: rth@cygnus.com Cc: ian@cygnus.com (Ian Lance Taylor), gas2@cygnus.com Subject: An alpha/gas bug Date: Thu, 06 Nov 1997 11:54:00 -0000 Message-id: X-SW-Source: 1997/msg00028.html 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 M'XL(`!L<8C0``^U:2VP;11@>D]#&6QXI%*F\!]>"!-QE=OW*HY1`^HC$0U`> MBDJ%6:\W]E*_\*[!%2#*C0.'"G'@V$,H'#@4B8<$0JH`"0X<4K#)FR?&-5;C9+E6_BZ M577+=9C6DO/I')&W/-MU8<*$3JWIGX*>WW+K96_F!$KT"^_`H-3*A3TIU-33*=F>2FPD[!KEBM@M^R M7-\SCMO)NEL]YC2),K9EI,S,!#:!W1>=H)_,IG&H+WNM(%2[VJ@[A<+3YC_P MD*;FN>D*[&.+:6+?G.Y.>D8C[F:ZP1@Y&DPX4DRDD@:=*.YJ,&XTS+`?P'-* M(IBA1A$);WJR-Y5VH^VS7CY%LJPW&85"U2L4\@WLP+%J3\W;4:-T/6*5_!DY MX8X9>='6PEHA%XXQ5\?F!T:ZB(SCBX;1D_EOQ<)-\$`@:T\PERGA0]0N!@1Y MS$++_;G"KD=G4K'NT*3/\&$4VV[5=^N%DE-U?&`Q$J>LA9>(8EN8#1E!(M.B:T_;@FO0/'$T?GY&3AQ],GG)J%3MKW] MICZ-=",+I_,&2AMP@BRN^Z?S:`KA-;#3=%IN#>M9U_RBOWO_;@;<./W[DFEBLVX^!>\_$(N06=_3.Y^CO=2". MVZ_O`^";?1=7?]T'P(M?CH&#G\?W?#L/P)WG]@*TO!/`WP!X\R,P]\))`+X* M9'>`B]_=/;IZE!SC6":6@7.X_0SK+.,="6G/`?#0.5%O?!0]1`/\0Y0".#X_I(SRF#^_:\_U\[/2?)]^[===(;ZX`&*/G MH_A8P`>*A3S!=6O,^P4F=$T_?YKVS]#V%]J.C?;+580^'],J!K8[>I&T'""] MMDKYN\!M?7J/G>[)DG$=&0?@$M=?&.]=OQX?AR_U[-\A]+/X>/3RZBJ;GUGA M.O&W0,^[$TH0;D,!63E!_VX3R#:;X/Y''GWF?L!V<8&9C:J&V]/0G6!FB#T) M&':3! MOCS(/PC"_!21$>RP6&*N/5;85MA9^1["N@MIVK14_+-!O2BYP&]5G**[3+0 MZPV&:+*)"%^45NJYJH'\= MWTO;%.7%7$91+T?0_WP0F-3FL/KYD&N*'U!,Y2?2CPXIKP1(1-@@M4?W8=_[M!]#KR%]5_?AW]J-@)%N-A>Y$J M[`+A>UJ\_W&)_ZE=8?N`X%!R6R,Q(I$>D:R<(Q&9')-X'5\CFI&(C)@,?B]' MKJ_$3M1:/P*NE=@7GU;&#UJ9`H//+`')VYNX^-ES?D@BWY'PGTKX+R3\CQ+^ MME@T/^S>A-]O_!\W&"Q#6$;OY?HW<'))CK^1XR=HRS)P1.#'!/F4Q._C@E]( M^\]R/'_?%SF>S_(3'+^;XU^2Q,GX,4&^)(G3Y_HW]ECN?GX6.)7\:+\_:)Q.]/7/]F3GY%8I_Q8X+\ MSQ+[5PO*C<:6%X#6J_]D#:[^DS-(_2>-LJK^LQW8:/VG<@7K/SO7J/_`8"G^ M=]>`^'FY4O6@%2HT+FQ:61WH+&U_I^U>82'J;%,]Z`^NK^I!5_UV;0";K0?! M*$%5#U+UH'6P7CU(_.3=:#VHL\EZT-PFZT$;U9?5@YC^L/6@#S99#SJ_R7K0 MRB;K0;MH0@Q;#ZILLAZTH.I!VUH/8OL/50^Z.C88_]9Z$`-?]^'O.U_WX;/\ M)8Z/JN^(<3)>K&M4)'%VN'Y4?4>TSWBQ7G-:8O\,UX^J[XCV&2_:_T!BGZ_[ M\/6@CSD^JKXC^F6\.&_G)7Y7N'Y4?4>TSWBQ'O2+Q/Y_%?3S:DNQ3OT'FLA@ M]1\S3_X7R$!FQE3UG^W`/K=N5]LE!QX(5_"#6H]QZ1*N5PYJFDO_AW9B4GM= M@_3[`W9F\3EYE<`#!P;_=3=!V$[W)W&BGIC5L$++\=NM.D2SVIM;]Y]M"@H* I"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_#_P-HYH%U0!0```` ` end