From 3e4f88378257bbcb0336a5e7a1eb2ce5b13c155d Mon Sep 17 00:00:00 2001 From: fake Date: Fri, 24 Sep 2004 13:26:49 +0000 Subject: [PATCH] fake: sparc32/64: fix 64bit kernel build on 32-bit systems (finally!) [2004091818453900319] (https://www.rocklinux.net/submaster) git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@4385 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc --- architecture/sparc/config.in | 3 +-- architecture/sparc/kernel26-disable.lst | 5 +++++ package/base/linux/linux.conf | 9 ++++++--- package/base/linux/linux26/arch-sparc64-use-KCC.patch | 11 +++++++++++ 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 package/base/linux/linux26/arch-sparc64-use-KCC.patch diff --git a/architecture/sparc/config.in b/architecture/sparc/config.in index 83f49165a..714ccb803 100644 --- a/architecture/sparc/config.in +++ b/architecture/sparc/config.in @@ -35,8 +35,7 @@ fi # Enable cross compiler if a 64bit kernel is requested if [ "$ROCKCFG_SPARC_64BIT_KERNEL" = 1 ] ; then - ROCKCFGSET_PKG_CROSSCC=1 - ROCKCFGSET_PKG_CROSSCC_ARCH_TARGET="sparc64-linux-gnu" + ROCKCFGSET_PKG_CROSSTOOL_sparc64=1 fi # Now the optimisations that result from the options above diff --git a/architecture/sparc/kernel26-disable.lst b/architecture/sparc/kernel26-disable.lst index bf2f6ad6f..5df581975 100644 --- a/architecture/sparc/kernel26-disable.lst +++ b/architecture/sparc/kernel26-disable.lst @@ -1 +1,6 @@ CONFIG_VLSI_FIR 2004-01-21 2.6.1 +CONFIG_SUN_AURORA 2004-09-14 2.6.7 +CONFIG_SCSI_BUSLOGIC 2004-09-14 2.6.7 +CONFIG_SCSI_EATA 2004-09-14 2.6.7 +CONFIG_SERIAL_8250 2004-09-14 2.6.7 +CONFIG_MDA_CONSOLE 2004-09-14 2.6.7 diff --git a/package/base/linux/linux.conf b/package/base/linux/linux.conf index b1dcc39ec..5efe22ff3 100644 --- a/package/base/linux/linux.conf +++ b/package/base/linux/linux.conf @@ -61,8 +61,11 @@ then -e s/sa110/arm/ -e s/s390x/s390/ \ -e s/parisc64/parisc/ ) - [ $arch = sparc -a "$ROCKCFG_SPARC_64BIT_KERNEL" = 1 ] && \ - lx_cpu=sparc64 + if [ $arch = sparc -a "$ROCKCFG_SPARC_64BIT_KERNEL" = 1 ] ; then + lx_cpu=sparc64 ; + KCC=sparc64-unknown-linux-gnu-gcc + archprefix=sparc64-unknown-linux-gnu- + fi else lx_cpu=$( echo "$pkg_linux_cross" | \ sed -e s/x86$/i386/ -e s/powerpc/ppc/ \ @@ -323,7 +326,7 @@ main_lx_src() { fi if [ $stagelevel -gt 1 ] && [[ $treever = 26* ]] ; then echo "Creating scripts/* because external modules need it ..." - make scripts/ + eval $MAKE scripts/ fi echo "Clean up the *.orig and *~ files ... " diff --git a/package/base/linux/linux26/arch-sparc64-use-KCC.patch b/package/base/linux/linux26/arch-sparc64-use-KCC.patch new file mode 100644 index 000000000..5d60be270 --- /dev/null +++ b/package/base/linux/linux26/arch-sparc64-use-KCC.patch @@ -0,0 +1,11 @@ +--- ./arch/sparc64/Makefile.orig 2004-09-18 07:51:04.000000000 +0200 ++++ ./arch/sparc64/Makefile 2004-09-18 07:51:32.000000000 +0200 +@@ -12,7 +12,7 @@ + + AFLAGS_vmlinux.lds.o += -Usparc + +-CC := $(shell if $(CC) -m64 -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo $(CC); else echo sparc64-linux-gcc; fi ) ++CC := $(KCC) + + NEW_GCC := $(shell if $(CC) -m64 -mcmodel=medlow -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo y; else echo n; fi; ) + NEW_GAS := $(shell if $(LD) -V 2>&1 | grep 'elf64_sparc' > /dev/null; then echo y; else echo n; fi)