The path names here are intended to be concise and unambiguous.
gki |-- README.md |-- aarch64 | |-- symbols | | |-- base | | |-- virtual_device | | |-- $partner | | +-- ... | |-- protected_exports | |-- abi.stg | +-- abi.stg.allowed_breaks +-- ...
The gki
directory has one subdirectory per Kleaf architecture. Within each such subdirectory:
symbols
- contains symbol list filesbase
- a short list of symbols that are essential for ABI safety$partner
- a symbol list file for a specific partnerkmi_symbol_list = "//common:gki/aarch64/symbols/acme"
tools/bazel run //modules:acme_aarch64_abi_update_symbol_list
protected_exports
- a list of symbols owned by GKI modulestools/bazel run //common:kernel_aarch64_abi_update_protected_exports
abi.stg
- the tracked ABItools/bazel run //common:kernel_aarch64_abi_update
abi.stg.allowed_breaks
- a list of allowed ABI differences