Allow disabling symbol trimming on the command line when running
build.sh. This allows us to make GKI builds without trimming and without
modifying the build config. The main use case is when we want to update
the symbol list in a mixed build system.
Bug: 186549137
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I16d1c348270b4dbb378f009857286acd7b6d8aa3
To provide more fleixbility in debugging GKI builds, create a mechanism
for adding an optional file which may override some of the build vars,
such as POST_DEFCONFIG_CMDS.
Bug: 171343315
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: I9f4a7bad2c19bcdb3b494c97d7c1eea5c7f311ba
For development purposes, it can be useful to disable strict symbol list
checking, but this value is currently always being set to 1 in the arm64
config. Allow for this value to be overridden, with the default of being
enabled.
Bug: 184667897
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: Ie6295a2cb9d89b30e2242e2d55639a2c4882a897
Useful set of generic aarch64 symbols for GKI.
Bug: 182844240
Signed-off-by: Will McVicker <willmcvicker@google.com>
Change-Id: I9fcefdb83e2fc1c65d0f768146e859286140a5ce
Partners may want Image.lz4, so generate it as part of aarch64 builds.
Bug: 184667897
Signed-off-by: J. Avila <elavila@google.com>
Change-Id: I434287c881eb5cc906ff205e82866ede14014528
Turn on KMI_SYMBOL_LIST_STRICT_MODE and TRIM_NONLISTED_KMI=1
to match the other KMI branches
Bug: 183615388
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I11a1d4bf093827ffaa6741d010513d6e8b4ff0b2
Add initial symbol list for QCOM in android/abi_gki_aarch64_qcom.
Bug: 176974005
Change-Id: I3b79c9738b8eff86b95e61b3a8775ef0e51fae3a
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
We have to start somewhere, so add initial abi_gki_aarch64.xml file
for the current snapshot with a limited set of symbols.
Note, these symbols have not been reviewed yet, it just gives us a base
to work off of, as now the infrastructure allows for building and
managing the .xml file properly.
Bug: 177417361
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic9d9aeead1f017409644810f50528be2d165bae6
Temporary workaround to enable arm64 gki devices to boot.
Virtual devices failed to boot with 5.10 ARM64 GKI because symbol
stripping has removed tracepoint symbols pertaining to xdp which are
included in the symbol allowlist.
klog excerpt for this error.
init: Loading module /lib/modules/virtio_net.ko with args ""
virtio_net: disagrees about version of symbol __traceiter_xdp_exception
virtio_net: Unknown symbol __traceiter_xdp_exception (err -22)
virtio_net: disagrees about version of symbol __tracepoint_xdp_exception
virtio_net: Unknown symbol __tracepoint_xdp_exception (err -22)
init: Failed to insmod '/lib/modules/virtio_net.ko' with args ''
init: LoadWithAliases was unable to load virtio_net
init: Failed to load kernel modules
Bug: 176831960
Test: Treehugger
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
Change-Id: If5b6fd12ce1c783966ff4ed0a8bc141d077c71a3
Formerly cuttlefish and goldfish had separate symbol lists.
The defconfigs and symbol lists were unified recently. However, the
symbol lists should conform to this naming convention.
Generated with
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh;
BUILD_CONFIG= \
common-modules/virtual-device/build.config.virtual_device.aarch64 \
build/build.sh;
build/abi/extract_symbols out/android12-5.10/dist/ \
--whitelist common/android/abi_gki_aarch64_virtual_device
Test: Treehugger
Bug: 176831960
Signed-off-by: Ram Muthiah <rammuthiah@google.com>
Change-Id: I21755fbd3e9ab6319fdf4fcd06e501d722fb7242
This is to allow LTO on this branch which currently is incompatible with
pahole's BTF extraction mechanism.
Bug: 168714651
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I8eb00db99fa97674155e47cf5f1e01ff651375ba
Enable building vmlinux.btf (in addition to vmlinux). The original
binaries are not affected.
Bug: 157508131
Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I37e95edacf2df62d5b9680296e797a1e0949bfb3
And replace many references of ${ROOT_DIR}/common with
${ROOT_DIR}/${KERNEL_DIR}, which makes it a lot easier
to branch off of ACK and update the KERNEL_DIR.
The variable of KERNEL_DIR will be set in build/_setup_env.sh
to the directory of the build config file by default if it's
not set explicitly in the build config file or in environment.
Test: build test with following configs
common/build.config.gki.aarch64
common/build.config.db845c
common/build.config.hikey960
cuttlefish-modules/build.config.cuttlefish.aarch64
Bug: 162785964
Change-Id: I790ac0ded10bd790484f14c6f93d53e06c38b830
Signed-off-by: Will McVicker <willmcvicker@google.com>
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
(cherry picked from commit 931718fa65fe5e34d143250c048f591a7d74e5f8)
[elavila: resolve conflicts]
Signed-off-by: J. Avila <elavila@google.com>
We stabilized the ABI tooling on the GKI branches by now. There is no
need anymore to keep the ABI Monitoring alive on this branch. It rather
causes friction as the ABI changes all the time and the purpose of
battletesting the tooling is not as valid anymore as before.
(Also, the representation diffs slowly blow up the repository.)
Bug: 111449103
Change-Id: I86f0baf48f2f183f25aa63e1f560e8b767e7e03f
Signed-off-by: Matthias Maennich <maennich@google.com>
The build.config.* files largely contain duplicate information by their
nature. Reorganize them reduce duplication and to allow adding new
configurations without copying the definitions again.
Bug: 140224784
Change-Id: I6a3810a125b0ed48591690ca33bb5c02be58218a
Signed-off-by: Matthias Maennich <maennich@google.com>
Move to a kernel specific prebuilt path.
Bug: 135922132
Change-Id: I8755f8f0154eecc86ad598be7a7811e9d8f068ed
Signed-off-by: Matthias Maennich <maennich@google.com>
Rather than relying on the hosts build tools, use a set of prebuilt
build-tools. These are tools like awk, cat, cp, hostname, python, rm,
sed, etc.
Bug: 135922132
Change-Id: Ie6b0bd208c684c9f153eb2f0bfac4712e02e8e05
Signed-off-by: Matthias Maennich <maennich@google.com>
abi_gki_aarch64.out contains the ABI definition corresponding to the
current sources and the configuration referred to in
build.config.gki.aarch64.
As part of the build.sh tooling it will be copied over into the
distribution for further inspection / analysis. See
https://android-review.googlesource.com/970737 for details on that
process.
This is the initial version of this definition to allow implementation
of workflows around it. It is not considered stable at this point. It is
expected that it will break with significant changes from either
upstream or with changes implemented specific for this tree. Automated
validation is supposed to catch differences between this definition and
the actual binary before they are introduced into the tree. At a later
stage this validation should be part of build.sh itself.
Bug: 133501930
Change-Id: I815940ee13037ad450547e0ab0786e37f0b83d9b
Signed-off-by: Matthias Maennich <maennich@google.com>
With this in place, the gki_defconfig can be build with build.sh
machinery.
Bug: 132113225
Change-Id: I4c623a866cd41aa4587e4fab1c4e5254f6680542
Signed-off-by: Matthias Maennich <maennich@google.com>