add ABI checks
authorDavid Marchand <david.marchand@redhat.com>
Thu, 19 Dec 2019 21:45:03 +0000 (22:45 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Wed, 15 Jan 2020 09:38:14 +0000 (10:38 +0100)
commitcf1e458fbf242406cb8152ebd05ab2cbc2dc738c
treeec51245aac75e277516b321f1f2b20471ed41e18
parentad1ec9d61745de0dc09668a8b6eac74ad9b6f39a
add ABI checks

Starting from Kevin and Bruce idea of using libabigail, here is an
alternate approach to implement ABI checks.

By default, those checks are disabled and enabling them requires a
manual step that generates the ABI dumps on a reference version for a
set of configurations.

Those checks are enabled in the CI by default for the default meson
options on x86 and aarch64 so that proposed patches are validated.
A cache of the ABI is stored in travis jobs.
Checks can be only informational by setting ABI_CHECKS_WARN_ONLY when
breaking the ABI in a future release.

For advanced developers and maintainers, the contributing guide details
the higher level scripts that are quite close to the existing devtools
scripts.

Signed-off-by: David Marchand <david.marchand@redhat.com>
.ci/linux-build.sh
.travis.yml
devtools/check-abi-dump.sh [new file with mode: 0755]
devtools/check-abi-reference.sh [new file with mode: 0755]
devtools/dpdk.abignore [new file with mode: 0644]
devtools/gen-abi-dump.sh [new file with mode: 0755]
devtools/gen-abi-reference.sh [new file with mode: 0755]
devtools/test-build.sh
devtools/test-meson-builds.sh
doc/guides/contributing/patches.rst