Thread (104 messages) 104 messages, 19 authors, 2020-03-17

Re: [dpdk-dev] [PATCH] add ABI checks

From: Thomas Monjalon <hidden>
Date: 2020-01-14 23:19:36

20/12/2019 17:20, Kinsella, Ray:
From: Richardson, Bruce <redacted>
quoted
From: David Marchand <redacted>
quoted
+Checking ABI compatibility
+--------------------------
+
+The first thing is to build reference binaries for the latest
release
quoted
+your patches are built on top of.
+
+Either you are in a git tree and an easy way to identify this is to
run::
quoted
+
+  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.
quoted
+
+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.

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.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help