summaryrefslogtreecommitdiff
path: root/abi
AgeCommit message (Collapse)Author
2019-08-19build_abi: add options to help maintaining the abi.xmlMatthias Maennich
Add the options -u | --update Update the abi.xml in the source directory -n | --nodiff Do not generate a ABI report with abidiff -r | --print-report Print ABI report in case of differences This allows the following example usages (besides others): - Update the ABI and print the reported differences That is useful to take the report for the commit message when updating the abi.xml. $ build/build_abi.sh -r -u - Update the ABI and ignore any difference If you are not interested in the report or any existing difference, but just want to update the abi.xml. $ build/build_abi.sh -u -n Change-Id: Ifc97b7043da6e93b90e670bab2f89796aff655ac Signed-off-by: Matthias Maennich <maennich@google.com>
2019-07-23abi: update libabigail to latest upstream masterMatthias Maennich
upstream commit d7ae619ff3360480348f7f1ab58fdb3be85aa079 - Runtime improvements (abidw, abidw) - support for building in C++17 - support for building against libc++ - improved handling for enum types (compatible integers) Bug: 138130708 Change-Id: Iae2c7a4e61eab6ecb7fadc8ee80501c28c80954b Signed-off-by: Matthias Maennich <maennich@google.com>
2019-07-12abi/bootstrap: Warn on non-debian systems what might need to be doneGreg Kroah-Hartman
The scripts work on non-debian systems with a few minor changes. Warn the user when running bootstrap that there might be some packages they need to install on their own before continuing. Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I93345bf19a6b4829a81d5b30c45538d6338bd914
2019-07-09abi: update libabigail to latest upstream masterMatthias Maennich
- Runtime improvements (abidw) - support for building in C++17 - support for building against libc++ - improved handling for union types Bug: 135956213 Change-Id: Idf6b01e2db209935d486992c87ee4d4f5c43485b Signed-off-by: Matthias Maennich <maennich@android.com>
2019-06-25abi/bootstrap: ensure libebl backends are in LD_LIBRARY_PATHMatthias Maennich
bootstrap incorrectly missed to add the path to the libebl backends (e.g. libebl_aarch64.so) to the printed LD_LIBRARY_PATH. Fix that. Bug: 135957120 Change-Id: I5ee2127bee5885101432f41533c4b7cd233c916e Signed-off-by: Matthias Maennich <maennich@google.com>
2019-06-21abi: update libabigail to latest upstream masterMatthias Maennich
This improves the way, libabigail deals with anonymous types and also introduces speedups for C languague programs such as the Linux Kernel. Change-Id: Ib9d99d69465800cde26383fe5965827f30002358 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-06-17abi: update libabigail to latest upstream masterMatthias Maennich
This improves the way, libabigail deals with anonymous types and also introduces speedups for C languague programs such as the Linux Kernel. Bug: 253025227 Change-Id: I38ae7b49d9fb0e95957c443883ad3a1ded554c2b Signed-off-by: Matthias Maennich <maennich@google.com>
2019-06-12abi: replace libabigail's --short-locs by postprocessing of the abi.xmlMatthias Maennich
Shortening the file paths with --short-locs to just file names makes the abi.xml output ambigous and the later abidiff analysis sensitive for external influences that (still correct) change the result of the binary. Hence, stop using --short-locs, but rather textual replace all occurrences of the kernel source dir and - in a second step - everything else that sneaked in (e.g. from the prebuilts or other repositories of the checkout). Bug: 135011693 Change-Id: I808a96e3e38365e54f5eb467587b8f5dfbc12825 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-06-10abi/bootstrap: build elfutils from source as wellMatthias Maennich
The elfutils version used may make a difference for the produced abi results. Hence, also build them from scratch. Change-Id: Id96276746907d69470da00157569d455bc353c1f Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-29abi/bootstrap: update libabigail to current masterMatthias Maennich
Until a release (1.7) has been published upstream, we need to build and use a trunk version of libabigail as we make use of recent functionality only available in master. Hence, pin down the libabigail version to a sufficient master commit [1]. [1] https://sourceware.org/git/?p=libabigail.git;a=commit;h=fb70149cb1bacb62209180d5ee59ba7022c7ec85 Change-Id: I6f0527d2d85e5c85690d2f83fa9379ae65ee9ab2 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-29ABI out: Use the extension .xml rather then .outMatthias Maennich
Update all relevant locations including the documentation. Bug: 133501930 Change-Id: I3cf207de381b248400c411730ac4890a3b1e3940 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-05-28abitool.py: add various new abidw options to reduce indeterminismMatthias Maennich
In latest master, libabigail's abidw introduced new options to omit absolute paths etc. This is a constant source of indeterminism. Set these options to omit full paths and file locations. Change-Id: I62e820b373ea4f58bd375adedf69f5a5097ed9c5 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-16abi/bootstrap: install system dependencies without confirmationMatthias Maennich
As the README contains a full list of dependencies and the user of this script is required to have administrator privileges, do not ask for any further confirmation when installing system packages. That also allows unattended runs of this script (called with privileges). Change-Id: Icb7a0c30ac188e3701f7096e50ebb71b3c9d3dc6 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-16abi/bootstrap: moar complete dependenciesMatthias Maennich
Add more packages that are required to run the scripts. Also update the README accordingly. Change-Id: Ie7251737e10751a23992ab93e521762de11a0711 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-09abi/bootstrap: clarify dependenciesMatthias Maennich
libabigail requires libdw-dev at least in version 0.165 and autoconf to run autoreconf. Change-Id: Id882bcf5c57de6f14fe5e61cf2ed0e3a8553f4b4 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-02abi/bootstrap: only install packages if missingMatthias Maennich
As the installation requires administrator privileges, only attempt installation if the packages are known to be missing. Change-Id: Ia81157ed100bff28047ed727035560d0ae8b8680 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-02abi/bootstrap: update libabigail 1.5 -> 1.6Matthias Maennich
Change-Id: Icb890ae075c0949362a9707e3f87044f27932dbb Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-02add build_abi.sh to create ABI dumps from build.sh buildsMatthias Maennich
Add build_abi.sh as a wrapper script to build with build.sh and create an ABI dump using abi/dump_abi. Bug: 111449103 Change-Id: Iea773cf2ed6f3fdc577a99f42284992e0a871d25 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-02Initial version of the abi monitoring utilitiesMatthias Maennich
Add a generic abitool implementation that is capable of translating common abi operations like dumping and diffing to concrete tool implementation. Also add the cmd line utilities `diff_abi` and `dump_abi`. Bug: 111449103 Co-authored-by: Jayant Chowdhary <jchowdhary@google.com> Change-Id: I1c4dedb96f4806ea58cf11786d0e7464e26f3059 Signed-off-by: Matthias Maennich <maennich@google.com>
2019-04-02ABI Monitoring: add bootstrapMatthias Maennich
Add the `bootstrap` script that is installing all the prerequisites that are necessary to run the ABI utilities. In particular, the script takes care of installing GitPython and all required dependencies for building libabigail. It finally builds the abigail tools from source and provides instructions to make them available in PATH. Bug: 111449103 Co-authored-by: Jayant Chowdhary <jchowdhary@google.com> Signed-off-by: Matthias Maennich <maennich@google.com> Change-Id: Id44efe6874f7b51bc64abca9ac3d879612180f85