Bug 18001

Summary: Kernels do not compile-- Checksum.S
Product: [Retired] Red Hat Linux Reporter: Need Real Name <ejselkin>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact:
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: 2000-10-01 06:37:10 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 Need Real Name 2000-10-01 06:37:08 UTC
As an example, Checksum.S and components containing bits of ASM code seem
not to compile with EGCS/GCC 2.96 experimental. I don't know if this
problem is with my system or not (I've installed only RH7.0 components and
all that are necessary; I'm definitely using the GLIBC and the STD libs
from the RH7 package).

I have found though, that using an older, say 1.1.2, version of EGCS seems
to work to compile things like Checksum.S in the arch library of the linux
kernel, but it causes more errors in the long run.

Comment 1 Alan Cox 2000-10-01 22:05:50 UTC
The kernel needs to be built with 'kgcc'. The kernel right now contains stuff
that isnt clean enough
to build with the newer compiler. Edit the top kernel makefile and change the
definition of CC


Comment 2 Alan Cox 2000-10-01 22:06:10 UTC
*** Bug 18000 has been marked as a duplicate of this bug. ***

Comment 3 Alan Cox 2000-10-01 22:06:27 UTC
*** Bug 17999 has been marked as a duplicate of this bug. ***

Comment 4 nbalog 2000-10-31 12:08:44 UTC
Changng the CC def does not work. It just spawns the compile with a different 
set of errors.

Comment 5 Jakub Jelinek 2000-10-31 12:40:44 UTC
Depends on what you have done.
Either set
CC      =$(CROSS_COMPILE)kgcc -D__KERNEL__ -I$(HPATH)
in the toplevel Makefile, or compile with
make CC='kgcc -D__KERNEL__ -I$(HPATH)'
or 2.2.18pre will do it for you.
Or you can apply
http://www.lucon.org/linux/linux-2.2.14-gcc.patch
http://www.lucon.org/linux/linux-2.2.17-library.patch
and gcc 2.96 should build 2.2 kernel (but if you want to be safe, do one of the
former things).