Re: 2.3.47 boot problem on sparc32

From: Jakub Jelinek (jakub@redhat.com)
Date: Wed Feb 23 2000 - 07:24:15 EST


On Mon, Feb 21, 2000 at 03:42:48PM +0100, Thomas Sailer wrote:
> I tried booting 2.3.47 on a SparcStn10, and got:
> PROMLIB: obio-ranges 5
> Fixup f f019cc88 refers to weird instructions at f00f8698[9332a018,91322002]
> Program terminated
>
> This happens when feeding the compressed or the uncompressed
> kernel to silo.

Ok, this patch for 2.3.47 should fix it. Will commit it to vger soon.
The issue is that 2.3.47 for some reason reshuffles the objects and
libraries fed to the linker and the current scheme in arch/sparc/boot needs
to duplicate that exact order.
It would be much better if Linus accepted a change which moves the
vmlinux: rule into arch/*/Makefile because then this would never happen (on
sparc32 vmlinux: would be created from the already linked vmlinux.o and
btfix.o) plus make -j N would work again for sparc32 kernels.

--- linux/arch/sparc/boot/Makefile.jj Wed Oct 13 07:46:16 1999
+++ linux/arch/sparc/boot/Makefile Wed Feb 23 13:04:17 2000
@@ -22,16 +22,20 @@ btfixupprep: btfixupprep.c
 clean:
         rm -f btfixupprep piggyback tftpboot.img btfix.o btfix.s
 
-BTOBJS := $(HEAD) init/main.o init/version.o \
- $(CORE_FILES_NO_BTFIX) $(FILESYSTEMS) \
- $(NETWORKS) $(DRIVERS)
+BTOBJS := $(HEAD) init/main.o init/version.o
+BTLIBS := $(CORE_FILES_NO_BTFIX) $(FILESYSTEMS) \
+ $(DRIVERS) $(NETWORKS)
 
 # I wanted to make this depend upon BTOBJS so that a parallel
 # build would work, but this fails because $(HEAD) cannot work
 # properly as it will cause head.o to be built with the implicit
 # rules not the ones in kernel/Makefile. Someone please fix. --DaveM
 vmlinux.o: dummy
- $(LD) -r $(patsubst %,$(TOPDIR)/%,$(BTOBJS)) $(LIBS) -o vmlinux.o
+ $(LD) -r $(patsubst %,$(TOPDIR)/%,$(BTOBJS)) \
+ --start-group \
+ $(patsubst %,$(TOPDIR)/%,$(BTLIBS)) \
+ $(LIBS) \
+ --end-group -o vmlinux.o
 
 btfix.s: btfixupprep vmlinux.o
         $(OBJDUMP) -x vmlinux.o | ./btfixupprep > btfix.s

Cheers,
    Jakub
___________________________________________________________________
Jakub Jelinek | jakub@redhat.com | http://sunsite.mff.cuni.cz/~jj
Linux version 2.3.47 on a sparc64 machine (1343.49 BogoMips)
___________________________________________________________________

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:33 EST