commit | 3feec55302941c3b0d36275b4bfcf770a41060e4 | [log] [tgz] |
---|---|---|
author | Primiano Tucci <primiano@google.com> | Tue Feb 04 11:14:42 2020 +0000 |
committer | Primiano Tucci <primiano@google.com> | Tue Feb 04 11:14:42 2020 +0000 |
tree | 7581f1d59d4cc3bfec0c41d466204bb1b968c659 | |
parent | 784967be4d56903b43b4bcaf2606bcb26be1597e [diff] |
Client library: make code gc-sections friendly The problem we want to solve is the following: on Android some targets (e.g. libsurfaceflinger) rely on the system backend for production code but then want the in-process backend for tests. Both backends are big in terms of binary size (~200 KB). Instead of relying on dedicated build targets this code arranges the build targets in a way that allows the linker to dead-code-eliminate unused backends if the caller doesn't require them. Test: manual: the size of /system/lib64/libsurfaceflinger.so is == the size when completely removing the in-process target. Bug: 148198993 Change-Id: Ie891a9b2e6ec38a3781318d1204a694899b01656
Perfetto is an open-source project for performance instrumentation and tracing of Linux/Android/Chrome platforms and user-space apps.
See www.perfetto.dev for docs.
See /docs/contributing.md for instructions.
The source-of-truth repo is Android's Gerrit. The GitHub repo is a read-only mirror.
You can reach us on our Discord channel. If you prefer using IRC we have an experimental Discord <> IRC bridge synced with #perfetto-dev
on Freenode.