Subject: kernel compile: big endian not recognized properly
To: None <>
From: Hubert Feyrer <>
List: tech-toolchain
Date: 10/26/2001 17:55:13
The following is from a fresh -current (today's sources) kernel compile. I
made sure that there are no old object files/libs left on the systemm:

 ld -EB -Ttext 0x88002000 -e start -G 0 -T ../../../../arch/mips/conf/kern.ldscript --oformat elf32-littlemips -x -o netbsd ${SYSTEM_OBJ} vers.o
 ld: locore.o: compiled for a big endian system and target is little endian
 File in wrong format: failed to merge target specific data of file locore.o

This is because the following test in the generated
(compile/INDY/)Makefile doesn't fire:

 .if (${ENDIAN} == "-EB")

This in turn can be fixed by setting ENDIAN to -EB (-EL) instead of
"-EB" ("-EL") - just remove the quotes:

	--- Makefile.BAK        Fri Oct 26 17:52:47 2001
	+++ Makefile    Fri Oct 26 17:53:00 2001
	@@ -22,9 +22,9 @@
	 .include <>
	 .if ${MACHINE_ARCH} == "mipsel"
	 .elif ${MACHINE_ARCH} == "mipseb"
	        @echo "MACHINE_ARCH ${MACHINE_ARCH} is invalid"

I don't know where the source for this is (config(8)?), but I guess this
problem will show on all big-endian MIPS platforms, so if someone could
please have a look...? Thanks!

 - Hubert

Want to get a clue on IPv6 but don't know where to start? Try this:
* Basics ->
* Setup  -> 
Of course with your #1 IPv6 ready operating system ->