Subject: bin/11696: compiler bug triggered when building latest gcc sources
To: None <gnats-bugs@gnats.netbsd.org>
From: Richard Earnshaw <rearnsha@buzzard.freeserve.co.uk>
List: netbsd-bugs
Date: 12/11/2000 15:55:18
>Number:         11696
>Category:       bin
>Synopsis:       compiler bug triggered when building latest gcc sources
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 11 15:55:00 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Richard Earnshaw
>Release:        NetBSD-current
>Organization:
ARM
	
>Environment:
	
System: NetBSD buzzard.buzzard.freeserve.co.uk 1.5I NetBSD 1.5I (BUZZARD) #216: Sun Nov 19 21:24:48 GMT 2000 rearnsha@buzzard.buzzard.freeserve.co.uk:/usr/src/sys/arch/arm32/compile/BUZZARD arm32


>Description:
	a code sequence of the form

	if (something_simple)
		foo = const1;
	else
		foo = MIN (something_else_simple, const1)

	is miscompiled on the ARM due to a bug in the in-tree compiler
	
>How-To-Repeat:
	Try to compile the latests gcc snapshots from gcc.gnu.org at -O2 with
	the current arm32 compiler.
	
>Fix:

	The following patch is a back-port from the egcs-2.95 release of the
	compiler.


begin 664 gcc.patch
M26YD97@Z(')T;&%N86PN8PH]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]"E)#4R!F
M:6QE.B`O8W9S<F]O="]G;G5S<F,O9VYU+V1I<W0O9V-C+W)T;&%N86PN8RQV
M"G)E=')I979I;F<@<F5V:7-I;VX@,2XQ+C$N,@ID:69F("UP("UP("UR,2XQ
M+C$N,B!R=&QA;F%L+F,**BHJ(')T;&%N86PN8PDQ.3DX+S`X+S$V(#$W.C,X
M.C(P"3$N,2XQ+C(*+2TM(')T;&%N86PN8PDR,#`P+S$R+S$Q(#(S.C0Q.C,U
M"BHJ*BHJ*BHJ*BHJ*BHJ*B!R96=?<V5T7W`@*')E9RP@:6YS;BD**BHJ(#4P
M,"PU,#4@*BHJ*@HM+2T@-3`P+#4U,2`M+2TM"B`@?0H@(`H@("\J(%-I;6EL
M87(@=&\@<F5G7W-E=%]B971W965N7W`L(&)U="!C:&5C:R!A;&P@<F5G:7-T
M97)S(&EN(%@N("!2971U<FX@,`HK("`@(&]N;'D@:68@;F]N92!O9B!T:&5M
M(&%R92!M;V1I9FEE9"!B971W965N(%-405)4(&%N9"!%3D0N("!$;R!N;W0*
M*R`@("!C;VYS:61E<B!N;VXM<F5G:7-T97)S(&]N92!W87D@;W(@=&AE(&]T
M:&5R+B`@*B\**R`**R!I;G0**R!R96=S7W-E=%]B971W965N7W`@*'@L('-T
M87)T+"!E;F0I"BL@("`@("!R='@@>#L**R`@("`@(')T>"!S=&%R="P@96YD
M.PHK('L**R`@(&5N=6T@<G1X7V-O9&4@8V]D92`]($=%5%]#3T1%("AX*3L*
M*R`@(&-H87(@*F9M=#L**R`@(&EN="!I+"!J.PHK(`HK("`@<W=I=&-H("AC
M;V1E*0HK("`@("!["BL@("`@(&-A<V4@0T].4U1?24Y4.@HK("`@("!C87-E
M($-/3E-47T1/54),13H**R`@("`@8V%S92!#3TY35#H**R`@("`@8V%S92!3
M64U"3TQ?4D5&.@HK("`@("!C87-E($Q!0D5,7U)%1CH**R`@("`@8V%S92!0
M0SH**R`@("`@8V%S92!#0S`Z"BL@("`@("`@<F5T=7)N(#`["BL@"BL@("`@
M(&-A<V4@4D5'.@HK("`@("`@(')E='5R;B!R96=?<V5T7V)E='=E96Y?<"`H
M>"P@<W1A<G0L(&5N9"D["BL@("`@("`@"BL@("`@(&1E9F%U;'0Z"BL@("`@
M("`@8G)E86L["BL@("`@('T**R`**R`@(&9M="`]($=%5%]25%A?1D]234%4
M("AC;V1E*3L**R`@(&9O<B`H:2`]($=%5%]25%A?3$5.1U1(("AC;V1E*2`M
M(#$[(&D@/CT@,#L@:2TM*0HK("`@("!["BL@("`@("`@:68@*&9M=%MI72`]
M/2`G92<@)B8@<F5G<U]S971?8F5T=V5E;E]P("A815A0("AX+"!I*2P@<W1A
M<G0L(&5N9"DI"BL@"7)E='5R;B`Q.PHK(`HK("`@("`@(&5L<V4@:68@*&9M
M=%MI72`]/2`G12<I"BL@"69O<B`H:B`](%A614-,14X@*'@L(&DI("T@,3L@
M:B`^/2`P.R!J+2TI"BL@"2`@:68@*')E9W-?<V5T7V)E='=E96Y?<"`H6%9%
M0T584"`H>"P@:2P@:BDL('-T87)T+"!E;F0I*0HK(`D@("`@<F5T=7)N(#$[
M"BL@("`@('T**R`**R`@(')E='5R;B`P.PHK('T**R`**R`O*B!3:6UI;&%R
M('1O(')E9U]S971?8F5T=V5E;E]P+"!B=70@8VAE8VL@86QL(')E9VES=&5R
M<R!I;B!8+B`@4F5T=7)N(#`*("`@("!O;FQY(&EF(&YO;F4@;V8@=&AE;2!A
M<F4@;6]D:69I960@8F5T=V5E;B!35$%25"!A;F0@14Y$+B`@4F5T=7)N(#$@
M:68*("`@("!8(&-O;G1A:6YS(&$@345-.R!T:&ES(')O=71I;F4@9&]E<R!N
M;W0@<&5R9F]R;2!A;GD@;65M;W)Y(&%L:6%S:6YG+B`@*B\*("`*26YD97@Z
M(')T;"YH"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3(&9I;&4Z("]C=G-R
M;V]T+V=N=7-R8R]G;G4O9&ES="]G8V,O<G1L+F@L=@IR971R:65V:6YG(')E
M=FES:6]N(#$N,2XQ+C(*9&EF9B`M<"`M<"`M<C$N,2XQ+C(@<G1L+F@**BHJ
M(')T;"YH"3$Y.3@O,#@O,38@,3<Z,S@Z,3D),2XQ+C$N,@HM+2T@<G1L+F@)
M,C`P,"\Q,B\Q,2`R,SHT,3HU.`HJ*BHJ*BHJ*BHJ*BHJ*BH@97AT97)N(&EN
M="!R96=?<F5F97)E;F-E9%]P"0E04D]43R@H<G1X+`HJ*BH@.3<S+#DW."`J
M*BHJ"BTM+2`Y-S,L.3<Y("TM+2T*("!E>'1E<FX@:6YT(')E9U]U<V5D7V)E
M='=E96Y?<`D)4%)/5$\H*')T>"P@<G1X+"!R='@I*3L*("!E>'1E<FX@:6YT
M(')E9U]R969E<F5N8V5D7V)E='=E96Y?<`E04D]43R@H<G1X+"!R='@L(')T
M>"DI.PH@(&5X=&5R;B!I;G0@<F5G7W-E=%]B971W965N7W`)"5!23U1/*"AR
M='@L(')T>"P@<G1X*2D["BL@97AT97)N(&EN="!R96=S7W-E=%]B971W965N
M7W`)"5!23U1/*"AR='@L(')T>"P@<G1X*2D["B`@97AT97)N(&EN="!M;V1I
M9FEE9%]B971W965N7W`)"5!23U1/*"AR='@L(')T>"P@<G1X*2D["B`@97AT
M97)N(&EN="!N;U]L86)E;'-?8F5T=V5E;E]P"0E04D]43R@H<G1X+"!R='@I
M*3L*("!E>'1E<FX@:6YT(&UO9&EF:65D7VEN7W`)"5!23U1/*"AR='@L(')T
M>"DI.PI);F1E>#H@:G5M<"YC"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3
M(&9I;&4Z("]C=G-R;V]T+V=N=7-R8R]G;G4O9&ES="]G8V,O:G5M<"YC+'8*
M<F5T<FEE=FEN9R!R979I<VEO;B`Q+C$N,2XT"F1I9F8@+7`@+7`@+7(Q+C$N
M,2XT(&IU;7`N8PHJ*BH@:G5M<"YC"3$Y.3DO,#0O,#8@,34Z,#@Z,3,),2XQ
M+C$N-`HM+2T@:G5M<"YC"3(P,#`O,3(O,3$@,C,Z-#(Z-3`**BHJ*BHJ*BHJ
M*BHJ*BHJ(&IU;7!?;W!T:6UI>F4@*&8L(&-R;W-S7VIU;7`L(&YO;W!?;6]V
M97,**BHJ(#@V,BPX-C@@*BHJ*@H@(`D)("`F)B`A(')E9U]R969E<F5N8V5D
M7V)E='=E96Y?<"`H=&5M<#$L('`L($Y%6%1?24Y33B`H=&5M<#,I*0H@(`D)
M("`F)B`A(')E9U]S971?8F5T=V5E;E]P("AT96UP,2P@<"P@=&5M<#,I"B`@
M"0D@("8F("A'151?0T]$12`H4T547U-20R`H=&5M<#0I*2`]/2!#3TY35%])
M3E0*(2`)"2`@("`@('Q\("$@;6]D:69I961?8F5T=V5E;E]P("A3151?4U)#
M("AT96UP-"DL('`L('1E;7`R*2DI"B`@"0E["B`@"0D@(&5M:71?:6YS;E]A
M9G1E<E]W:71H7VQI;F5?;F]T97,@*%!!5%1%4DX@*'1E;7`R*2P@<"P@=&5M
M<#(I.PH@(`D)("!D96QE=&5?:6YS;B`H=&5M<#(I.PHM+2T@.#8V+#@W-R`M
M+2TM"B`@"0D@("8F("$@<F5G7W)E9F5R96YC961?8F5T=V5E;E]P("AT96UP
M,2P@<"P@3D585%])3E-.("AT96UP,RDI"B`@"0D@("8F("$@<F5G7W-E=%]B
M971W965N7W`@*'1E;7`Q+"!P+"!T96UP,RD*("`)"2`@)B8@*$=%5%]#3T1%
M("A3151?4U)#("AT96UP-"DI(#T]($-/3E-47TE.5`HA(`D)("`@("`@?'P@
M(2!M;V1I9FEE9%]B971W965N7W`@*%-%5%]34D,@*'1E;7`T*2P@<"P@=&5M
M<#(I*0HA(`D)("`O*B!697)I9GD@=&AA="!R96=I<W1E<G,@=7-E9"!B>2!T
M:&4@:G5M<"!A<F4@;F]T(&-L;V)B97)E9`HA(`D)("`@("!B>2!T:&4@:6YS
M=')U8W1I;VX@8F5I;F<@;6]V960N("`J+PHA(`D)("`F)B`A(')E9W-?<V5T
M7V)E='=E96Y?<"`H4$%45$523B`H=&5M<"DL"B$@"0D)"0D@("!04D567TE.
M4TX@*'1E;7`R*2P*(2`)"0D)"2`@($Y%6%1?24Y33B`H=&5M<#(I*2D*("`)
M"7L*("`)"2`@96UI=%]I;G-N7V%F=&5R7W=I=&A?;&EN95]N;W1E<R`H4$%4
M5$523B`H=&5M<#(I+"!P+"!T96UP,BD["B`@"0D@(&1E;&5T95]I;G-N("AT
M96UP,BD["BHJ*BHJ*BHJ*BHJ*BHJ*B!J=6UP7V]P=&EM:7IE("AF+"!C<F]S
M<U]J=6UP+"!N;V]P7VUO=F5S"BHJ*B`Y-C`L.38U("HJ*BH*+2TM(#DV.2PY
M-SD@+2TM+0H@(`D)"0D)"2!.15A47TE.4TX@*'1E;7`R*2D*("`)"2`@)B8@
M(2!R96=?<V5T7V)E='=E96Y?<"`H=&5M<#$L(&EN<V5R=%]A9G1E<BP@=&5M
M<"D*("`)"2`@)B8@(2!M;V1I9FEE9%]B971W965N7W`@*%-%5%]34D,@*'1E
M;7`T*2P@:6YS97)T7V%F=&5R+"!T96UP*0HK(`D)("`O*B!697)I9GD@=&AA
M="!R96=I<W1E<G,@=7-E9"!B>2!T:&4@:G5M<"!A<F4@;F]T(&-L;V)B97)E
M9`HK(`D)("`@("!B>2!T:&4@:6YS=')U8W1I;VX@8F5I;F<@;6]V960N("`J
M+PHK(`D)("`F)B`A(')E9W-?<V5T7V)E='=E96Y?<"`H4$%45$523B`H=&5M
M<"DL"BL@"0D)"0D@("!04D567TE.4TX@*'1E;7`S*2P**R`)"0D)"2`@($Y%
M6%1?24Y33B`H=&5M<#,I*0H@(`D)("`F)B!I;G9E<G1?:G5M<"`H=&5M<"P@
M2E5-4%],04)%3"`H:6YS;BDI*0H@(`D)>PH@(`D)("!E;6ET7VEN<VY?869T
E97)?=VET:%]L:6YE7VYO=&5S("A0051415).("AT96UP,RDL"FEN
`
end

>Release-Note:
>Audit-Trail:
>Unformatted: