[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@gmail.com> Differential Revision: https://reviews.freebsd.org/D6242
This commit is contained in:
parent
9c60232add
commit
188d3a278e
@ -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/$M/$M/elf_trampoline.c \
|
||||
${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
|
||||
|
Loading…
x
Reference in New Issue
Block a user