summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike McTernan <mikemcternan@google.com>2024-04-20 22:38:48 +0100
committerMike McTernan <mikemcternan@google.com>2024-04-20 22:42:21 +0100
commitc9dac18c46b65fc17daea0c01aaeb7d77ab83bec (patch)
treeced52293e3d23edb943b1e6bc5edc41b47786939
parent6962374d8e98165750d7cb384f6f823b1f48fc97 (diff)
downloadaosp-c9dac18c46b65fc17daea0c01aaeb7d77ab83bec.tar.gz
trusty: build: archive .lst files
The lst files contain the interleaved source and assembly which can be useful in debugging when the original source tree is not immediately available or difficult to reconstruct. Bug: 336040056 Test: build.py --archive test Change-Id: I0e3690e40db022a6894b88114053c989766044b9
-rwxr-xr-xscripts/build.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/build.py b/scripts/build.py
index 62300f9..f7840a0 100755
--- a/scripts/build.py
+++ b/scripts/build.py
@@ -422,6 +422,23 @@ def archive_symbols(args, project):
)
+def archive_listings(args, project):
+ """Archive lst files for the kernel and each trusted app"""
+ proj_buildroot = os.path.join(args.build_root, "build-" + project)
+ filename = os.path.join(args.archive, f"{project}-{args.buildid}.lst.zip")
+
+ with ZipFile(filename, "a", compression=ZIP_DEFLATED) as zip_archive:
+ print("Archiving .lst in " + os.path.relpath(filename, args.archive))
+
+ # archive the kernel elf file
+ zip_file(zip_archive, os.path.join(proj_buildroot, "lk.elf.lst"))
+
+ # archive path/to/app.lst for each trusted app
+ zip_dir(
+ zip_archive, proj_buildroot, "", lambda f: f.endswith(".lst")
+ )
+
+
def create_uuid_map(args, project):
"""Creating a mapping txt file for uuid and symbol files"""
@@ -534,6 +551,9 @@ def archive(build_config, args):
# copy out symbol files for kernel and apps
archive_symbols(args, project)
+ # copy out listings files for kernel and apps
+ archive_listings(args, project)
+
# create map between UUID and symbolic files
create_uuid_map(args, project)