Use prebuilt 'as' for building Linux kernel module.
Due to how the Linux Makefile works we do this by setting LD, from
which it figures out the GCC toolchain directory to pass to Clang.
We also need to set a bunch of other tools to be used when `make
update-prebuilts` builds the entire kernel.
Bug: 132428451
Change-Id: I7af2051f80531934e730d90d0dd7e924e4a60724
diff --git a/build/docker/Dockerfile b/build/docker/Dockerfile
index 2edda7e..1eb6b2d 100644
--- a/build/docker/Dockerfile
+++ b/build/docker/Dockerfile
@@ -26,7 +26,6 @@
RUN apt-get update \
&& apt-get install -y \
bc `# for Linux headers` \
- binutils-aarch64-linux-gnu \
bison \
build-essential \
cpio \
diff --git a/build/linux/linux.gni b/build/linux/linux.gni
index de0f8a3..5712932 100644
--- a/build/linux/linux.gni
+++ b/build/linux/linux.gni
@@ -63,6 +63,15 @@
# TODO: Build with toolchain cc instead of a hardcoded one.
"CC=" + rebase_path("//prebuilts/linux-x64/clang/bin/clang"),
+ "LD=" +
+ rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ld"),
+ "AR=" +
+ rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ar"),
+ "NM=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-nm"),
+ "OBJCOPY=" + rebase_path(
+ "//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-objcopy"),
+ "OBJDUMP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-objdump"),
+ "STRIP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-strip"),
"ARCH=arm64",
"CROSS_COMPILE=aarch64-linux-gnu-",
@@ -150,6 +159,15 @@
"O=" +
rebase_path(get_label_info(invoker.kernel_target, "target_out_dir")),
"CC=" + rebase_path("//prebuilts/linux-x64/clang/bin/clang"),
+ "LD=" +
+ rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ld"),
+ "AR=" +
+ rebase_path("//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-ar"),
+ "NM=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-nm"),
+ "OBJCOPY=" + rebase_path(
+ "//prebuilts/linux-x64/gcc/bin/aarch64-linux-android-objcopy"),
+ "OBJDUMP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-objdump"),
+ "STRIP=" + rebase_path("//prebuilts/linux-x64/clang/bin/llvm-strip"),
"ARCH=arm64",
"CROSS_COMPILE=aarch64-linux-gnu-",
]