Changeset View
Changeset View
Standalone View
Standalone View
share/mk/src.opts.mk
Show First 20 Lines • Show All 125 Lines • ▼ Show 20 Lines | __DEFAULT_YES_OPTIONS = \ | ||||
LEGACY_CONSOLE \ | LEGACY_CONSOLE \ | ||||
LLD \ | LLD \ | ||||
LLD_BOOTSTRAP \ | LLD_BOOTSTRAP \ | ||||
LLD_IS_LD \ | LLD_IS_LD \ | ||||
LLVM_ASSERTIONS \ | LLVM_ASSERTIONS \ | ||||
LLVM_COV \ | LLVM_COV \ | ||||
LLVM_CXXFILT \ | LLVM_CXXFILT \ | ||||
LOADER_GELI \ | LOADER_GELI \ | ||||
LOADER_KBOOT \ | |||||
LOADER_LUA \ | LOADER_LUA \ | ||||
LOADER_OFW \ | LOADER_OFW \ | ||||
LOADER_UBOOT \ | LOADER_UBOOT \ | ||||
LOCALES \ | LOCALES \ | ||||
LOCATE \ | LOCATE \ | ||||
LPR \ | LPR \ | ||||
LS_COLORS \ | LS_COLORS \ | ||||
MAIL \ | MAIL \ | ||||
▲ Show 20 Lines • Show All 163 Lines • ▼ Show 20 Lines | |||||
.endif | .endif | ||||
# EFI doesn't exist on mips or powerpc. | # EFI doesn't exist on mips or powerpc. | ||||
.if ${__T:Mmips*} || ${__T:Mpowerpc*} | .if ${__T:Mmips*} || ${__T:Mpowerpc*} | ||||
BROKEN_OPTIONS+=EFI | BROKEN_OPTIONS+=EFI | ||||
.endif | .endif | ||||
# OFW is only for powerpc, exclude others | # OFW is only for powerpc, exclude others | ||||
.if ${__T:Mpowerpc*} == "" | .if ${__T:Mpowerpc*} == "" | ||||
BROKEN_OPTIONS+=LOADER_OFW | BROKEN_OPTIONS+=LOADER_OFW | ||||
.endif | |||||
# KBOOT is only for powerpc64 (powerpc64le broken) | |||||
.if ${__T} != "powerpc64" | |||||
luporl: This will break powerpc64le builds, that currently can't build kboot.
So this line should… | |||||
BROKEN_OPTIONS+=LOADER_KBOOT | |||||
.endif | .endif | ||||
# UBOOT is only for arm, and big-endian powerpc | # UBOOT is only for arm, and big-endian powerpc | ||||
.if (${__T:Marm*} == "" && ${__T:Mpowerpc*} == "") || ${__T} == "powerpc64le" | .if (${__T:Marm*} == "" && ${__T:Mpowerpc*} == "") || ${__T} == "powerpc64le" | ||||
BROKEN_OPTIONS+=LOADER_UBOOT | BROKEN_OPTIONS+=LOADER_UBOOT | ||||
.endif | .endif | ||||
# GELI and Lua in loader currently cause boot failures on powerpc. | # GELI and Lua in loader currently cause boot failures on powerpc. | ||||
# Further debugging is required -- probably they are just broken on big | # Further debugging is required -- probably they are just broken on big | ||||
# endian systems generically (they jump to null pointers or try to read | # endian systems generically (they jump to null pointers or try to read | ||||
▲ Show 20 Lines • Show All 189 Lines • Show Last 20 Lines |
This will break powerpc64le builds, that currently can't build kboot.
So this line should probably be something like:
Another option is to create a kboot/ldscript.powerpcle file and adjust the Makefile to use it instead, when on powerpc64le.
The contents of this file would be almost identical to kboot/ldscript.powerpc, just replacing "powerpc" occurrences by "powerpcle".
I've tested this change and it produces a "working" kboot binary, which can be useful to experiment with on Petitboot, on POWER8/POWER9 machines, now that MK_LOADER_FORCE_LE is gone. This "working" binary is able to start and most of loader's commands work, but I was unable to load a kernel with it (segfaults when trying to list a partition).