From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8EFC7A04FA; Sun, 2 Feb 2020 22:09:14 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 31CBF1BFD9; Sun, 2 Feb 2020 22:09:06 +0100 (CET) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by dpdk.org (Postfix) with ESMTP id 38D07DE3 for ; Sun, 2 Feb 2020 22:09:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1580677742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sWNA5s2/7XAkhzHHUGFT6pq9Wt97+Vkm/IFBWotAO7M=; b=X5ehRa7A7h/C+vD2TuqhhV1aov8WvfqiUeKiTUS67aa3HfZmojCIsyiS2bxjONFIW90k3D 5y0lGvVbs5e81FHu8pZif6S/MNY41TtVr1ct87M99LJmda832H3+/PQd0Cd2SQgtyStcOx oJljdBtnz+nZ12IuBPywsoNfw8YoFa4= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-401-zAy56dWjNdCTHqxI66Vnzg-1; Sun, 02 Feb 2020 16:08:53 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6D10913E2; Sun, 2 Feb 2020 21:08:50 +0000 (UTC) Received: from dmarchan.remote.csb (ovpn-204-51.brq.redhat.com [10.40.204.51]) by smtp.corp.redhat.com (Postfix) with ESMTP id 951FC8E9E5; Sun, 2 Feb 2020 21:08:45 +0000 (UTC) From: David Marchand To: dev@dpdk.org Cc: thomas@monjalon.net, bruce.richardson@intel.com, kevin.laatz@intel.com, aconole@redhat.com, nhorman@tuxdriver.com, akhil.goyal@nxp.com, anoobj@marvell.com, bluca@debian.org, fiona.trahe@intel.com, ferruh.yigit@intel.com Date: Sun, 2 Feb 2020 22:08:31 +0100 Message-Id: <20200202210835.29791-1-david.marchand@redhat.com> In-Reply-To: <20191220152058.10739-1-david.marchand@redhat.com> References: <20191220152058.10739-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-MC-Unique: zAy56dWjNdCTHqxI66Vnzg-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Subject: [dpdk-dev] [PATCH v4 0/3] add ABI checks X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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=3D25409 2: http://inbox.dpdk.org/dev/CAJFAV8yFKoDZROX9Mkyp7pDMvXw3e7mHwxjfrcjD5ZoFB= 2tZ8w@mail.gmail.com/ --=20 David Marchand Changelog since v3: - removed patch 3 based on Thomas feedback, - switched to fixed sources location for building ABI references, Changelog since v2: - incorporated offlist Thomas comments wrt to existing build envs (do not change --prefix, force builds with debug enabled) David Marchand (3): hash: fix meson headers packaging build: split build helper add ABI checks .ci/linux-build.sh | 24 ++++++++ .travis.yml | 20 +++++- MAINTAINERS | 3 + devtools/check-abi.sh | 59 ++++++++++++++++++ devtools/dpdk.abignore | 21 +++++++ devtools/gen-abi.sh | 26 ++++++++ devtools/test-build.sh | 52 ++++++++++++++-- devtools/test-meson-builds.sh | 96 ++++++++++++++++++++++++----- doc/guides/contributing/patches.rst | 15 +++++ lib/librte_hash/meson.build | 5 +- 10 files changed, 293 insertions(+), 28 deletions(-) create mode 100755 devtools/check-abi.sh create mode 100644 devtools/dpdk.abignore create mode 100755 devtools/gen-abi.sh --=20 2.23.0