mbox series

[v2,0/4] add ABI checks

Message ID 20200129172621.28565-1-david.marchand@redhat.com (mailing list archive)
Headers
Series add ABI checks |

Message

David Marchand Jan. 29, 2020, 5:26 p.m. UTC
  Here is the current state of the ABI checks.

libabigail has some issues when mixing dump and so files compiled with
clang [1], so for now, all checks are done on dumps only.
libabigail 1.0-rc3 in Xenial reported issues that disappear with the
version 1.2 in Bionic.

To avoid getting warnings on internal types like [2], the checks now make
use of the public headers part of a dpdk installation (patch 2 and 3 to
prepare for this).

Some internal rte_hash headers were installed by meson, so patch 1 fixes
this.

The most important point, abidiff complains on the rc1 cryptodev changes:
- Chacha20-Poly1305 AEAD support,
- ECPM and ECDSA support

A suppression rule has been put on the internal type rte_cryptodev_ops.
But other changes are an ABI breakage afaiu. I put suppression rules on
them so that we can run the checks, but some action must be taken for
20.02 if my analysis is confirmed.

Special thanks to Dodji the libabigail maintainer for helping on this
topic.

1: https://sourceware.org/bugzilla/show_bug.cgi?id=25409
2: http://inbox.dpdk.org/dev/CAJFAV8yFKoDZROX9Mkyp7pDMvXw3e7mHwxjfrcjD5ZoFB2tZ8w@mail.gmail.com/
  

Comments

Luca Boccassi Jan. 30, 2020, 10:57 a.m. UTC | #1
On Wed, 2020-01-29 at 18:26 +0100, David Marchand wrote:
> Here is the current state of the ABI checks.
> 
> libabigail has some issues when mixing dump and so files compiled
> with
> clang [1], so for now, all checks are done on dumps only.
> libabigail 1.0-rc3 in Xenial reported issues that disappear with the
> version 1.2 in Bionic.
> 
> To avoid getting warnings on internal types like [2], the checks now
> make
> use of the public headers part of a dpdk installation (patch 2 and 3
> to
> prepare for this).
> 
> Some internal rte_hash headers were installed by meson, so patch 1
> fixes
> this.
> 
> The most important point, abidiff complains on the rc1 cryptodev
> changes:
> - Chacha20-Poly1305 AEAD support,
> - ECPM and ECDSA support
> 
> A suppression rule has been put on the internal type
> rte_cryptodev_ops.
> But other changes are an ABI breakage afaiu. I put suppression rules
> on
> them so that we can run the checks, but some action must be taken for
> 20.02 if my analysis is confirmed.
> 
> Special thanks to Dodji the libabigail maintainer for helping on this
> topic.
> 
> 1: 
> https://sourceware.org/bugzilla/show_bug.cgi?id=25409
> 
> 2: 
> http://inbox.dpdk.org/dev/CAJFAV8yFKoDZROX9Mkyp7pDMvXw3e7mHwxjfrcjD5ZoFB2tZ8w@mail.gmail.com/
> 
> 
> -- 
> David Marchand
> 
> David Marchand (4):
>   hash: fix meson headers packaging
>   build: split build helper
>   build: test meson installation
>   add ABI checks
> 
>  .ci/linux-build.sh                  | 29 ++++++++-
>  .travis.yml                         | 20 +++++-
>  MAINTAINERS                         |  2 +
>  devtools/check-abi.sh               | 59 +++++++++++++++++
>  devtools/dpdk.abignore              | 20 ++++++
>  devtools/gen-abi.sh                 | 26 ++++++++
>  devtools/test-build.sh              | 45 ++++++++++++-
>  devtools/test-meson-builds.sh       | 98 ++++++++++++++++++++++-----
> --
>  devtools/test-null.sh               |  1 +
>  doc/guides/contributing/patches.rst | 13 ++++
>  lib/librte_hash/meson.build         |  5 +-
>  11 files changed, 286 insertions(+), 32 deletions(-)
>  create mode 100755 devtools/check-abi.sh
>  create mode 100644 devtools/dpdk.abignore
>  create mode 100755 devtools/gen-abi.sh
> 

Series-acked-by: Luca Boccassi <bluca@debian.org>