aboutsummaryrefslogtreecommitdiff
path: root/sys/conf/kern.post.mk
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2020-01-26 14:19:08 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2020-01-26 14:19:08 +0000
commit1207cda9614c0efa314f5bef902cd12d77cf4d97 (patch)
treeb0b0d590c87ab69bbefb274a15371202524ad063 /sys/conf/kern.post.mk
parent75831a1c95e7bcaab9a70bc321f5e7bdde5b989f (diff)
downloadsrc-1207cda9614c0efa314f5bef902cd12d77cf4d97.tar.gz
src-1207cda9614c0efa314f5bef902cd12d77cf4d97.zip
Compile hack.c with normal CFLAGS + -shared -nostdlib.
Originally, hack.c was compiled into a shard object with just -shared -nostdlib. This assumed that ${CC} did not require any additional flags for ABIs, cross-building, etc. When kern.post.mk was created in r89509 by reducing duplication in kernel Makefile.<arch> files, the -shared flag was moved into a HACK_EXTRA_FLAGS variable so that sparc64 could override it with -Wl,-shared. The sparc64 hack was removed in r111650, but HACK_EXTRA_FLAGS was left in place. Over time, we have started support toolchains that require flags to support alternate ABIs on MIPS and PowerPC and started (ab)using HACK_EXTRA_FLAGS to set only those flags. I need to fix risc-v to pass -mno-relax to the hack.c build for lld in llvm 10, and the patches to support cross-build from non-FreeBSD hosts need to include -target for clang in CFLAGS for hack.c. Rather than adding more hacks into HACK_EXTRA_FLAGS, just use the full set of CFLAGS with hack.c. Reviewed by: kib, arichardson MFC after: 1 month Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D23362
Notes
Notes: svn path=/head/; revision=357145
Diffstat (limited to 'sys/conf/kern.post.mk')
-rw-r--r--sys/conf/kern.post.mk3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index 3f6e26429481..acbfc6638fa7 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -226,10 +226,9 @@ kernel-clean:
# This is a hack. BFD "optimizes" away dynamic mode if there are no
# dynamic references. We could probably do a '-Bforcedynamic' mode like
# in the a.out ld. For now, this works.
-HACK_EXTRA_FLAGS?= -shared
hack.pico: Makefile
:> hack.c
- ${CC} ${HACK_EXTRA_FLAGS} -nostdlib hack.c -o hack.pico
+ ${CC} -shared ${CFLAGS} -nostdlib hack.c -o hack.pico
rm -f hack.c
offset.inc: $S/kern/genoffset.sh genoffset.o