Bug 25082

Summary: gcc 2.96-69 miscompiles crystal space 0.17.2
Product: [Retired] Red Hat Linux Reporter: jfm2
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-01-28 00:10:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description jfm2 2001-01-27 10:15:28 UTC
I have gcc 2.96-69, glibc 2.2-9,  kernel 2.4.0 headers, binutils is vanilla
from RH7.

When I compile crystalspace 0.17.2 I get the following message:

g++ -c -o out/LINUX/INTEL/optimize/scan16.o
plugins/video/renderer/software/scan16.cpp -Wall -Wunused -W -mcpu=i686
-fno-exceptions -fno-rtti -O6 -fomit-frame-pointer -ffast-math   -I.
-I./apps -I./include -I./libs -I./plugins -I./support
/tmp/ccwQQ3xK.s: Assembler messages:
/tmp/ccwQQ3xK.s:16315: Error: local label "6" (instance number 1 of a fb
label) is not defined
make[1]: *** [out/LINUX/INTEL/optimize/scan16.o] Erreur 1

Comment 1 Jakub Jelinek 2001-01-27 23:28:07 UTC
Just guessing, doesn't it use inline asm which has | characters in it?
| cannot be used in inline asm on certain arches (and since the new
ia32 backend on ia32 as well) because it separates different asm
alternatives (on ia32 it is AT&T and Intel syntax).
If this is not the case, please attach here preprocessed source.

Comment 2 jfm2 2001-01-28 00:10:24 UTC
Yes it has inline asm with several '|' in it

Comment 3 Jakub Jelinek 2001-01-29 09:14:29 UTC
So change all `|' to something like `or' or whatever, this really will not
work with any further gcc version.