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 B22AAA0513; Wed, 15 Jan 2020 13:38:26 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 177FC1BFEC; Wed, 15 Jan 2020 13:38:25 +0100 (CET) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id 2625A1BFE9 for ; Wed, 15 Jan 2020 13:38:23 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 6E7F72205E; Wed, 15 Jan 2020 07:38:21 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Wed, 15 Jan 2020 07:38:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=odGHS9tFeTswaH9UyGe4vr+QHMuCGudYJBkoctNrYLE=; b=kgHtIv/ZOcdu NFICvTqV/zsKXNXf9gg7SFNwttqDxL3myRemlS5FfeM9T3D5JO5xHIeJtHaF5MgQ PMKjftTipzIKjgVEcYaiphSc+vDUTNAYtMxCcqFqVBuz29WlynGOxQi1Tl4Xuegt yFxhBXYPWEDngiGKBcsE6x0Tj+fYsj0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=odGHS9tFeTswaH9UyGe4vr+QHMuCGudYJBkoctNrY LE=; b=PMPOAMd/PHXDwGFTz1PAQwHoqi6B/559cylkkD4FyU1SKHzwclWPyzi1m ZyZeMnGdHntgrpBiR3SKewk9yOvdzcm7eO8YrLYmq1DU7/ffBsr7Ok9TXLJNKcPh ipIRb6PVbxJGki4hub6YmioZr4k8Z/xvIQ5TkaGzJ7SzlkzU1dpgUD4x1j5v7eW4 3eRYuoKO3bdgzdyftFYHE4W7wgNc/B5soZIQEZOBgHAnSr1gHwrYyP1qgeqpmD3/ 9L1gypioP5QS8GAOuwuQyrHrwUb3lpU/XTTgUSmsXgOoW5x1KVCBhkbutYPw6lSc gkEkgSxkaXJcQl5mhqfsSU9whHgdQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedrtdefgdegvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucfkph epjeejrddufeegrddvtdefrddukeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhho mhgrshesmhhonhhjrghlohhnrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id D599880066; Wed, 15 Jan 2020 07:38:19 -0500 (EST) From: Thomas Monjalon To: Neil Horman Cc: David Marchand , "Richardson, Bruce" , "dev@dpdk.org" , "Laatz, Kevin" , "aconole@redhat.com" , Michael Santana , "Mcnamara, John" , "Kovacevic, Marko" , "Kinsella, Ray" Date: Wed, 15 Jan 2020 13:38:17 +0100 Message-ID: <5620600.GJh79HuArf@xps> In-Reply-To: <20200115113326.GA995@hmswarspite.think-freely.org> References: <20191220152058.10739-1-david.marchand@redhat.com> <3707731.e99z0qppnp@xps> <20200115113326.GA995@hmswarspite.think-freely.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH] 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" 15/01/2020 12:33, Neil Horman: > On Wed, Jan 15, 2020 at 12:19:30AM +0100, Thomas Monjalon wrote: > > 20/12/2019 17:20, Kinsella, Ray: > > > From: Richardson, Bruce > > > > From: David Marchand > > > > > +Checking ABI compatibility > > > > > +-------------------------- > > > > > + > > > > > +The first thing is to build reference binaries for the latest > > > > release > > > > > +your patches are built on top of. > > > > > + > > > > > +Either you are in a git tree and an easy way to identify this is to > > > > run:: > > > > > + > > > > > + git checkout $(git describe --abbrev=0) > > > > > + > > > > > +Or you use a tarball and you extract the sources in a director of > > > > > +your > > > > > choice. > > > > > + > > > > > +Next is building those sources, refer to the previous paragraph. > > > > > +You can set ``DPDK_BUILD_TEST_DIR=reference``, so that the builds > > > > > +occur in this directory. > > > > > + > > > > > +Finally, the ABI dump files are generated with the > > > > > +``devtools/gen-abi-reference.sh`` script. This script will look for > > > > > +builds in the current sub directory ``reference``. But you can set > > > > > +the environment variable ``DPDK_ABI_REF_BUILD_DIR`` to a different > > > > location. > > > > > + > > > > > +Once done, you can check your current binaries ABI with this > > > > > +reference with the ``devtools/check-abi-reference.sh`` script. > > > > > > > > > > > > > I still very much dislike forcing the user to generate his own > > > > reference version to compare the ABI against. These should be archived > > > > and the user should just be able to pull them down via git or http or > > > > otherwise. Two reasons for this: > > > > > > > > 1. Less error prone, since there is no chance of the user having an > > > > incorrect build for whatever reason. > > > > > > > > 2. Less effort for the user than asking them to do extra builds. The > > > > more steps the user has to follow, the less likely they are to attempt > > > > the process. > > > > > > +1 ... 100% agree with this. > > > > > > Many people won't know or understand what the reference is, > > > or why they to generate it. > > > > I don't want to generate and save the reference in git for each arch. > > > Can I ask what your reluctance is? Is it related to not wanting to have to save > all this information that is otherwise not used for building purposes? Yes I prefer keeping only the sources in the repository. And these dumps are big. And last but not the least, there is no ready-to-use environment to build and dump all libs for all archs. > If so I might suggest saving the dumps in a separate git tree and pulling them > in as a git submodule when the check is performed > > I really like the idea of caching the results so everyone is working from a > known ABI baseline. You don't trust the result of the build made from tagged sources? > > We can make reference build more automatic with a command like this: > > git clone --branch v19.11 . $DPDK_BUILD_TEST_DIR/abiref-19.11 > > > > Also I don't like mixing build and check steps. > > I believe the compilation should be simple and right to the point. > > > > This approach, from David, does not prevent from saving the dumps later > > if we really feel a strong need. > > > > That's why I suggest going with this patch.