git: a2fa290024e7 - main - mips: Fix build of kernel.tramp.bin after upstream merge
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 13 Nov 2021 20:57:15 UTC
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=a2fa290024e73107a214e37c257ce93a3f131a41 commit a2fa290024e73107a214e37c257ce93a3f131a41 Author: Jessica Clarke <jrtc27@jrtc27.com> AuthorDate: 2021-11-11 18:28:24 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-11-13 20:52:26 +0000 mips: Fix build of kernel.tramp.bin after upstream merge Since the upstream merge we end up with the compiler generating calls to memcpy (and it appears upstream LLVM does too, so this will probably also be a problem upstream when the LLVM 13 import is finished). Like the kernel we should just compile this file with -ffreestanding to avoid such surprises. Note that elf_trampoline.c does actually provide a memcpy, but it's static. That's a bit weird, and means by the time the memcpy calls are generated by the compiler the explicit ones have already been inlined and the function itself GC'ed, but since using -ffreestanding is the right thing to do for this kind of code anyway, that doesn't actually matter. Obtained from: https://github.com/CTSRD-CHERI/cheribsd/commit/219ddb6293c --- sys/conf/Makefile.mips | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/conf/Makefile.mips b/sys/conf/Makefile.mips index add27c1752a1..e8dd61d10a1d 100644 --- a/sys/conf/Makefile.mips +++ b/sys/conf/Makefile.mips @@ -57,6 +57,8 @@ TRAMP_ARCH_FLAGS?=$(ARCH_FLAGS) TRAMP_EXTRA_FLAGS=${EXTRA_FLAGS} ${TRAMP_ARCH_FLAGS} # Kernel code is always compiled with soft-float on MIPS TRAMP_EXTRA_FLAGS+=-msoft-float +# No standard library available +TRAMP_EXTRA_FLAGS+=-ffreestanding .if ${MACHINE_ARCH:Mmips64*} != "" TRAMP_ELFSIZE=64 .else