tag | 07d1450ff77fce5d6f9376abb63f85ce689db784 | |
---|---|---|
tagger | The Android Open Source Project <initial-contribution@android.com> | Fri Jan 31 14:41:10 2025 -0800 |
object | f8be71627f91e44b4465a54f5d224df5bbff2a69 |
aml_hef_351314220 (12777567,com.google.android.go.healthfitness,com.google.android.healthfitness)
commit | f8be71627f91e44b4465a54f5d224df5bbff2a69 | [log] [tgz] |
---|---|---|
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Tue Sep 03 07:22:20 2024 +0000 |
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | Tue Sep 03 07:22:20 2024 +0000 |
tree | 4e746c94c032e41dec82792e522030bcb78d2d0c | |
parent | db0bd69e74182cf3bcbcce629236c0caa77fe0fe [diff] | |
parent | c6427b61ead131a449fdebf0c3ba74cf3b4a8c4e [diff] |
Snap for 12310482 from c6427b61ead131a449fdebf0c3ba74cf3b4a8c4e to mainline-healthfitness-release Change-Id: I7242788d03ed2da93cf340ded26581d1ac78e3ee
The STG (symbol-type graph) is an ABI representation and this project contains tools for the creation and comparison of such representations.
The ABI extraction tool, stg
, emits a native ABI format. Parsers exist for libabigail's XML format, BTF and ELF / DWARF.
The ABI diff tool, stgdiff
, supports multiple reporting options.
STG has a versioned native file format. Older formats can be read and rewritten as the latest.
NOTE: STG is under active developement. Tool arguments and behaviour are subject to change.
We intend to package STG for major distributions. Currently we have packages as follows:
Distribution | Package |
---|---|
Arch Linux (AUR) | stg-git |
This source code is available at https://android.googlesource.com/platform/external/stg/.
Instructions are included for local and Docker builds.
STG is written in C++20. It is known to compile with GCC 11, Clang 15 or later versions. Mininum requirements for a local build are:
Dependency | Debian | RedHat | Version |
---|---|---|---|
build | cmake | cmake | 3.14 |
ELF, BTF | libelf-dev | elfutils-devel | 0.189 |
DWARF | libdw-dev | elfutils-devel | 0.189 |
XML | libxml2-dev | libxml2-devel | 2.9 |
BTF | linux-libc-dev | kernel-headers | 5.19 |
native format | libprotobuf-dev | protobuf-devel | 3.19 |
native format | protobuf-compiler | protobuf-compiler | 3.19 |
allocator[^1] | libjemalloc-dev | jemalloc-devel | 5 |
catch2[^2] | catch2 | catch2-devel | 2 (only) |
[^1]: jemalloc is optional, but will likely improve performance. [^2]: catch2 is optional, but required to build the test suite.
Build STG using CMake as follows:
$ mkdir build && cd build $ cmake .. $ cmake --build . --parallel
Run the STG unit test suite:
$ ctest
A Dockerfile is provided to build a container with the STG tools:
$ docker build -t stg .
And then enter the container:
$ docker run -it stg
Note that the Dockerfile provides only a production image. To use Docker as a development environment, you can comment out everything after the line # second stage
.
After that you may bind your development code to the container:
$ docker run -it $PWD:/src -it stg
The source code is added to /src
, so when your code is bound you can edit on your host and re-compile in the container.
See CONTRIBUTING.md for details.
Please send feedback, questions and bug reports to kernel-team@android.com.