* [PATCH rdma-core 0/5] ABI consistency check
@ 2017-11-14 18:55 Nicolas Morey-Chaisemartin
[not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 20+ messages in thread
From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:55 UTC (permalink / raw)
To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
Add scripts to generate an ABI dump and compare against a ref.
Both tools (abi-dumper and abi-consistency-check) were imported as the
system version do not work on Travis.
Travis will automatically do that if a ref is present.
Ref should be added at stable-* branch creation (see doc update)
Nicolas Morey-Chaisemartin (5):
buildlib: import abi checking tool
buildlib: add script to dump ABI
buildlib: add script to check ABI
buildlib: run ABI check in travis-build
Documentation: update stable doc about ABI reference generation
Documentation/stable.md | 17 +
buildlib/abi-checker/abi-compliance-checker.pl | 10665 +++++++++++++++++++
buildlib/abi-checker/abi-dumper.pl | 6793 ++++++++++++
buildlib/abi-checker/modules/Internals/ABIDump.pm | 1425 +++
buildlib/abi-checker/modules/Internals/Basic.pm | 744 ++
buildlib/abi-checker/modules/Internals/CallConv.pm | 1352 +++
.../abi-checker/modules/Internals/Descriptor.pm | 289 +
buildlib/abi-checker/modules/Internals/ElfTools.pm | 283 +
buildlib/abi-checker/modules/Internals/Filter.pm | 842 ++
buildlib/abi-checker/modules/Internals/GccAst.pm | 3907 +++++++
buildlib/abi-checker/modules/Internals/Input.pm | 32 +
buildlib/abi-checker/modules/Internals/Logging.pm | 172 +
buildlib/abi-checker/modules/Internals/Mangling.pm | 1050 ++
buildlib/abi-checker/modules/Internals/Path.pm | 89 +
buildlib/abi-checker/modules/Internals/RegTests.pm | 5199 +++++++++
.../modules/Internals/Scripts/Sections.js | 16 +
.../abi-checker/modules/Internals/Scripts/Tabs.js | 61 +
.../modules/Internals/Styles/CmpSystems.css | 84 +
.../modules/Internals/Styles/HeadersDiff.css | 49 +
.../modules/Internals/Styles/Report.css | 254 +
.../modules/Internals/Styles/SymbolsList.css | 79 +
.../abi-checker/modules/Internals/Styles/Tabs.css | 34 +
buildlib/abi-checker/modules/Internals/SysCheck.pm | 2485 +++++
buildlib/abi-checker/modules/Internals/SysFiles.pm | 2545 +++++
buildlib/abi-checker/modules/Internals/TUDump.pm | 969 ++
buildlib/abi-checker/modules/Internals/TypeAttr.pm | 266 +
buildlib/abi-checker/modules/Internals/Utils.pm | 491 +
buildlib/abi-checker/modules/Internals/XmlDump.pm | 861 ++
buildlib/abi-checker/modules/RulesBin.xml | 3563 +++++++
buildlib/abi-checker/modules/RulesSrc.xml | 1792 ++++
buildlib/gen-abi | 18 +
buildlib/travis-build | 4 +
buildlib/travis-checkabi | 28 +
33 files changed, 46458 insertions(+)
create mode 100755 buildlib/abi-checker/abi-compliance-checker.pl
create mode 100755 buildlib/abi-checker/abi-dumper.pl
create mode 100644 buildlib/abi-checker/modules/Internals/ABIDump.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Basic.pm
create mode 100644 buildlib/abi-checker/modules/Internals/CallConv.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Descriptor.pm
create mode 100644 buildlib/abi-checker/modules/Internals/ElfTools.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Filter.pm
create mode 100644 buildlib/abi-checker/modules/Internals/GccAst.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Input.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Logging.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Mangling.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Path.pm
create mode 100644 buildlib/abi-checker/modules/Internals/RegTests.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Scripts/Sections.js
create mode 100644 buildlib/abi-checker/modules/Internals/Scripts/Tabs.js
create mode 100644 buildlib/abi-checker/modules/Internals/Styles/CmpSystems.css
create mode 100644 buildlib/abi-checker/modules/Internals/Styles/HeadersDiff.css
create mode 100644 buildlib/abi-checker/modules/Internals/Styles/Report.css
create mode 100644 buildlib/abi-checker/modules/Internals/Styles/SymbolsList.css
create mode 100644 buildlib/abi-checker/modules/Internals/Styles/Tabs.css
create mode 100644 buildlib/abi-checker/modules/Internals/SysCheck.pm
create mode 100644 buildlib/abi-checker/modules/Internals/SysFiles.pm
create mode 100644 buildlib/abi-checker/modules/Internals/TUDump.pm
create mode 100644 buildlib/abi-checker/modules/Internals/TypeAttr.pm
create mode 100644 buildlib/abi-checker/modules/Internals/Utils.pm
create mode 100644 buildlib/abi-checker/modules/Internals/XmlDump.pm
create mode 100644 buildlib/abi-checker/modules/RulesBin.xml
create mode 100644 buildlib/abi-checker/modules/RulesSrc.xml
create mode 100755 buildlib/gen-abi
create mode 100755 buildlib/travis-checkabi
--
2.15.0.168.g9a51f1b30.dirty
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 20+ messages in thread[parent not found: <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org>]
* [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> @ 2017-11-14 18:57 ` Nicolas Morey-Chaisemartin [not found] ` <8bcdf747-5613-8990-5742-8a9b6e552ac9-PVCUbA2IIkVH1sytvemUSjhD77mM7E+b@public.gmane.org> 2017-11-14 18:58 ` [PATCH rdma-core 3/5] buildlib: add script to check ABI Nicolas Morey-Chaisemartin ` (5 subsequent siblings) 6 siblings, 1 reply; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:57 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml per .so.*.* file. Do not use .so file directly. Providers have no symbol exported and cause abi-dumer to exit with an error. Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 --- buildlib/gen-abi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 buildlib/gen-abi diff --git a/buildlib/gen-abi b/buildlib/gen-abi new file mode 100755 index 00000000..6dff8ddb --- /dev/null +++ b/buildlib/gen-abi @@ -0,0 +1,18 @@ +#!/bin/bash + +# Stop on error +set -e +# Echo all commands to Travis log +set -x + +mkdir build-abi +cd build-abi +CFLAGS="-g -Og" cmake -GNinja -DCMAKE_BUILD_TYPE=Debug .. +ninja + +mkdir ABI +for FILE in $(find lib -name "*.so.*.*"); do + LIB=$(basename $FILE) + MODULE_VER=$(echo $LIB | sed -e 's/.*.so\.\(.*\)/\1/') + ../buildlib/abi-checker/abi-dumper.pl -lver $MODULE_VER $FILE -o ABI/$LIB.dump +done -- 2.15.0.168.g9a51f1b30.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 20+ messages in thread
[parent not found: <8bcdf747-5613-8990-5742-8a9b6e552ac9-PVCUbA2IIkVH1sytvemUSjhD77mM7E+b@public.gmane.org>]
* Re: [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <8bcdf747-5613-8990-5742-8a9b6e552ac9-PVCUbA2IIkVH1sytvemUSjhD77mM7E+b@public.gmane.org> @ 2017-11-15 5:56 ` Leon Romanovsky [not found] ` <20171115055632.GR18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Leon Romanovsky @ 2017-11-15 5:56 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1468 bytes --] On Tue, Nov 14, 2017 at 07:57:55PM +0100, Nicolas Morey-Chaisemartin wrote: > Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml > per .so.*.* file. > Do not use .so file directly. Providers have no symbol exported > and cause abi-dumer to exit with an error. mlx4/mlx5 do export. Thanks > > Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> > Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 > --- > buildlib/gen-abi | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > create mode 100755 buildlib/gen-abi > > diff --git a/buildlib/gen-abi b/buildlib/gen-abi > new file mode 100755 > index 00000000..6dff8ddb > --- /dev/null > +++ b/buildlib/gen-abi > @@ -0,0 +1,18 @@ > +#!/bin/bash > + > +# Stop on error > +set -e > +# Echo all commands to Travis log > +set -x > + > +mkdir build-abi > +cd build-abi > +CFLAGS="-g -Og" cmake -GNinja -DCMAKE_BUILD_TYPE=Debug .. > +ninja > + > +mkdir ABI > +for FILE in $(find lib -name "*.so.*.*"); do > + LIB=$(basename $FILE) > + MODULE_VER=$(echo $LIB | sed -e 's/.*.so\.\(.*\)/\1/') > + ../buildlib/abi-checker/abi-dumper.pl -lver $MODULE_VER $FILE -o ABI/$LIB.dump > +done > -- > 2.15.0.168.g9a51f1b30.dirty > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <20171115055632.GR18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>]
* Re: [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <20171115055632.GR18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> @ 2017-11-15 17:22 ` Nicolas Morey-Chaisemartin [not found] ` <b36cd702-5d8e-c116-3306-39e1a1b8aaf5-l3A5Bk7waGM@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-15 17:22 UTC (permalink / raw) To: Leon Romanovsky; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA Le 15/11/2017 à 06:56, Leon Romanovsky a écrit : > On Tue, Nov 14, 2017 at 07:57:55PM +0100, Nicolas Morey-Chaisemartin wrote: >> Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml >> per .so.*.* file. >> Do not use .so file directly. Providers have no symbol exported >> and cause abi-dumer to exit with an error. > mlx4/mlx5 do export. > > Thanks Yes but they also export versiones .so files $ ll build-abi/lib/libmlx* lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4-rdmav16.so -> libmlx4.so.1.0.16 lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx4.so -> libmlx4.so.1 lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4.so.1 -> libmlx4.so.1.0.16 -rwxr-xr-x 1 nmorey users 276600 Nov 14 19:51 build-abi/lib/libmlx4.so.1.0.16 lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5-rdmav16.so -> libmlx5.so.1.2.16 lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx5.so -> libmlx5.so.1 lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5.so.1 -> libmlx5.so.1.2.16 -rwxr-xr-x 1 nmorey users 690712 Nov 14 19:51 build-abi/lib/libmlx5.so.1.2.16 So the .so are ignored (specially the -rdmav16) but the standalone ones aren't Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <b36cd702-5d8e-c116-3306-39e1a1b8aaf5-l3A5Bk7waGM@public.gmane.org>]
* Re: [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <b36cd702-5d8e-c116-3306-39e1a1b8aaf5-l3A5Bk7waGM@public.gmane.org> @ 2017-11-15 17:37 ` Leon Romanovsky [not found] ` <20171115173719.GC18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Leon Romanovsky @ 2017-11-15 17:37 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1525 bytes --] On Wed, Nov 15, 2017 at 06:22:33PM +0100, Nicolas Morey-Chaisemartin wrote: > > > Le 15/11/2017 à 06:56, Leon Romanovsky a écrit : > > On Tue, Nov 14, 2017 at 07:57:55PM +0100, Nicolas Morey-Chaisemartin wrote: > >> Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml > >> per .so.*.* file. > >> Do not use .so file directly. Providers have no symbol exported > >> and cause abi-dumer to exit with an error. > > mlx4/mlx5 do export. > > > > Thanks > > > Yes but they also export versiones .so files > $ ll build-abi/lib/libmlx* > lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4-rdmav16.so -> libmlx4.so.1.0.16 > lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx4.so -> libmlx4.so.1 > lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4.so.1 -> libmlx4.so.1.0.16 > -rwxr-xr-x 1 nmorey users 276600 Nov 14 19:51 build-abi/lib/libmlx4.so.1.0.16 > lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5-rdmav16.so -> libmlx5.so.1.2.16 > lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx5.so -> libmlx5.so.1 > lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5.so.1 -> libmlx5.so.1.2.16 > -rwxr-xr-x 1 nmorey users 690712 Nov 14 19:51 build-abi/lib/libmlx5.so.1.2.16 > > So the .so are ignored (specially the -rdmav16) but the standalone ones aren't We are supporting static builds too (*.a and not *.so), can the script be extended to check them too? Thanks > > Nicolas [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <20171115173719.GC18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>]
* Re: [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <20171115173719.GC18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> @ 2017-11-15 17:52 ` Nicolas Morey-Chaisemartin [not found] ` <9f40619b-bd97-ad6f-494b-c493dd3c3c21-l3A5Bk7waGM@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-15 17:52 UTC (permalink / raw) To: Leon Romanovsky; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA Le 15/11/2017 à 18:37, Leon Romanovsky a écrit : > On Wed, Nov 15, 2017 at 06:22:33PM +0100, Nicolas Morey-Chaisemartin wrote: >> >> Le 15/11/2017 à 06:56, Leon Romanovsky a écrit : >>> On Tue, Nov 14, 2017 at 07:57:55PM +0100, Nicolas Morey-Chaisemartin wrote: >>>> Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml >>>> per .so.*.* file. >>>> Do not use .so file directly. Providers have no symbol exported >>>> and cause abi-dumer to exit with an error. >>> mlx4/mlx5 do export. >>> >>> Thanks >> >> Yes but they also export versiones .so files >> $ ll build-abi/lib/libmlx* >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4-rdmav16.so -> libmlx4.so.1.0.16 >> lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx4.so -> libmlx4.so.1 >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4.so.1 -> libmlx4.so.1.0.16 >> -rwxr-xr-x 1 nmorey users 276600 Nov 14 19:51 build-abi/lib/libmlx4.so.1.0.16 >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5-rdmav16.so -> libmlx5.so.1.2.16 >> lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx5.so -> libmlx5.so.1 >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5.so.1 -> libmlx5.so.1.2.16 >> -rwxr-xr-x 1 nmorey users 690712 Nov 14 19:51 build-abi/lib/libmlx5.so.1.2.16 >> >> So the .so are ignored (specially the -rdmav16) but the standalone ones aren't > We are supporting static builds too (*.a and not *.so), can the script > be extended to check them too? > > Thanks Does that changes something ? As long as the specific build-abi build generates the .so, it should be sufficient to check the ABI. Wether someone build with static options or not. Unless there are other static libs I'm missing. Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <9f40619b-bd97-ad6f-494b-c493dd3c3c21-l3A5Bk7waGM@public.gmane.org>]
* Re: [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <9f40619b-bd97-ad6f-494b-c493dd3c3c21-l3A5Bk7waGM@public.gmane.org> @ 2017-11-15 19:36 ` Jason Gunthorpe 2017-11-15 19:38 ` Leon Romanovsky 1 sibling, 0 replies; 20+ messages in thread From: Jason Gunthorpe @ 2017-11-15 19:36 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin Cc: Leon Romanovsky, linux-rdma-u79uwXL29TY76Z2rM5mHXA On Wed, Nov 15, 2017 at 06:52:49PM +0100, Nicolas Morey-Chaisemartin wrote: > Does that changes something ? As long as the specific build-abi build generates the .so, it should be sufficient to check the ABI. > Wether someone build with static options or not. > Unless there are other static libs I'm missing. Correct, there is no need to check the static library - and it will be much harder to extract the public ABI from the private internal ABI when working with a static library. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <9f40619b-bd97-ad6f-494b-c493dd3c3c21-l3A5Bk7waGM@public.gmane.org> 2017-11-15 19:36 ` Jason Gunthorpe @ 2017-11-15 19:38 ` Leon Romanovsky 1 sibling, 0 replies; 20+ messages in thread From: Leon Romanovsky @ 2017-11-15 19:38 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 2053 bytes --] On Wed, Nov 15, 2017 at 06:52:49PM +0100, Nicolas Morey-Chaisemartin wrote: > > > Le 15/11/2017 à 18:37, Leon Romanovsky a écrit : > > On Wed, Nov 15, 2017 at 06:22:33PM +0100, Nicolas Morey-Chaisemartin wrote: > >> > >> Le 15/11/2017 à 06:56, Leon Romanovsky a écrit : > >>> On Tue, Nov 14, 2017 at 07:57:55PM +0100, Nicolas Morey-Chaisemartin wrote: > >>>> Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml > >>>> per .so.*.* file. > >>>> Do not use .so file directly. Providers have no symbol exported > >>>> and cause abi-dumer to exit with an error. > >>> mlx4/mlx5 do export. > >>> > >>> Thanks > >> > >> Yes but they also export versiones .so files > >> $ ll build-abi/lib/libmlx* > >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4-rdmav16.so -> libmlx4.so.1.0.16 > >> lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx4.so -> libmlx4.so.1 > >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx4.so.1 -> libmlx4.so.1.0.16 > >> -rwxr-xr-x 1 nmorey users 276600 Nov 14 19:51 build-abi/lib/libmlx4.so.1.0.16 > >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5-rdmav16.so -> libmlx5.so.1.2.16 > >> lrwxrwxrwx 1 nmorey users 12 Nov 14 19:51 build-abi/lib/libmlx5.so -> libmlx5.so.1 > >> lrwxrwxrwx 1 nmorey users 17 Nov 14 19:51 build-abi/lib/libmlx5.so.1 -> libmlx5.so.1.2.16 > >> -rwxr-xr-x 1 nmorey users 690712 Nov 14 19:51 build-abi/lib/libmlx5.so.1.2.16 > >> > >> So the .so are ignored (specially the -rdmav16) but the standalone ones aren't > > We are supporting static builds too (*.a and not *.so), can the script > > be extended to check them too? > > > > Thanks > > Does that changes something ? As long as the specific build-abi build generates the .so, it should be sufficient to check the ABI. > Wether someone build with static options or not. > Unless there are other static libs I'm missing. In static libraries, the functions have different signatures without stanzas. > > Nicolas [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH rdma-core 3/5] buildlib: add script to check ABI [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> 2017-11-14 18:57 ` [PATCH rdma-core 2/5] buildlib: add script to dump ABI Nicolas Morey-Chaisemartin @ 2017-11-14 18:58 ` Nicolas Morey-Chaisemartin 2017-11-14 18:58 ` [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build Nicolas Morey-Chaisemartin ` (4 subsequent siblings) 6 siblings, 0 replies; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:58 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Add travis-checkabi which generates a dump of all rdma-core libraries ABI and checks them against a ref if they exists. Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 --- buildlib/travis-checkabi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 buildlib/travis-checkabi diff --git a/buildlib/travis-checkabi b/buildlib/travis-checkabi new file mode 100755 index 00000000..7afa3b59 --- /dev/null +++ b/buildlib/travis-checkabi @@ -0,0 +1,28 @@ +#!/bin/bash + +# Stop on error +set -e +# Echo all commands to Travis log +set -x + +REF_DIR=buildlib/ABI +NEW_DIR=build-abi/ABI + +./buildlib/gen-abi + +# Current ABI not available ! +if [ ! -d $NEW_DIR ]; then + echo "ERROR: Missing ABI description files" >&2 + exit 1 +fi +# No reference ABI to match against. +if [ ! -d $REF_DIR ]; then + echo "INFO: Skipping ABI check. No reference available" + exit 0 +fi + +for FILE in $(find $NEW_DIR -name "*.dump"); do + DUMP=$(basename $FILE) + LIBNAME=$(echo $DUMP | sed -e 's/\(.*\).so.*/\1/') + ./buildlib/abi-checker/abi-compliance-checker.pl -l $LIBNAME -old $REF_DIR/$DUMP -new $NEW_DIR/$DUMP +done -- 2.15.0.168.g9a51f1b30.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> 2017-11-14 18:57 ` [PATCH rdma-core 2/5] buildlib: add script to dump ABI Nicolas Morey-Chaisemartin 2017-11-14 18:58 ` [PATCH rdma-core 3/5] buildlib: add script to check ABI Nicolas Morey-Chaisemartin @ 2017-11-14 18:58 ` Nicolas Morey-Chaisemartin [not found] ` <866df5d4-2a54-2014-a180-1fd0dc43d0fa-l3A5Bk7waGM@public.gmane.org> 2017-11-14 18:58 ` [PATCH rdma-core 5/5] Documentation: update stable doc about ABI reference generation Nicolas Morey-Chaisemartin ` (3 subsequent siblings) 6 siblings, 1 reply; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:58 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Run travis-checkabi during travis build Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 --- buildlib/travis-build | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/buildlib/travis-build b/buildlib/travis-build index bf86baa7..f8e5ee05 100755 --- a/buildlib/travis-build +++ b/buildlib/travis-build @@ -5,6 +5,10 @@ set -e # Echo all commands to Travis log set -x + +# Build in debug mode and check the ABI against the ref +./buildlib/travis-checkabi + mkdir build-clang build32 build-sparse build-aarch64 # Build with latest clang first -- 2.15.0.168.g9a51f1b30.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 20+ messages in thread
[parent not found: <866df5d4-2a54-2014-a180-1fd0dc43d0fa-l3A5Bk7waGM@public.gmane.org>]
* Re: [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build [not found] ` <866df5d4-2a54-2014-a180-1fd0dc43d0fa-l3A5Bk7waGM@public.gmane.org> @ 2017-11-15 5:58 ` Leon Romanovsky [not found] ` <20171115055825.GS18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Leon Romanovsky @ 2017-11-15 5:58 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1085 bytes --] On Tue, Nov 14, 2017 at 07:58:06PM +0100, Nicolas Morey-Chaisemartin wrote: > Run travis-checkabi during travis build > > Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> > Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 > --- > buildlib/travis-build | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/buildlib/travis-build b/buildlib/travis-build > index bf86baa7..f8e5ee05 100755 > --- a/buildlib/travis-build > +++ b/buildlib/travis-build > @@ -5,6 +5,10 @@ set -e > # Echo all commands to Travis log > set -x > > + > +# Build in debug mode and check the ABI against the ref > +./buildlib/travis-checkabi Will it run for all commits, including master? > + > mkdir build-clang build32 build-sparse build-aarch64 > > # Build with latest clang first > -- > 2.15.0.168.g9a51f1b30.dirty > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <20171115055825.GS18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>]
* Re: [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build [not found] ` <20171115055825.GS18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> @ 2017-11-15 17:24 ` Nicolas Morey-Chaisemartin [not found] ` <a6eadf81-1557-bf9c-c163-61461bc5c271-l3A5Bk7waGM@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-15 17:24 UTC (permalink / raw) To: Leon Romanovsky; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA Le 15/11/2017 à 06:58, Leon Romanovsky a écrit : > On Tue, Nov 14, 2017 at 07:58:06PM +0100, Nicolas Morey-Chaisemartin wrote: >> Run travis-checkabi during travis build >> >> Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> >> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 >> --- >> buildlib/travis-build | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/buildlib/travis-build b/buildlib/travis-build >> index bf86baa7..f8e5ee05 100755 >> --- a/buildlib/travis-build >> +++ b/buildlib/travis-build >> @@ -5,6 +5,10 @@ set -e >> # Echo all commands to Travis log >> set -x >> >> + >> +# Build in debug mode and check the ABI against the ref >> +./buildlib/travis-checkabi > Will it run for all commits, including master? Yes and no. The script is called for all commits. But one of the first thing it does is checking that reference file exists and ignore if they don't (see Patch 3): +# No reference ABI to match against. +if [ ! -d $REF_DIR ]; then + echo "INFO: Skipping ABI check. No reference available" + exit 0 +fi + It might be worth doing this test first in the script to avoid the debug build / abi-dumper calls. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <a6eadf81-1557-bf9c-c163-61461bc5c271-l3A5Bk7waGM@public.gmane.org>]
* Re: [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build [not found] ` <a6eadf81-1557-bf9c-c163-61461bc5c271-l3A5Bk7waGM@public.gmane.org> @ 2017-11-15 17:34 ` Leon Romanovsky [not found] ` <20171115173453.GB18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Leon Romanovsky @ 2017-11-15 17:34 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1413 bytes --] On Wed, Nov 15, 2017 at 06:24:32PM +0100, Nicolas Morey-Chaisemartin wrote: > > > Le 15/11/2017 à 06:58, Leon Romanovsky a écrit : > > On Tue, Nov 14, 2017 at 07:58:06PM +0100, Nicolas Morey-Chaisemartin wrote: > >> Run travis-checkabi during travis build > >> > >> Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> > >> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 > >> --- > >> buildlib/travis-build | 4 ++++ > >> 1 file changed, 4 insertions(+) > >> > >> diff --git a/buildlib/travis-build b/buildlib/travis-build > >> index bf86baa7..f8e5ee05 100755 > >> --- a/buildlib/travis-build > >> +++ b/buildlib/travis-build > >> @@ -5,6 +5,10 @@ set -e > >> # Echo all commands to Travis log > >> set -x > >> > >> + > >> +# Build in debug mode and check the ABI against the ref > >> +./buildlib/travis-checkabi > > Will it run for all commits, including master? > > Yes and no. > The script is called for all commits. But one of the first thing it does is checking that reference file exists and ignore if they don't (see Patch 3): > > +# No reference ABI to match against. > +if [ ! -d $REF_DIR ]; then > + echo "INFO: Skipping ABI check. No reference available" > + exit 0 > +fi > + > > It might be worth doing this test first in the script to avoid the debug build / abi-dumper calls. Yes, please. Thanks > > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <20171115173453.GB18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>]
* Re: [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build [not found] ` <20171115173453.GB18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> @ 2017-11-15 17:57 ` Nicolas Morey-Chaisemartin 0 siblings, 0 replies; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-15 17:57 UTC (permalink / raw) To: Leon Romanovsky; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA Le 15/11/2017 à 18:34, Leon Romanovsky a écrit : > On Wed, Nov 15, 2017 at 06:24:32PM +0100, Nicolas Morey-Chaisemartin wrote: >> >> Le 15/11/2017 à 06:58, Leon Romanovsky a écrit : >>> On Tue, Nov 14, 2017 at 07:58:06PM +0100, Nicolas Morey-Chaisemartin wrote: >>>> Run travis-checkabi during travis build >>>> >>>> Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> >>>> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 >>>> --- >>>> buildlib/travis-build | 4 ++++ >>>> 1 file changed, 4 insertions(+) >>>> >>>> diff --git a/buildlib/travis-build b/buildlib/travis-build >>>> index bf86baa7..f8e5ee05 100755 >>>> --- a/buildlib/travis-build >>>> +++ b/buildlib/travis-build >>>> @@ -5,6 +5,10 @@ set -e >>>> # Echo all commands to Travis log >>>> set -x >>>> >>>> + >>>> +# Build in debug mode and check the ABI against the ref >>>> +./buildlib/travis-checkabi >>> Will it run for all commits, including master? >> Yes and no. >> The script is called for all commits. But one of the first thing it does is checking that reference file exists and ignore if they don't (see Patch 3): >> >> +# No reference ABI to match against. >> +if [ ! -d $REF_DIR ]; then >> + echo "INFO: Skipping ABI check. No reference available" >> + exit 0 >> +fi >> + >> >> It might be worth doing this test first in the script to avoid the debug build / abi-dumper calls. > Yes, please. > > Thanks > > Fixed in the github PR. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH rdma-core 5/5] Documentation: update stable doc about ABI reference generation [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> ` (2 preceding siblings ...) 2017-11-14 18:58 ` [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build Nicolas Morey-Chaisemartin @ 2017-11-14 18:58 ` Nicolas Morey-Chaisemartin [not found] ` <4bbfedda-eab7-0320-2a37-e3ecbf1093dc-l3A5Bk7waGM@public.gmane.org> 2017-11-14 18:59 ` [PATCH rdma-core 2/5] buildlib: add script to dump ABI Nicolas Morey-Chaisemartin ` (2 subsequent siblings) 6 siblings, 1 reply; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:58 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> --- Documentation/stable.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Documentation/stable.md b/Documentation/stable.md index d7ea9822..b7d26c98 100644 --- a/Documentation/stable.md +++ b/Documentation/stable.md @@ -63,3 +63,20 @@ Note that for Option 3, if the patch deviates from the original upstream patch ( ## Versioning See versioning.md for setting package version on a stable branch. + + +## Creating a stable branch + +Stable branch should be created from a release tag of the master branch. +The first thing to do on a master branch is to commit the mainstream release ABI infos +so that latters patches/fixes can be checked against this reference. + +To do that, the creator of the branch should run +``` +./buildlib/gen-abi +mv build-abi/ABI buildlib/ABI +git add buildlib/ABI +git commit +``` + +Note that the ABI must NOT be commited at any point in the master branch. -- 2.15.0.168.g9a51f1b30.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 20+ messages in thread
[parent not found: <4bbfedda-eab7-0320-2a37-e3ecbf1093dc-l3A5Bk7waGM@public.gmane.org>]
* Re: [PATCH rdma-core 5/5] Documentation: update stable doc about ABI reference generation [not found] ` <4bbfedda-eab7-0320-2a37-e3ecbf1093dc-l3A5Bk7waGM@public.gmane.org> @ 2017-11-15 5:53 ` Leon Romanovsky [not found] ` <20171115055354.GQ18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> 0 siblings, 1 reply; 20+ messages in thread From: Leon Romanovsky @ 2017-11-15 5:53 UTC (permalink / raw) To: Nicolas Morey-Chaisemartin; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 1501 bytes --] On Tue, Nov 14, 2017 at 07:58:12PM +0100, Nicolas Morey-Chaisemartin wrote: > Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> > --- > Documentation/stable.md | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/Documentation/stable.md b/Documentation/stable.md > index d7ea9822..b7d26c98 100644 > --- a/Documentation/stable.md > +++ b/Documentation/stable.md > @@ -63,3 +63,20 @@ Note that for Option 3, if the patch deviates from the original upstream patch ( > ## Versioning > > See versioning.md for setting package version on a stable branch. > + > + > +## Creating a stable branch > + > +Stable branch should be created from a release tag of the master branch. > +The first thing to do on a master branch is to commit the mainstream release ABI infos > +so that latters patches/fixes can be checked against this reference. Does it mean that you should rebase your stable-v15 branch? It doesn't contain ABI infos yet. > + > +To do that, the creator of the branch should run > +``` > +./buildlib/gen-abi > +mv build-abi/ABI buildlib/ABI > +git add buildlib/ABI > +git commit > +``` > + > +Note that the ABI must NOT be commited at any point in the master branch. > -- > 2.15.0.168.g9a51f1b30.dirty > > -- > To unsubscribe from this list: send the line "unsubscribe linux-rdma" in > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org > More majordomo info at http://vger.kernel.org/majordomo-info.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <20171115055354.GQ18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>]
* Re: [PATCH rdma-core 5/5] Documentation: update stable doc about ABI reference generation [not found] ` <20171115055354.GQ18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org> @ 2017-11-15 17:26 ` Nicolas Morey-Chaisemartin 0 siblings, 0 replies; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-15 17:26 UTC (permalink / raw) To: Leon Romanovsky; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA Le 15/11/2017 à 06:53, Leon Romanovsky a écrit : > On Tue, Nov 14, 2017 at 07:58:12PM +0100, Nicolas Morey-Chaisemartin wrote: >> Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> >> --- >> Documentation/stable.md | 17 +++++++++++++++++ >> 1 file changed, 17 insertions(+) >> >> diff --git a/Documentation/stable.md b/Documentation/stable.md >> index d7ea9822..b7d26c98 100644 >> --- a/Documentation/stable.md >> +++ b/Documentation/stable.md >> @@ -63,3 +63,20 @@ Note that for Option 3, if the patch deviates from the original upstream patch ( >> ## Versioning >> >> See versioning.md for setting package version on a stable branch. >> + >> + >> +## Creating a stable branch >> + >> +Stable branch should be created from a release tag of the master branch. >> +The first thing to do on a master branch is to commit the mainstream release ABI infos >> +so that latters patches/fixes can be checked against this reference. > Does it mean that you should rebase your stable-v15 branch? > It doesn't contain ABI infos yet. I checked that the current stable-v15 passes the travis-checkabi manually (by generating the ABI from the v15 tag). So no need there. Once this series is accepted, I'll backport it to stable-v15 and generate a clean ABI ref from the v15 tag (and commit it) Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH rdma-core 2/5] buildlib: add script to dump ABI [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> ` (3 preceding siblings ...) 2017-11-14 18:58 ` [PATCH rdma-core 5/5] Documentation: update stable doc about ABI reference generation Nicolas Morey-Chaisemartin @ 2017-11-14 18:59 ` Nicolas Morey-Chaisemartin 2017-11-14 18:59 ` [PATCH rdma-core 3/5] buildlib: add script to check ABI Nicolas Morey-Chaisemartin 2017-11-14 19:40 ` [PATCH rdma-core 0/5] ABI consistency check Nicolas Morey-Chaisemartin 6 siblings, 0 replies; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:59 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Builds rdma-core in -Og/Debug mode and use abi-dumper to generate 1 xml per .so.*.* file. Do not use .so file directly. Providers have no symbol exported and cause abi-dumer to exit with an error. Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 --- buildlib/gen-abi | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 buildlib/gen-abi diff --git a/buildlib/gen-abi b/buildlib/gen-abi new file mode 100755 index 00000000..6dff8ddb --- /dev/null +++ b/buildlib/gen-abi @@ -0,0 +1,18 @@ +#!/bin/bash + +# Stop on error +set -e +# Echo all commands to Travis log +set -x + +mkdir build-abi +cd build-abi +CFLAGS="-g -Og" cmake -GNinja -DCMAKE_BUILD_TYPE=Debug .. +ninja + +mkdir ABI +for FILE in $(find lib -name "*.so.*.*"); do + LIB=$(basename $FILE) + MODULE_VER=$(echo $LIB | sed -e 's/.*.so\.\(.*\)/\1/') + ../buildlib/abi-checker/abi-dumper.pl -lver $MODULE_VER $FILE -o ABI/$LIB.dump +done -- 2.15.0.168.g9a51f1b30.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH rdma-core 3/5] buildlib: add script to check ABI [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> ` (4 preceding siblings ...) 2017-11-14 18:59 ` [PATCH rdma-core 2/5] buildlib: add script to dump ABI Nicolas Morey-Chaisemartin @ 2017-11-14 18:59 ` Nicolas Morey-Chaisemartin 2017-11-14 19:40 ` [PATCH rdma-core 0/5] ABI consistency check Nicolas Morey-Chaisemartin 6 siblings, 0 replies; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 18:59 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Add travis-checkabi which generates a dump of all rdma-core libraries ABI and checks them against a ref if they exists. Signed-off-by: Nicolas Morey-Chaisemartin <NMoreyChaisemartin-IBi9RG/b67k@public.gmane.org> Cc: stable-Xl5UnYtxxKxKUA01WzcqbQ@public.gmane.org # v15 --- buildlib/travis-checkabi | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100755 buildlib/travis-checkabi diff --git a/buildlib/travis-checkabi b/buildlib/travis-checkabi new file mode 100755 index 00000000..7afa3b59 --- /dev/null +++ b/buildlib/travis-checkabi @@ -0,0 +1,28 @@ +#!/bin/bash + +# Stop on error +set -e +# Echo all commands to Travis log +set -x + +REF_DIR=buildlib/ABI +NEW_DIR=build-abi/ABI + +./buildlib/gen-abi + +# Current ABI not available ! +if [ ! -d $NEW_DIR ]; then + echo "ERROR: Missing ABI description files" >&2 + exit 1 +fi +# No reference ABI to match against. +if [ ! -d $REF_DIR ]; then + echo "INFO: Skipping ABI check. No reference available" + exit 0 +fi + +for FILE in $(find $NEW_DIR -name "*.dump"); do + DUMP=$(basename $FILE) + LIBNAME=$(echo $DUMP | sed -e 's/\(.*\).so.*/\1/') + ./buildlib/abi-checker/abi-compliance-checker.pl -l $LIBNAME -old $REF_DIR/$DUMP -new $NEW_DIR/$DUMP +done -- 2.15.0.168.g9a51f1b30.dirty -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [PATCH rdma-core 0/5] ABI consistency check [not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org> ` (5 preceding siblings ...) 2017-11-14 18:59 ` [PATCH rdma-core 3/5] buildlib: add script to check ABI Nicolas Morey-Chaisemartin @ 2017-11-14 19:40 ` Nicolas Morey-Chaisemartin 6 siblings, 0 replies; 20+ messages in thread From: Nicolas Morey-Chaisemartin @ 2017-11-14 19:40 UTC (permalink / raw) To: linux-rdma-u79uwXL29TY76Z2rM5mHXA Between my screwed up Thunderbird that sent the patch from the wrong mail/server and patch #1 which is too big for the ML it seems, I did a PR on github. https://github.com/linux-rdma/rdma-core/pull/251 Le 14/11/2017 à 19:55, Nicolas Morey-Chaisemartin a écrit : > Add scripts to generate an ABI dump and compare against a ref. > Both tools (abi-dumper and abi-consistency-check) were imported as the > system version do not work on Travis. > Travis will automatically do that if a ref is present. > Ref should be added at stable-* branch creation (see doc update) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2017-11-15 19:38 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-14 18:55 [PATCH rdma-core 0/5] ABI consistency check Nicolas Morey-Chaisemartin
[not found] ` <8306e0d4-3f4f-1d06-74e1-c971fc63f7b8-l3A5Bk7waGM@public.gmane.org>
2017-11-14 18:57 ` [PATCH rdma-core 2/5] buildlib: add script to dump ABI Nicolas Morey-Chaisemartin
[not found] ` <8bcdf747-5613-8990-5742-8a9b6e552ac9-PVCUbA2IIkVH1sytvemUSjhD77mM7E+b@public.gmane.org>
2017-11-15 5:56 ` Leon Romanovsky
[not found] ` <20171115055632.GR18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-11-15 17:22 ` Nicolas Morey-Chaisemartin
[not found] ` <b36cd702-5d8e-c116-3306-39e1a1b8aaf5-l3A5Bk7waGM@public.gmane.org>
2017-11-15 17:37 ` Leon Romanovsky
[not found] ` <20171115173719.GC18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-11-15 17:52 ` Nicolas Morey-Chaisemartin
[not found] ` <9f40619b-bd97-ad6f-494b-c493dd3c3c21-l3A5Bk7waGM@public.gmane.org>
2017-11-15 19:36 ` Jason Gunthorpe
2017-11-15 19:38 ` Leon Romanovsky
2017-11-14 18:58 ` [PATCH rdma-core 3/5] buildlib: add script to check ABI Nicolas Morey-Chaisemartin
2017-11-14 18:58 ` [PATCH rdma-core 4/5] buildlib: run ABI check in travis-build Nicolas Morey-Chaisemartin
[not found] ` <866df5d4-2a54-2014-a180-1fd0dc43d0fa-l3A5Bk7waGM@public.gmane.org>
2017-11-15 5:58 ` Leon Romanovsky
[not found] ` <20171115055825.GS18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-11-15 17:24 ` Nicolas Morey-Chaisemartin
[not found] ` <a6eadf81-1557-bf9c-c163-61461bc5c271-l3A5Bk7waGM@public.gmane.org>
2017-11-15 17:34 ` Leon Romanovsky
[not found] ` <20171115173453.GB18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-11-15 17:57 ` Nicolas Morey-Chaisemartin
2017-11-14 18:58 ` [PATCH rdma-core 5/5] Documentation: update stable doc about ABI reference generation Nicolas Morey-Chaisemartin
[not found] ` <4bbfedda-eab7-0320-2a37-e3ecbf1093dc-l3A5Bk7waGM@public.gmane.org>
2017-11-15 5:53 ` Leon Romanovsky
[not found] ` <20171115055354.GQ18825-U/DQcQFIOTAAJjI8aNfphQ@public.gmane.org>
2017-11-15 17:26 ` Nicolas Morey-Chaisemartin
2017-11-14 18:59 ` [PATCH rdma-core 2/5] buildlib: add script to dump ABI Nicolas Morey-Chaisemartin
2017-11-14 18:59 ` [PATCH rdma-core 3/5] buildlib: add script to check ABI Nicolas Morey-Chaisemartin
2017-11-14 19:40 ` [PATCH rdma-core 0/5] ABI consistency check Nicolas Morey-Chaisemartin
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox