numam-dpdk/devtools
David Marchand 777014e56d devtools: add ABI checks
For normal developers, those checks are disabled.

Enabling them requires a configuration that will trigger the ABI dumps
generation as part of the existing devtools/test-build.sh and
devtools/test-meson-builds.sh scripts.

Those checks are enabled in the CI for the default meson options on x86
and aarch64 so that proposed patches are validated via our CI robot.
A cache of the ABI is stored in travis jobs to avoid rebuilding too
often.

Checks can be informational only, by setting ABI_CHECKS_WARN_ONLY when
breaking the ABI in a future release.

Explicit suppression rules have been added on internal structures
exposed to crypto drivers as the current ABI policy does not apply to
them.
This could be improved in the future by carefully splitting the headers
content with application and driver "users" in mind.

We currently have issues reported for librte_crypto recent changes for
which suppression rules have been added too.

Mellanox glue libraries are explicitly skipped as they are not part of
the application ABI.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Luca Boccassi <bluca@debian.org>
2020-02-05 15:14:46 +01:00
..
cocci devtools/cocci: create safer version of strlcpy script 2019-04-04 22:45:33 +02:00
build-tags.sh devtools: fix building kernel component tags 2019-07-31 00:22:33 +02:00
check-abi-version.sh devtools: move ABI scripts from buildtools 2019-11-28 16:36:11 +01:00
check-abi.sh devtools: add ABI checks 2020-02-05 15:14:46 +01:00
check-dup-includes.sh devtools: support FreeBSD 2019-07-31 00:22:33 +02:00
check-forbidden-tokens.awk devtools: add explicit warnings for forbidden tokens 2018-11-04 21:54:04 +01:00
check-git-log.sh devtools: check coverity and bugzilla tags 2019-11-28 00:33:58 +01:00
check-includes.sh eal: remove exec-env directory 2019-04-02 21:49:35 +02:00
check-maintainers.sh use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
check-symbol-change.sh devtools: fix check of symbol added as stable API 2019-05-10 00:19:31 +02:00
check-symbol-maps.sh devtools: check orphan symbols in map files 2018-05-29 17:43:33 +02:00
checkpatches.sh devtools: fix cleanup of checkpatch temporary file 2019-10-21 16:19:00 +02:00
cocci.sh devtools: use a common prefix for temporary files 2018-10-01 23:51:45 +02:00
gen-abi.sh devtools: add ABI checks 2020-02-05 15:14:46 +01:00
get-maintainer.sh devtools: support FreeBSD 2019-07-31 00:22:33 +02:00
git-log-fixes.sh use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
libabigail.abignore devtools: add ABI checks 2020-02-05 15:14:46 +01:00
load-devel-config devtools: support FreeBSD 2019-07-31 00:22:33 +02:00
test-build.sh devtools: add ABI checks 2020-02-05 15:14:46 +01:00
test-meson-builds.sh devtools: add ABI checks 2020-02-05 15:14:46 +01:00
test-null.sh devtools: add path to additional shared object files 2020-01-14 09:45:23 +01:00
update_version_map_abi.py devtools: move ABI scripts from buildtools 2019-11-28 16:36:11 +01:00
update-abi.sh devtools: move ABI scripts from buildtools 2019-11-28 16:36:11 +01:00
validate-abi.sh devtools: support FreeBSD 2019-07-31 00:22:33 +02:00