loader: make sure CPUTYPE is ignored when building
CPUTYPE?=native causes -march=native to be added to the command line. When the host machine is haswell, this causes some versions of clang to generate code that can't execute in the efi boot loader environment. Set _CPUCFLAGS= to undo what's done bsd.cpu.mk. bsd.cpu.mk is included too early to control with NO_CPU_CFLAGS here. The only other option is to put that in all the Makefiles, and this is less tedious and error prone. PR: 194641 Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D31187 MFC After: 1 week
This commit is contained in:
parent
4211457e40
commit
7a0c0ff7ee
@ -15,6 +15,14 @@ MAN=
|
|||||||
NO_PIC=
|
NO_PIC=
|
||||||
INTERNALLIB=
|
INTERNALLIB=
|
||||||
.endif
|
.endif
|
||||||
|
# Should be NO_CPU_FLAGS, but bsd.cpu.mk is included too early in bsd.init.mk
|
||||||
|
# via the early include of bsd.opts.mk. Moving Makefile.inc include earlier in
|
||||||
|
# that file causes weirdness, so this is the next best thing. We need to do this
|
||||||
|
# because the loader needs very specific flags to work right, and things like
|
||||||
|
# CPUTYPE?=native prevent that, and introduce an endless game of whack-a-mole
|
||||||
|
# to disable more and more features. Boot loader performance is never improved
|
||||||
|
# enough to make that hassle worth chasing.
|
||||||
|
_CPUCFLAGS=
|
||||||
|
|
||||||
.include <src.opts.mk>
|
.include <src.opts.mk>
|
||||||
.include <bsd.linker.mk>
|
.include <bsd.linker.mk>
|
||||||
|
Loading…
Reference in New Issue
Block a user