Eliminate bsd.stand.mk and -fPIC 32-bit intel builds
OK. We don't really need a bsd.stand.mk, and it was causing a -fPIC for the toolchain to be added (bogusly) when building on amd64. Pull all relevant defs back into defs.mk and delete bsd.stand.mk. This saves about 15-20k on i386 loader and zfsloader which when combined with Lua give us a lot more stack space in those constrained environments.
This commit is contained in:
parent
d727d8b0b1
commit
fcdb1f0317
@ -1,29 +0,0 @@
|
||||
# $FreeBSD$
|
||||
#
|
||||
# Common definitons for programs building in the stand-alone environment
|
||||
# and/or using libstand.
|
||||
#
|
||||
|
||||
CFLAGS+= -ffreestanding -Wformat
|
||||
CFLAGS+= ${CFLAGS_NO_SIMD} -D_STANDALONE
|
||||
.if ${MACHINE_CPUARCH} == "riscv"
|
||||
CFLAGS+= -march=rv64imac -mabi=lp64
|
||||
.elif ${MACHINE_CPUARCH} != "aarch64"
|
||||
CFLAGS+= -msoft-float
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "i386"
|
||||
CFLAGS.gcc+= -mpreferred-stack-boundary=2
|
||||
.endif
|
||||
.if ${MACHINE_CPUARCH} == "amd64"
|
||||
CFLAGS+= -fPIC -mno-red-zone
|
||||
.endif
|
||||
.if ${MACHINE_CPUARCH} == "aarch64"
|
||||
CFLAGS+= -fPIC -mgeneral-regs-only
|
||||
.endif
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
CFLAGS+= -fPIC
|
||||
.endif
|
||||
.if ${MACHINE_CPUARCH} == "mips"
|
||||
CFLAGS+= -G0 -fno-pic -mno-abicalls
|
||||
.endif
|
@ -101,8 +101,10 @@ SSP_CFLAGS=
|
||||
# currently has no /boot/loader, but may soon.
|
||||
CFLAGS+= -ffreestanding ${CFLAGS_NO_SIMD}
|
||||
.if ${MACHINE_CPUARCH} == "aarch64"
|
||||
CFLAGS+= -mgeneral-regs-only
|
||||
.elif ${MACHINE_CPUARCH} != "riscv"
|
||||
CFLAGS+= -mgeneral-regs-only -fPIC
|
||||
.elif ${MACHINE_CPUARCH} == "riscv"
|
||||
CFLAGS+= -march=rv64imac -mabi=lp64
|
||||
.else
|
||||
CFLAGS+= -msoft-float
|
||||
.endif
|
||||
|
||||
@ -110,7 +112,9 @@ CFLAGS+= -msoft-float
|
||||
CFLAGS+= -march=i386
|
||||
CFLAGS.gcc+= -mpreferred-stack-boundary=2
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "amd64" && ${DO32:U0} == 0
|
||||
CFLAGS+= -fPIC -mno-red-zone
|
||||
.endif
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "arm"
|
||||
# Do not generate movt/movw, because the relocation fixup for them does not
|
||||
@ -122,6 +126,7 @@ CFLAGS.clang+= -mllvm -arm-use-movt=0
|
||||
CFLAGS.clang+= -mno-movt
|
||||
.endif
|
||||
CFLAGS.clang+= -mfpu=none
|
||||
CFLAGS+= -fPIC
|
||||
.endif
|
||||
|
||||
# The boot loader build uses dd status=none, where possible, for reproducible
|
||||
@ -131,6 +136,10 @@ CFLAGS.clang+= -mfpu=none
|
||||
DD_NOSTATUS!=(dd status=none count=0 2> /dev/null && echo status=none) || true
|
||||
DD=dd ${DD_NOSTATUS}
|
||||
|
||||
.if ${MACHINE_CPUARCH} == "mips"
|
||||
CFLAGS+= -G0 -fno-pic -mno-abicalls
|
||||
.endif
|
||||
|
||||
.if ${MK_LOADER_FORCE_LE} != "no"
|
||||
.if ${MACHINE_ARCH} == "powerpc64"
|
||||
CFLAGS+= -mlittle-endian
|
||||
|
@ -17,5 +17,4 @@ CFLAGS+= -I${SYSDIR}/contrib/libfdt/ -I${LDRSRC}
|
||||
|
||||
CFLAGS+= -Wformat -Wall
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -12,7 +12,6 @@ BASE_SRCS= dict.c ficl.c fileaccess.c float.c loader.c math64.c \
|
||||
SRCS= ${BASE_SRCS} sysdep.c softcore.c
|
||||
CLEANFILES+= softcore.c testmain testmain.o
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.ifmake testmain
|
||||
CFLAGS+= -DTESTMAIN -D_TESTMAIN
|
||||
SRCS+= testmain.c
|
||||
|
@ -34,5 +34,4 @@ SRCS+= geliboot_crypto.c g_eli_hmac.c g_eli_key.c g_eli_key_cache.c pkcs5v2.c
|
||||
.PATH: ${SYSDIR}/opencrypto
|
||||
SRCS+= xform_aes_xts.c
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -151,5 +151,4 @@ CFLAGS.bzipfs.c+= -I${SRCTOP}/contrib/bzip2
|
||||
.PATH: ${SYSDIR}/libkern
|
||||
SRCS+= explicit_bzero.c
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -53,5 +53,4 @@ ubldr: ${OBJS} ldscript.abs ${.CURDIR}/ldscript.${MACHINE_CPUARCH} ${DPADD}
|
||||
|
||||
CLEANFILES+= ldscript.abs ldscript.pie ubldr ubldr.pie ubldr.bin
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.prog.mk>
|
||||
|
@ -18,5 +18,4 @@ CFLAGS+= -I${FDTSRC}
|
||||
# Pick up the bootstrap header for some interface items
|
||||
CFLAGS+= -I${LDRSRC}
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -24,5 +24,4 @@ CFLAGS+= -I${LDRSRC}
|
||||
CFLAGS+= -DDISK_DEBUG
|
||||
.endif
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.lib.mk>
|
||||
|
@ -17,5 +17,4 @@ CFLAGS+= -I${SYSDIR}/crypto/skein
|
||||
|
||||
CFLAGS+= -Wformat -Wall
|
||||
|
||||
.include <bsd.stand.mk>
|
||||
.include <bsd.lib.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user