t/linux: use toolchain and platforms
This allows us to do builds for different platforms consistent with how
Bazel does them. Also uses our own LLVM toolchain instead of the
"ambient" GCC. As bzImages only exist for x86, rename everything to
Image which is the cross-platform name. For us this is fine as we use
the PE entry point which exists for all of these.
Binary path generation is a hack as not all of the ones Linux needs are
actually available in the rules-based toolchain and we need a special
calling convention to work around a bug in LLVM when compiling assembly
with preprocessor macros.
Change-Id: I8ed8fa7c1514b9ffbfaedf235e32250e4af40aa4
Reviewed-on: https://review.monogon.dev/c/monogon/+/4215
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/osbase/build/def.bzl b/osbase/build/def.bzl
index c7f189a..7b5f231 100644
--- a/osbase/build/def.bzl
+++ b/osbase/build/def.bzl
@@ -61,7 +61,7 @@
# to a stable hash.
# See the transition's comment block for more information.
"@io_bazel_rules_go//go/config:static": False,
- "@toolchain_cc_mngn//buildmode:static": False,
+ "@toolchain_cc_mngn//buildmode:static": True,
}
def _ignore_unused_configuration_impl(_settings, _attr):