svn commit: r299993 - head/sys/conf

Adrian Chadd adrian at FreeBSD.org
Mon May 16 23:56:32 UTC 2016


Author: adrian
Date: Mon May 16 23:56:31 2016
New Revision: 299993
URL: https://svnweb.freebsd.org/changeset/base/299993

Log:
  [mips] Improve MIPS trampoline code
  
  This patch fix trampoline build. inckern.S increases stack and calls _startC
  of elf_trampoline, so inckern.S should be called before elf_trampoline. gcc4.2 puts
  text (code) into image according to order of source files in this call, so order has changed.
  
  In addition make will install trampoline kernel. It allows to use kernel for firmware build.
  
  Submitted by:	Michael Zhilin <mizhka at gmail.com>
  Differential Revision:	https://reviews.freebsd.org/D6242

Modified:
  head/sys/conf/Makefile.mips

Modified: head/sys/conf/Makefile.mips
==============================================================================
--- head/sys/conf/Makefile.mips	Mon May 16 23:54:28 2016	(r299992)
+++ head/sys/conf/Makefile.mips	Mon May 16 23:56:31 2016	(r299993)
@@ -62,6 +62,7 @@ ASM_CFLAGS+=${CFLAGS} -D_LOCORE -DLOCORE
 
 .if !defined(WITHOUT_KERNEL_TRAMPOLINE)
 KERNEL_EXTRA=trampoline
+KERNEL_EXTRA_INSTALL=${KERNEL_KO}.tramp.bin
 trampoline: ${KERNEL_KO}.tramp.bin
 ${KERNEL_KO}.tramp.bin: ${KERNEL_KO} $S/$M/$M/elf_trampoline.c \
 	$S/$M/$M/inckern.S 
@@ -72,7 +73,7 @@ ${KERNEL_KO}.tramp.bin: ${KERNEL_KO} $S/
 	${CC} -O -nostdlib -I. -I$S ${TRAMP_EXTRA_FLAGS} ${TRAMP_LDFLAGS} -Xlinker \
 		-T -Xlinker ${LDSCRIPT_NAME}.tramp.noheader \
 		-DKERNNAME="\"${KERNEL_KO}.tmp\"" -DELFSIZE=${TRAMP_ELFSIZE} \
-		$S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \
+		$S/$M/$M/inckern.S $S/$M/$M/elf_trampoline.c \
 		-o ${KERNEL_KO}.tramp.elf
 	${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.elf \
 		${KERNEL_KO}.tramp.bin


More information about the svn-src-head mailing list