Bug 60893

Summary: Segmentation fault due to program as in compilation of bzImage of kernel (2.4.xx).
Product: [Retired] Red Hat Raw Hide Reporter: Alexander Farley <afarley>
Component: binutilsAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.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: 2002-03-11 14:17:23 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:
Attachments:
Description Flags
output of requested command
none
Ignore above file. The requested file, entry.o, could not be sent because it is empty. none

Description Alexander Farley 2002-03-08 15:48:44 UTC
Description of Problem: The compilation of a bzImage for any 2.4.xx kernel fails
due to a segmentation fault in program as from binutils(2.11.93.0.2-7 and the
previous version).  I get a segmentation fault using gcc(3.1.0-22 and the
previous version) and with kgcc 1.1.2-40. 

gcc -D__ASEMBLY__ -D__KERNEL__ -I/usr/src/linux/include -traditional -c entry.S
-o entry.o
gcc: Internal error: Segmentation fault (program as)
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[1]: *** [entry.o] Error 1
make[1]: Leaving directory '/usr/src/linux/arch/i386/kernel'
make: *** [_dir_arch/i386/kernel[ Error 2


kgcc -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/linux/include -traditional -c
trampoline.S -o trampoline.o
kgcc: Internal compiler error: program as got fatal signal 11
make[1] *** [trampoline.o] Error 1
make[1] Leaving directory '/usr/src/linux/arch/i386/kernel'
make: *** [_dir_arch/i386/kernel] Error 2


make CFLAGS="-D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -02 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-march=i686 " -C arch/i386/kernel
make[1]: Entering directory '/usr/src/linux/arch/i386/kernel'
rm -f kernel.o
ld -m elf_i386  -r -o kernel.o process.o semaphore.o signal.o entry.o traps.o
irq.o vm86.o ptrace.o i8259.o ioport.o ldt.o setup.o time.o sys_i386.o pci-dma.o
i386_ksyms.o i387.o bluesmoke.o dmi_scan.o pci-i386.o pci-pc.o pci-irq.o smp.o
smpboot.o trampoline.o mpparse.o apic.o nmi.o io_spic.o acpitable.o
entry.o: file not recognized: File truncated
make[1]: *** [kernel.o] Error 1
make[1]: Leaving directory '/usr/src/linux/arch/i386/kernel'
make: *** [_dir_arch/i386/kernel] Error 2 

The compilation usually halts with some message reporting an error with
entry.o.  If using kgcc I get an error at trampoline.o, if I do make bzImage
again it stops with the above error (entry.o truncated), all further attempts
halt at this same location.  I have tried to determine if the problem is due to
bad RAM using "dd if=/dev/hda4 of=/dev/null bs-1024k count=768" and then "make
bzImage" again; and the program halts at the exact same point again.  Thus I do
not think that the RAM is bad (at least I hope).  I do not have any other
problems using gcc-3.1.0 and most programs compile beautifully. 


Version-Release number of selected component (if applicable):
gcc-3.1.0-22 and previous Rawhide release
kgcc-1.1.2-40
binutils-2.11.93.0.2-7 and previous Rawhide release.
RedHat Kernels: 2.4.7-10, 2.4.9-31, 2.4.17-0.18 and regular kernel 2.4.17

How Reproducible: Very reproducible.  It does not matter how soon or long after
the error I try again, the compilation halts at the same place and gives the
same error.


Steps to Reproduce:
1. any form of make config (make xconfig, make config. make oldconfig)
2. make dep with gcc or kgcc
3. make bzImage (or zImage) (with kgcc it firsts reports and error at the
compilation of trampoline.o due to a segmentation fault in program as, all
further attempts report that stop at kernel.o with the error entry.o: file is
not recognized: File truncated.) 

Actual Results:


Expected Results:


Additional Information: I have a Dell Dimension 8100 with a 1.4 GHz Pentium 4,
768 Mb RDRAM, 500 Mb Swap space, Rawhide 2.0 (with a few non gcc or kernel
related RedHat 7.2 and other distribution components), XFree86-4.2.0-32, on a
~40Gb IDE partition.

Comment 1 Alexander Farley 2002-03-09 21:31:42 UTC
I also tried the two sets of RDRAM chips alone (2x128Mb and 2x256Mb) both
resulted in the same error.  In addition I tried a UPS system and also got the
same error.

Comment 2 Jakub Jelinek 2002-03-09 21:41:46 UTC
It is as that is segfaulting, not gcc.
Can you please run
gcc -save-temps -D__ASEMBLY__ -D__KERNEL__ -I/usr/src/linux/include -traditional -c entry.S -o entry.o
and include here its output and entry.s it creates?
Thanks.

Comment 3 Alexander Farley 2002-03-09 22:23:29 UTC
Created attachment 48040 [details]
output of requested command

Comment 4 Alexander Farley 2002-03-09 22:37:34 UTC
Created attachment 48041 [details]
Ignore above file. The requested file, entry.o, could not be sent because it is empty.

Comment 5 Jakub Jelinek 2002-03-09 22:44:42 UTC
Cannot reproduce this. What glibc are you using?
If glibc-2.2.90-{4,5,6,7}, please upgrade to 2.2.90-8.

Comment 6 Alexander Farley 2002-03-11 14:17:19 UTC
The upgrade to glibc-2.2.90-8 worked perfectly (I am surprised that I missed the
upgrade release). I guess the problem does not matter any more.  Thanks for your
time anyway.