ANDROID: GKI: enable CONFIG_DEBUG_INFO_COMPRESSED_ZSTD=y
DWARF debug info is the largest contributor to the file size of vmlinux. By
compressing the debug info via ZSTD, we can significantly reduce the binary
image size for little to no meaningful change in build time (and slightly more
time spent to compress this data when actually consumed; tools need to support
compressed debug info).
$ du -h vmlinux_compressed vmlinux_uncompressed
165M vmlinux_compressed
299M vmlinux_uncompressed
$ bloaty vmlinux_compressed -- vmlinux_uncompressed
FILE SIZE
--------------
+0.0% +716 .BTF
+1.5% +4 .comment
-0.4% -716 [Unmapped]
-74.8% -1.90Ki .debug_aranges
-77.5% -14.0Ki .debug_frame
-71.3% -83.3Ki .debug_line_str
-57.6% -2.44Mi .debug_rnglists
-64.9% -3.02Mi .debug_str
-81.5% -3.63Mi .debug_abbrev
-79.2% -4.37Mi .debug_addr
-51.9% -11.8Mi .debug_loclists
-70.0% -13.9Mi .debug_line
-93.5% -31.1Mi .debug_str_offsets
-41.5% -63.9Mi .debug_info
-45.0% -134Mi TOTAL
Before this patch:
$ tools/bazel build //common:kernel_aarch64_dist
...
INFO: Elapsed time: 137.666s, Critical Path: 128.53s
After this patch:
$ tools/bazel build //common:kernel_aarch64_dist
...
INFO: Elapsed time: 136.878s, Critical Path: 127.09s
Bug: 283839682
Change-Id: Id64bb5cf0ccda18147c105b53f36d97cd996be05
Signed-off-by:
Nick Desaulniers <ndesaulniers@google.com>
Loading
Please sign in to comment