I am wanting to test a new driver patch with Android 15 (Cuttlefish). I am getting the error below when I try to build the kernel with my patch. I think I need to either disable the ABI checks or provide the list of additional symbols.
I have added my additional symbols to a file under common/android/abi_gki_aarch64_mydriver
.
I have modified the file bazel-android-kernel/common/BUILD.bazel
to list this with other abi_gbi_aarch64 files.
I then ran tools/bazel run //common:kernel_aarch64_abi_update
but it still showed the error below.
I was trying to follow documentation here : /+/refs/heads/main/kleaf/README.md.
I also tried finding where I could set define_abi_targets to False which apparently turns the ABI checks off, but I could not find where to put this in the BUILD.bazel.
I also tried just adding the additional symbols to common/android/abi_gki_aarch64, but that did not work.
I also tried running tools/bazel run //common:kernel_aarch64_abi_update_symbol_list
but that also did not help.
If anyone can offer any advice on this that would be appreciated.
$ tools/bazel run //common:kernel_aarch64_abi_update
Starting local Bazel server and connecting to it...
INFO: Analyzed target //common:kernel_aarch64_abi_update (62 packages loaded, 98417 targets configured).
ERROR: /path/to/android-kernel/common/BUILD.bazel:149:22: Checking for kmi_symbol_list_strict_mode (lto=default;trim) @@//common:kernel_aarch64 failed: (Exit 1): bash failed: error executing KernelBuildKmiSymbolListStrictMode command (from target //common:kernel_aarch64) /bin/bash -c ... (remaining 1 argument skipped)
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
Symbols missing from the ksymtab:
>>LONG LIST OF SYMBOLS<<
Target //common:kernel_aarch64_abi_update failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 9.502s, Critical Path: 1.72s
INFO: 4 processes: 4 internal.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target