b/t/llvm-efi: add EFI toolchain based on LLVM

This adds a Bazel toolchain for building EFI binaries using rules_cc
with LLVM installed in the container.

It does not yet add an EFI standard library.

Change-Id: I9eb15de6f4f800ab6351607d2fb01dad3135da9f
Reviewed-on: https://review.monogon.dev/c/monogon/+/333
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/build/toolchain/llvm-efi/BUILD b/build/toolchain/llvm-efi/BUILD
new file mode 100644
index 0000000..3cfa67f
--- /dev/null
+++ b/build/toolchain/llvm-efi/BUILD
@@ -0,0 +1,32 @@
+load(":cc_toolchain_config.bzl", "efi_k8_cc_toolchain_config")
+
+package(default_visibility = ["//visibility:public"])
+
+filegroup(name = "empty")
+
+cc_toolchain_suite(
+    name = "efi_cc_suite",
+    toolchains = {
+        "k8": ":efi_k8_cc_toolchain",
+    },
+)
+
+filegroup(
+    name = "fltused",
+    srcs = ["fltused.o"],
+)
+
+cc_toolchain(
+    name = "efi_k8_cc_toolchain",
+    all_files = ":empty",
+    compiler_files = ":empty",
+    dwp_files = ":empty",
+    linker_files = ":fltused",
+    objcopy_files = ":empty",
+    strip_files = ":empty",
+    supports_param_files = 0,
+    toolchain_config = ":efi_k8_cc_toolchain_config",
+    toolchain_identifier = "efi-k8-toolchain",
+)
+
+efi_k8_cc_toolchain_config(name = "efi_k8_cc_toolchain_config")