Build kdump only for 64-bit
It doesn't support 32-bit target. Build crashdump, kexec, and the kernel
only for 64-bit and disable the 32-bit variant.
Bug: N/A
Test: build for aosp_x86 and full
Change-Id: I3fafff4a1a45ab808aa3b8cd720925c6b8f4fef3
diff --git a/microdroid/kdump/Android.bp b/microdroid/kdump/Android.bp
index ffbfcce..390886b 100644
--- a/microdroid/kdump/Android.bp
+++ b/microdroid/kdump/Android.bp
@@ -7,6 +7,7 @@
stem: "kexec",
srcs: ["kexec.c"],
installable: false,
+ compile_multilib: "64",
}
cc_binary {
@@ -15,11 +16,16 @@
srcs: ["crashdump.c"],
static_executable: true,
installable: false,
+ compile_multilib: "64",
}
android_filesystem {
name: "microdroid_crashdump_initrd",
- deps: ["microdroid_crashdump"],
+ multilib: {
+ lib64: {
+ deps: ["microdroid_crashdump"],
+ },
+ },
dirs: [
"dev",
"proc",
diff --git a/microdroid/kdump/crashdump.c b/microdroid/kdump/crashdump.c
index 7f892f9..a606d43 100644
--- a/microdroid/kdump/crashdump.c
+++ b/microdroid/kdump/crashdump.c
@@ -80,7 +80,7 @@
if (fstat(vmcore, &statbuf) == -1) {
FAIL("Failed to stat %s", DUMP_SOURCE);
}
- printf("Size is %ld bytes\n", (long)statbuf.st_size);
+ printf("Size is %ld bytes\n", statbuf.st_size);
// sendfile(2) is faster, can't be used because /proc/vmcore doesn't support splice_read
size_t dumped = 0;
diff --git a/microdroid/kdump/kernel/Android.bp b/microdroid/kdump/kernel/Android.bp
index 65cb2be..093e7c7 100644
--- a/microdroid/kdump/kernel/Android.bp
+++ b/microdroid/kdump/kernel/Android.bp
@@ -12,7 +12,7 @@
prebuilt_etc {
name: "microdroid_crashdump_kernel",
- src: "empty", // for other 32-bit architectures like x86 and arm
+ compile_multilib: "64",
arch: {
arm64: {
src: "arm64/kernel-5.15",