Bug 119274

Summary: gcc compile: internal error: Illegal instruction
Product: [Retired] Red Hat Linux Reporter: Dev, Al <alavoor>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 9CC: riel
Target Milestone: ---   
Target Release: ---   
Hardware: i586   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-03-30 12:06:17 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 Dev, Al 2004-03-28 19:30:47 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.6)
Gecko/20040225 Firefox/0.8

Description of problem:
I am trying to compile the Linux Kernel version linux-2.4.20-20.9 on
redhat linux 9. When I do 'make modules' I get this errors:

gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-20.9/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2
-march=i586 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.20-20.9/include/linux/modversions.h  -nostdinc
-iwithprefix include -DKBUILD_BASENAME=empeg  -c -o empeg.o empeg.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-20.9/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2
-march=i586 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.20-20.9/include/linux/modversions.h  -nostdinc
-iwithprefix include -DKBUILD_BASENAME=mct_u232  -c -o mct_u232.o
mct_u232.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-20.9/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2
-march=i586 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.20-20.9/include/linux/modversions.h  -nostdinc
-iwithprefix include -DKBUILD_BASENAME=io_edgeport  -c -o
io_edgeport.o io_edgeport.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-20.9/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2
-march=i586 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.20-20.9/include/linux/modversions.h  -nostdinc
-iwithprefix include -DKBUILD_BASENAME=io_ti  -c -o io_ti.o io_ti.c
io_ti.c: In function `TIReadManufDescriptor':
io_ti.c:802: internal error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[3]: *** [io_ti.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers/usb/serial'
make[2]: *** [_modsubdir_serial] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers/usb'
make[1]: *** [_modsubdir_usb] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers'
make: *** [_mod_drivers] Error 2


Version-Release number of selected component (if applicable):
Kernel linux-2.4.20-20.9

How reproducible:
Always

Steps to Reproduce:
1. Install the kernel-source-2.4.20-20.9.rpm
2. cd /usr/src/linux
3. make modules
    

Actual Results:  The gcc compile fails

Expected Results:  Clean compile of linux kernel

Additional info:

.c
make[3]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers/usb/host'
make -C serial modules
make[3]: Entering directory
`/usr/src/linux-2.4.20-20.9/drivers/usb/serial'


gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-20.9/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2
-march=i586 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.20-20.9/include/linux/modversions.h  -nostdinc
-iwithprefix include -DKBUILD_BASENAME=io_edgeport  -c -o
io_edgeport.o io_edgeport.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-20.9/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2
-march=i586 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.20-20.9/include/linux/modversions.h  -nostdinc
-iwithprefix include -DKBUILD_BASENAME=io_ti  -c -o io_ti.o io_ti.c
io_ti.c: In function `TIReadManufDescriptor':
io_ti.c:802: internal error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[3]: *** [io_ti.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers/usb/serial'
make[2]: *** [_modsubdir_serial] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers/usb'
make[1]: *** [_modsubdir_usb] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-20.9/drivers'
make: *** [_mod_drivers] Error 2

Comment 1 Jakub Jelinek 2004-03-29 06:36:36 UTC
Is it reproducible, always on the same file same error?
If yes, I need preprocessed source for the file in question
(io_ti.i; just pass -save-temps option additionally to the given ones).
If no, you have hardware problems.

Comment 2 Dev, Al 2004-03-29 15:29:38 UTC
It is not reproducible on the same file.
But the same error comes up everytime on different file.
I also did memtest86 on RAM testing and everything passed (running for
16 hours).
I guess there is no hardware problem.

Comment 3 Dev, Al 2004-03-30 01:19:50 UTC
Found the problem: It is due to hardware.  The problem arises when I
installed new 512 SDRAM on the box (AMD K6 550mhz cpu). Somehow, it
looks like you cannot intermix new 512 SDRAM with older 128 MB SDRAM.
New RAMs are not compatible with older Motherboards or CPUs.
I removed the new 512MB SDRAM which I installed, and then gave the
same kernel compile and it works fine without any problems.

So it is the hardware RAM,RAM,RAM!!!