mbox series

[v4,0/3] Add ABI compatibility checks to the meson build

Message ID 20191211182147.19355-1-kevin.laatz@intel.com (mailing list archive)
Headers
Series Add ABI compatibility checks to the meson build |

Message

Kevin Laatz Dec. 11, 2019, 6:21 p.m. UTC
  With the recent changes made to stabilize ABI versioning in DPDK, it will
become increasingly important to check patches for ABI compatibility. We
propose adding the ABI compatibility checking to be done as part of the
build.

The advantages to adding the ABI compatibility checking to the build are
two-fold. Firstly, developers can easily check their patches to make sure
they don’t break the ABI without adding any extra steps. Secondly, it
makes the integration into existing CI seamless since there are no extra
scripts to make the CI run. The build will run as usual and if an
incompatibility is detected in the ABI, the build will fail and show the
incompatibility. As an added bonus, enabling the ABI compatibility checks
does not impact the build speed.

The proposed solution works as follows:
1. Generate the ABI dump of the baseline. This can be done with the new
   script added in this RFC. This step will only need to be done when the
   ABI version changes (so once a year) and can be added to master so it
   exists by default. This step can be skipped if the dump files for the
   baseline already exist.
2. Build with meson. If there is an ABI incompatibility, the build will
   fail and print the incompatibility information.

The patches accompanying this RFC add the ABI dump file generating script,
the meson option required to enable/disable the checks, and the required
meson changes to run the compatibility checks during the build.

Note: This patch set depends on: http://patches.dpdk.org/patch/63765/.
The generated .dump files in this patch set are based on the changes in the
patch "build: fix soname info for 19.11 compatibility". If a decision is
made to use a different format for the sonames, then a v5 of this set will
be required as the .dump files will need to be regenerated.

---
v2:
  - Rebased on master for 19.11.
  - Moved the experimental syms checks next to the abi checks. This also
    removed the dependency on the experimental checks from the shared
    build.
  - General cleanup.

v3:
  - Fixed typo in meson option name in buildtools/meson.build.

v4:
  - removed commits 1 and 2 from the patch set since they are not needed
    as part of this change
  - squash commits 3,4,5,6 into a single commit
  - changes meson option from type boolean to feature
  - update travis packages
  - move check for windows to earlier in build
  - add abignore file to suppress experimental functions
  - make the directories we store dump files in hidden
  - add .dump files for v20.0 ABI to patch set

Kevin Laatz (3):
  build: add dump files for v20.0 ABI
  build: add abi checks to meson
  build: clean up experimental syms check

 .travis.yml                                   |    9 +-
 buildtools/dpdk.abignore                      |    2 +
 buildtools/meson.build                        |    3 +
 config/meson.build                            |   10 +
 devtools/gen-abi-dump.sh                      |   24 +
 drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
 drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
 drivers/.abi/librte_bus_ifpga.dump            |  973 +++
 drivers/.abi/librte_bus_pci.dump              |  835 +++
 drivers/.abi/librte_bus_vdev.dump             |  408 ++
 drivers/.abi/librte_bus_vmbus.dump            |  918 +++
 drivers/.abi/librte_common_cpt.dump           |   36 +
 drivers/.abi/librte_common_dpaax.dump         |  177 +
 drivers/.abi/librte_common_octeontx.dump      |   77 +
 drivers/.abi/librte_common_octeontx2.dump     |  988 +++
 drivers/.abi/librte_mempool_bucket.dump       |   15 +
 drivers/.abi/librte_mempool_dpaa.dump         |  323 +
 drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
 drivers/.abi/librte_mempool_octeontx.dump     |   22 +
 drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
 drivers/.abi/librte_mempool_ring.dump         |   15 +
 drivers/.abi/librte_mempool_stack.dump        |   16 +
 drivers/.abi/librte_pmd_af_packet.dump        |   22 +
 drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
 drivers/.abi/librte_pmd_ark.dump              |   26 +
 drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
 drivers/.abi/librte_pmd_avp.dump              |   26 +
 drivers/.abi/librte_pmd_axgbe.dump            |   27 +
 .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
 drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
 drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
 drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
 drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
 drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
 drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
 drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
 drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
 drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
 drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
 drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
 drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
 drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
 drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
 drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
 drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
 drivers/.abi/librte_pmd_ena.dump              |   32 +
 drivers/.abi/librte_pmd_enetc.dump            |   27 +
 drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
 drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
 drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
 drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
 drivers/.abi/librte_pmd_hns3.dump             |   28 +
 drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
 drivers/.abi/librte_pmd_iavf.dump             |   71 +
 drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
 drivers/.abi/librte_pmd_ifc.dump              |   24 +
 drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
 drivers/.abi/librte_pmd_kni.dump              |   22 +
 drivers/.abi/librte_pmd_liquidio.dump         |   27 +
 drivers/.abi/librte_pmd_memif.dump            |   27 +
 drivers/.abi/librte_pmd_netvsc.dump           |   28 +
 drivers/.abi/librte_pmd_nfp.dump              |   27 +
 drivers/.abi/librte_pmd_nitrox.dump           |   19 +
 drivers/.abi/librte_pmd_null.dump             |   22 +
 drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
 drivers/.abi/librte_pmd_octeontx.dump         |   49 +
 drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
 drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
 drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
 .../.abi/librte_pmd_octeontx_compress.dump    |   25 +
 drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
 drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
 drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
 drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
 drivers/.abi/librte_pmd_pcap.dump             |   23 +
 drivers/.abi/librte_pmd_pfe.dump              |   41 +
 drivers/.abi/librte_pmd_qat.dump              |  118 +
 drivers/.abi/librte_pmd_qede.dump             |   46 +
 drivers/.abi/librte_pmd_ring.dump             |  142 +
 drivers/.abi/librte_pmd_sfc.dump              | 3905 ++++++++++
 drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
 drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
 drivers/.abi/librte_pmd_sw_event.dump         |   28 +
 drivers/.abi/librte_pmd_tap.dump              |   26 +
 drivers/.abi/librte_pmd_thunderx.dump         |   28 +
 drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
 drivers/.abi/librte_pmd_vhost.dump            |   57 +
 drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
 drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
 drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
 drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
 drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
 drivers/.abi/librte_rawdev_ioat.dump          |   19 +
 drivers/.abi/librte_rawdev_ntb.dump           |  772 ++
 drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
 drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
 drivers/meson.build                           |   34 +-
 lib/.abi/librte_acl.dump                      |  329 +
 lib/.abi/librte_bbdev.dump                    | 1789 +++++
 lib/.abi/librte_bitratestats.dump             |   85 +
 lib/.abi/librte_bpf.dump                      |  280 +
 lib/.abi/librte_cfgfile.dump                  |  188 +
 lib/.abi/librte_cmdline.dump                  |  728 ++
 lib/.abi/librte_compressdev.dump              | 1249 ++++
 lib/.abi/librte_cryptodev.dump                | 1806 +++++
 lib/.abi/librte_distributor.dump              |  627 ++
 lib/.abi/librte_eal.dump                      | 3330 +++++++++
 lib/.abi/librte_efd.dump                      |  319 +
 lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
 lib/.abi/librte_eventdev.dump                 | 5520 ++++++++++++++
 lib/.abi/librte_fib.dump                      |  327 +
 lib/.abi/librte_flow_classify.dump            | 1054 +++
 lib/.abi/librte_gro.dump                      |  428 ++
 lib/.abi/librte_gso.dump                      |  402 ++
 lib/.abi/librte_hash.dump                     |  578 ++
 lib/.abi/librte_ip_frag.dump                  |  814 +++
 lib/.abi/librte_ipsec.dump                    | 1269 ++++
 lib/.abi/librte_jobstats.dump                 |  197 +
 lib/.abi/librte_kni.dump                      |  657 ++
 lib/.abi/librte_kvargs.dump                   |   98 +
 lib/.abi/librte_latencystats.dump             |  427 ++
 lib/.abi/librte_lpm.dump                      |  330 +
 lib/.abi/librte_mbuf.dump                     |  746 ++
 lib/.abi/librte_member.dump                   |  216 +
 lib/.abi/librte_mempool.dump                  |  764 ++
 lib/.abi/librte_meter.dump                    |  197 +
 lib/.abi/librte_metrics.dump                  |  102 +
 lib/.abi/librte_net.dump                      |  489 ++
 lib/.abi/librte_pci.dump                      |   85 +
 lib/.abi/librte_pdump.dump                    |  339 +
 lib/.abi/librte_pipeline.dump                 | 1795 +++++
 lib/.abi/librte_port.dump                     |  567 ++
 lib/.abi/librte_power.dump                    |  490 ++
 lib/.abi/librte_rawdev.dump                   |  840 +++
 lib/.abi/librte_rcu.dump                      |  218 +
 lib/.abi/librte_reorder.dump                  |  455 ++
 lib/.abi/librte_rib.dump                      |  556 ++
 lib/.abi/librte_ring.dump                     |  285 +
 lib/.abi/librte_sched.dump                    | 1108 +++
 lib/.abi/librte_security.dump                 | 1125 +++
 lib/.abi/librte_stack.dump                    |  183 +
 lib/.abi/librte_table.dump                    |  544 ++
 lib/.abi/librte_telemetry.dump                |  122 +
 lib/.abi/librte_timer.dump                    |  322 +
 lib/.abi/librte_vhost.dump                    | 1624 +++++
 lib/meson.build                               |   34 +-
 meson.build                                   |    4 +
 meson_options.txt                             |    2 +
 150 files changed, 129912 insertions(+), 22 deletions(-)
 create mode 100644 buildtools/dpdk.abignore
 create mode 100755 devtools/gen-abi-dump.sh
 create mode 100644 drivers/.abi/librte_bus_dpaa.dump
 create mode 100644 drivers/.abi/librte_bus_fslmc.dump
 create mode 100644 drivers/.abi/librte_bus_ifpga.dump
 create mode 100644 drivers/.abi/librte_bus_pci.dump
 create mode 100644 drivers/.abi/librte_bus_vdev.dump
 create mode 100644 drivers/.abi/librte_bus_vmbus.dump
 create mode 100644 drivers/.abi/librte_common_cpt.dump
 create mode 100644 drivers/.abi/librte_common_dpaax.dump
 create mode 100644 drivers/.abi/librte_common_octeontx.dump
 create mode 100644 drivers/.abi/librte_common_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_bucket.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa.dump
 create mode 100644 drivers/.abi/librte_mempool_dpaa2.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx.dump
 create mode 100644 drivers/.abi/librte_mempool_octeontx2.dump
 create mode 100644 drivers/.abi/librte_mempool_ring.dump
 create mode 100644 drivers/.abi/librte_mempool_stack.dump
 create mode 100644 drivers/.abi/librte_pmd_af_packet.dump
 create mode 100644 drivers/.abi/librte_pmd_af_xdp.dump
 create mode 100644 drivers/.abi/librte_pmd_ark.dump
 create mode 100644 drivers/.abi/librte_pmd_atlantic.dump
 create mode 100644 drivers/.abi/librte_pmd_avp.dump
 create mode 100644 drivers/.abi/librte_pmd_axgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_fpga_lte_fec.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_null.dump
 create mode 100644 drivers/.abi/librte_pmd_bbdev_turbo_sw.dump
 create mode 100644 drivers/.abi/librte_pmd_bnx2x.dump
 create mode 100644 drivers/.abi/librte_pmd_bnxt.dump
 create mode 100644 drivers/.abi/librte_pmd_bond.dump
 create mode 100644 drivers/.abi/librte_pmd_caam_jr.dump
 create mode 100644 drivers/.abi/librte_pmd_ccp.dump
 create mode 100644 drivers/.abi/librte_pmd_crypto_scheduler.dump
 create mode 100644 drivers/.abi/librte_pmd_cxgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa2_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_event.dump
 create mode 100644 drivers/.abi/librte_pmd_dpaa_sec.dump
 create mode 100644 drivers/.abi/librte_pmd_dsw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_e1000.dump
 create mode 100644 drivers/.abi/librte_pmd_ena.dump
 create mode 100644 drivers/.abi/librte_pmd_enetc.dump
 create mode 100644 drivers/.abi/librte_pmd_enic.dump
 create mode 100644 drivers/.abi/librte_pmd_failsafe.dump
 create mode 100644 drivers/.abi/librte_pmd_fm10k.dump
 create mode 100644 drivers/.abi/librte_pmd_hinic.dump
 create mode 100644 drivers/.abi/librte_pmd_hns3.dump
 create mode 100644 drivers/.abi/librte_pmd_i40e.dump
 create mode 100644 drivers/.abi/librte_pmd_iavf.dump
 create mode 100644 drivers/.abi/librte_pmd_ice.dump
 create mode 100644 drivers/.abi/librte_pmd_ifc.dump
 create mode 100644 drivers/.abi/librte_pmd_ixgbe.dump
 create mode 100644 drivers/.abi/librte_pmd_kni.dump
 create mode 100644 drivers/.abi/librte_pmd_liquidio.dump
 create mode 100644 drivers/.abi/librte_pmd_memif.dump
 create mode 100644 drivers/.abi/librte_pmd_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_nfp.dump
 create mode 100644 drivers/.abi/librte_pmd_nitrox.dump
 create mode 100644 drivers/.abi/librte_pmd_null.dump
 create mode 100644 drivers/.abi/librte_pmd_null_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx2_event.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_compress.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_octeontx_event.dump
 create mode 100644 drivers/.abi/librte_pmd_opdl_event.dump
 create mode 100644 drivers/.abi/librte_pmd_openssl.dump
 create mode 100644 drivers/.abi/librte_pmd_pcap.dump
 create mode 100644 drivers/.abi/librte_pmd_pfe.dump
 create mode 100644 drivers/.abi/librte_pmd_qat.dump
 create mode 100644 drivers/.abi/librte_pmd_qede.dump
 create mode 100644 drivers/.abi/librte_pmd_ring.dump
 create mode 100644 drivers/.abi/librte_pmd_sfc.dump
 create mode 100644 drivers/.abi/librte_pmd_skeleton_event.dump
 create mode 100644 drivers/.abi/librte_pmd_softnic.dump
 create mode 100644 drivers/.abi/librte_pmd_sw_event.dump
 create mode 100644 drivers/.abi/librte_pmd_tap.dump
 create mode 100644 drivers/.abi/librte_pmd_thunderx.dump
 create mode 100644 drivers/.abi/librte_pmd_vdev_netvsc.dump
 create mode 100644 drivers/.abi/librte_pmd_vhost.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio.dump
 create mode 100644 drivers/.abi/librte_pmd_virtio_crypto.dump
 create mode 100644 drivers/.abi/librte_pmd_vmxnet3.dump
 create mode 100644 drivers/.abi/librte_pmd_zlib.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_cmdif.dump
 create mode 100644 drivers/.abi/librte_rawdev_dpaa2_qdma.dump
 create mode 100644 drivers/.abi/librte_rawdev_ioat.dump
 create mode 100644 drivers/.abi/librte_rawdev_ntb.dump
 create mode 100644 drivers/.abi/librte_rawdev_octeontx2_dma.dump
 create mode 100644 drivers/.abi/librte_rawdev_skeleton.dump
 create mode 100644 lib/.abi/librte_acl.dump
 create mode 100644 lib/.abi/librte_bbdev.dump
 create mode 100644 lib/.abi/librte_bitratestats.dump
 create mode 100644 lib/.abi/librte_bpf.dump
 create mode 100644 lib/.abi/librte_cfgfile.dump
 create mode 100644 lib/.abi/librte_cmdline.dump
 create mode 100644 lib/.abi/librte_compressdev.dump
 create mode 100644 lib/.abi/librte_cryptodev.dump
 create mode 100644 lib/.abi/librte_distributor.dump
 create mode 100644 lib/.abi/librte_eal.dump
 create mode 100644 lib/.abi/librte_efd.dump
 create mode 100644 lib/.abi/librte_ethdev.dump
 create mode 100644 lib/.abi/librte_eventdev.dump
 create mode 100644 lib/.abi/librte_fib.dump
 create mode 100644 lib/.abi/librte_flow_classify.dump
 create mode 100644 lib/.abi/librte_gro.dump
 create mode 100644 lib/.abi/librte_gso.dump
 create mode 100644 lib/.abi/librte_hash.dump
 create mode 100644 lib/.abi/librte_ip_frag.dump
 create mode 100644 lib/.abi/librte_ipsec.dump
 create mode 100644 lib/.abi/librte_jobstats.dump
 create mode 100644 lib/.abi/librte_kni.dump
 create mode 100644 lib/.abi/librte_kvargs.dump
 create mode 100644 lib/.abi/librte_latencystats.dump
 create mode 100644 lib/.abi/librte_lpm.dump
 create mode 100644 lib/.abi/librte_mbuf.dump
 create mode 100644 lib/.abi/librte_member.dump
 create mode 100644 lib/.abi/librte_mempool.dump
 create mode 100644 lib/.abi/librte_meter.dump
 create mode 100644 lib/.abi/librte_metrics.dump
 create mode 100644 lib/.abi/librte_net.dump
 create mode 100644 lib/.abi/librte_pci.dump
 create mode 100644 lib/.abi/librte_pdump.dump
 create mode 100644 lib/.abi/librte_pipeline.dump
 create mode 100644 lib/.abi/librte_port.dump
 create mode 100644 lib/.abi/librte_power.dump
 create mode 100644 lib/.abi/librte_rawdev.dump
 create mode 100644 lib/.abi/librte_rcu.dump
 create mode 100644 lib/.abi/librte_reorder.dump
 create mode 100644 lib/.abi/librte_rib.dump
 create mode 100644 lib/.abi/librte_ring.dump
 create mode 100644 lib/.abi/librte_sched.dump
 create mode 100644 lib/.abi/librte_security.dump
 create mode 100644 lib/.abi/librte_stack.dump
 create mode 100644 lib/.abi/librte_table.dump
 create mode 100644 lib/.abi/librte_telemetry.dump
 create mode 100644 lib/.abi/librte_timer.dump
 create mode 100644 lib/.abi/librte_vhost.dump
  

Comments

David Marchand Dec. 12, 2019, 8:43 a.m. UTC | #1
On 11/12/2019 19:21, Kevin Laatz wrote:
> This patch adds the .dump files generated for the v20.0 ABI. These files
> will be used to compare the ABI during the meson build when the
> compat_checks meson is enabled. If there is a mismatch between the .dump
> files (the baseline, ie. current stable ABI version) and the code being
> compiled, then abidiff will report an error and the build will fail.
> 
> The .dump files are stored in the drivers/.abi and lib/.abi directories.
> The directories are hidden to reduce clutter in the respective directories
> and also to discourage changing these files since they should not be
> modified.
> 
> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
> ---
>  drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
>  drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
>  drivers/.abi/librte_bus_ifpga.dump            |  973 +++
>  drivers/.abi/librte_bus_pci.dump              |  835 +++
>  drivers/.abi/librte_bus_vdev.dump             |  408 ++
>  drivers/.abi/librte_bus_vmbus.dump            |  918 +++
>  drivers/.abi/librte_common_cpt.dump           |   36 +
>  drivers/.abi/librte_common_dpaax.dump         |  177 +
>  drivers/.abi/librte_common_octeontx.dump      |   77 +
>  drivers/.abi/librte_common_octeontx2.dump     |  988 +++
>  drivers/.abi/librte_mempool_bucket.dump       |   15 +
>  drivers/.abi/librte_mempool_dpaa.dump         |  323 +
>  drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
>  drivers/.abi/librte_mempool_octeontx.dump     |   22 +
>  drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
>  drivers/.abi/librte_mempool_ring.dump         |   15 +
>  drivers/.abi/librte_mempool_stack.dump        |   16 +
>  drivers/.abi/librte_pmd_af_packet.dump        |   22 +
>  drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
>  drivers/.abi/librte_pmd_ark.dump              |   26 +
>  drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
>  drivers/.abi/librte_pmd_avp.dump              |   26 +
>  drivers/.abi/librte_pmd_axgbe.dump            |   27 +
>  .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
>  drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
>  drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
>  drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
>  drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
>  drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
>  drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
>  drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
>  drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
>  drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
>  drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
>  drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
>  drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
>  drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
>  drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
>  drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
>  drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
>  drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
>  drivers/.abi/librte_pmd_ena.dump              |   32 +
>  drivers/.abi/librte_pmd_enetc.dump            |   27 +
>  drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
>  drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
>  drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
>  drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
>  drivers/.abi/librte_pmd_hns3.dump             |   28 +
>  drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
>  drivers/.abi/librte_pmd_iavf.dump             |   71 +
>  drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
>  drivers/.abi/librte_pmd_ifc.dump              |   24 +
>  drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
>  drivers/.abi/librte_pmd_kni.dump              |   22 +
>  drivers/.abi/librte_pmd_liquidio.dump         |   27 +
>  drivers/.abi/librte_pmd_memif.dump            |   27 +
>  drivers/.abi/librte_pmd_netvsc.dump           |   28 +
>  drivers/.abi/librte_pmd_nfp.dump              |   27 +
>  drivers/.abi/librte_pmd_nitrox.dump           |   19 +
>  drivers/.abi/librte_pmd_null.dump             |   22 +
>  drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
>  drivers/.abi/librte_pmd_octeontx.dump         |   49 +
>  drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
>  drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
>  drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
>  .../.abi/librte_pmd_octeontx_compress.dump    |   25 +
>  drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
>  drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
>  drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
>  drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
>  drivers/.abi/librte_pmd_pcap.dump             |   23 +
>  drivers/.abi/librte_pmd_pfe.dump              |   41 +
>  drivers/.abi/librte_pmd_qat.dump              |  118 +
>  drivers/.abi/librte_pmd_qede.dump             |   46 +
>  drivers/.abi/librte_pmd_ring.dump             |  142 +
>  drivers/.abi/librte_pmd_sfc.dump              | 3905 ++++++++++
>  drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
>  drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
>  drivers/.abi/librte_pmd_sw_event.dump         |   28 +
>  drivers/.abi/librte_pmd_tap.dump              |   26 +
>  drivers/.abi/librte_pmd_thunderx.dump         |   28 +
>  drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
>  drivers/.abi/librte_pmd_vhost.dump            |   57 +
>  drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
>  drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
>  drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
>  drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
>  drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
>  drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
>  drivers/.abi/librte_rawdev_ioat.dump          |   19 +
>  drivers/.abi/librte_rawdev_ntb.dump           |  772 ++
>  drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
>  drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
>  lib/.abi/librte_acl.dump                      |  329 +
>  lib/.abi/librte_bbdev.dump                    | 1789 +++++
>  lib/.abi/librte_bitratestats.dump             |   85 +
>  lib/.abi/librte_bpf.dump                      |  280 +
>  lib/.abi/librte_cfgfile.dump                  |  188 +
>  lib/.abi/librte_cmdline.dump                  |  728 ++
>  lib/.abi/librte_compressdev.dump              | 1249 ++++
>  lib/.abi/librte_cryptodev.dump                | 1806 +++++
>  lib/.abi/librte_distributor.dump              |  627 ++
>  lib/.abi/librte_eal.dump                      | 3330 +++++++++
>  lib/.abi/librte_efd.dump                      |  319 +
>  lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
>  lib/.abi/librte_eventdev.dump                 | 5520 ++++++++++++++
>  lib/.abi/librte_fib.dump                      |  327 +
>  lib/.abi/librte_flow_classify.dump            | 1054 +++
>  lib/.abi/librte_gro.dump                      |  428 ++
>  lib/.abi/librte_gso.dump                      |  402 ++
>  lib/.abi/librte_hash.dump                     |  578 ++
>  lib/.abi/librte_ip_frag.dump                  |  814 +++
>  lib/.abi/librte_ipsec.dump                    | 1269 ++++
>  lib/.abi/librte_jobstats.dump                 |  197 +
>  lib/.abi/librte_kni.dump                      |  657 ++
>  lib/.abi/librte_kvargs.dump                   |   98 +
>  lib/.abi/librte_latencystats.dump             |  427 ++
>  lib/.abi/librte_lpm.dump                      |  330 +
>  lib/.abi/librte_mbuf.dump                     |  746 ++
>  lib/.abi/librte_member.dump                   |  216 +
>  lib/.abi/librte_mempool.dump                  |  764 ++
>  lib/.abi/librte_meter.dump                    |  197 +
>  lib/.abi/librte_metrics.dump                  |  102 +
>  lib/.abi/librte_net.dump                      |  489 ++
>  lib/.abi/librte_pci.dump                      |   85 +
>  lib/.abi/librte_pdump.dump                    |  339 +
>  lib/.abi/librte_pipeline.dump                 | 1795 +++++
>  lib/.abi/librte_port.dump                     |  567 ++
>  lib/.abi/librte_power.dump                    |  490 ++
>  lib/.abi/librte_rawdev.dump                   |  840 +++
>  lib/.abi/librte_rcu.dump                      |  218 +
>  lib/.abi/librte_reorder.dump                  |  455 ++
>  lib/.abi/librte_rib.dump                      |  556 ++
>  lib/.abi/librte_ring.dump                     |  285 +
>  lib/.abi/librte_sched.dump                    | 1108 +++
>  lib/.abi/librte_security.dump                 | 1125 +++
>  lib/.abi/librte_stack.dump                    |  183 +
>  lib/.abi/librte_table.dump                    |  544 ++
>  lib/.abi/librte_telemetry.dump                |  122 +
>  lib/.abi/librte_timer.dump                    |  322 +
>  lib/.abi/librte_vhost.dump                    | 1624 +++++
>  141 files changed, 129812 insertions(+)
This mail did not make it to the list, I suppose because of its size
(Thomas?).

You missed some drivers, which makes my tests fail right away:

$ for file in $(find lib/ drivers/ -name "*.map")
do
  pattern=$(basename ${file/_version.map})
  [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
    continue
  echo $file
done

drivers/common/mvep/rte_common_mvep_version.map
drivers/crypto/snow3g/rte_pmd_snow3g_version.map
drivers/crypto/mvsam/rte_pmd_mvsam_version.map
drivers/crypto/kasumi/rte_pmd_kasumi_version.map
drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
drivers/crypto/armv8/rte_pmd_armv8_version.map
drivers/crypto/zuc/rte_pmd_zuc_version.map
drivers/compress/isal/rte_pmd_isal_version.map
drivers/raw/ifpga/rte_rawdev_ifpga_version.map
drivers/net/szedata2/rte_pmd_szedata2_version.map
drivers/net/nfb/rte_pmd_nfb_version.map
drivers/net/mlx4/rte_pmd_mlx4_version.map
drivers/net/mvpp2/rte_pmd_mvpp2_version.map
drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
drivers/net/mlx5/rte_pmd_mlx5_version.map
drivers/net/mvneta/rte_pmd_mvneta_version.map


I will try to fix this and test it further later today.
  
David Marchand Dec. 12, 2019, 9:36 a.m. UTC | #2
On Thu, Dec 12, 2019 at 9:43 AM David Marchand
<david.marchand@redhat.com> wrote:
> You missed some drivers, which makes my tests fail right away:
>
> $ for file in $(find lib/ drivers/ -name "*.map")
> do
>   pattern=$(basename ${file/_version.map})
>   [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
>     continue
>   echo $file
> done
>
> drivers/common/mvep/rte_common_mvep_version.map
> drivers/crypto/snow3g/rte_pmd_snow3g_version.map
> drivers/crypto/mvsam/rte_pmd_mvsam_version.map
> drivers/crypto/kasumi/rte_pmd_kasumi_version.map
> drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
> drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
> drivers/crypto/armv8/rte_pmd_armv8_version.map
> drivers/crypto/zuc/rte_pmd_zuc_version.map
> drivers/compress/isal/rte_pmd_isal_version.map
> drivers/raw/ifpga/rte_rawdev_ifpga_version.map
> drivers/net/szedata2/rte_pmd_szedata2_version.map
> drivers/net/nfb/rte_pmd_nfb_version.map
> drivers/net/mlx4/rte_pmd_mlx4_version.map
> drivers/net/mvpp2/rte_pmd_mvpp2_version.map
> drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
> drivers/net/mlx5/rte_pmd_mlx5_version.map
> drivers/net/mvneta/rte_pmd_mvneta_version.map
>
>
> I will try to fix this and test it further later today.

Could you have a look at:
https://travis-ci.com/david-marchand/dpdk/jobs/266421340

[13/2156] Generating librte_kvargs.abi...hk with a meson_exe.py custom command.
FAILED: /usr/local/bin/meson --internal exe --capture
lib/librte_kvargs.abi_chk -- /usr/bin/abidiff --no-added-syms --suppr
../buildtools/dpdk.abignore ../lib/.abi/librte_kvargs.dump
lib/librte_kvargs.so.20.0.1
/usr/bin/abidiff: unrecognized option: --no-added-syms
try the --help option for more information
[13/2156] Compiling C object 'lib/76b5...librte_eal_common_eal_common_dev.c.o'.
ninja: build stopped: subcommand failed.


Thanks.
  
Kevin Laatz Dec. 12, 2019, 9:45 a.m. UTC | #3
On 12/12/2019 08:43, David Marchand wrote:
>
> On 11/12/2019 19:21, Kevin Laatz wrote:
>> This patch adds the .dump files generated for the v20.0 ABI. These files
>> will be used to compare the ABI during the meson build when the
>> compat_checks meson is enabled. If there is a mismatch between the .dump
>> files (the baseline, ie. current stable ABI version) and the code being
>> compiled, then abidiff will report an error and the build will fail.
>>
>> The .dump files are stored in the drivers/.abi and lib/.abi directories.
>> The directories are hidden to reduce clutter in the respective directories
>> and also to discourage changing these files since they should not be
>> modified.
>>
>> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
>> ---
>>   drivers/.abi/librte_bus_dpaa.dump             | 5303 ++++++++++++++
>>   drivers/.abi/librte_bus_fslmc.dump            | 5084 +++++++++++++
>>   drivers/.abi/librte_bus_ifpga.dump            |  973 +++
>>   drivers/.abi/librte_bus_pci.dump              |  835 +++
>>   drivers/.abi/librte_bus_vdev.dump             |  408 ++
>>   drivers/.abi/librte_bus_vmbus.dump            |  918 +++
>>   drivers/.abi/librte_common_cpt.dump           |   36 +
>>   drivers/.abi/librte_common_dpaax.dump         |  177 +
>>   drivers/.abi/librte_common_octeontx.dump      |   77 +
>>   drivers/.abi/librte_common_octeontx2.dump     |  988 +++
>>   drivers/.abi/librte_mempool_bucket.dump       |   15 +
>>   drivers/.abi/librte_mempool_dpaa.dump         |  323 +
>>   drivers/.abi/librte_mempool_dpaa2.dump        |  484 ++
>>   drivers/.abi/librte_mempool_octeontx.dump     |   22 +
>>   drivers/.abi/librte_mempool_octeontx2.dump    |  643 ++
>>   drivers/.abi/librte_mempool_ring.dump         |   15 +
>>   drivers/.abi/librte_mempool_stack.dump        |   16 +
>>   drivers/.abi/librte_pmd_af_packet.dump        |   22 +
>>   drivers/.abi/librte_pmd_af_xdp.dump           |   23 +
>>   drivers/.abi/librte_pmd_ark.dump              |   26 +
>>   drivers/.abi/librte_pmd_atlantic.dump         | 1296 ++++
>>   drivers/.abi/librte_pmd_avp.dump              |   26 +
>>   drivers/.abi/librte_pmd_axgbe.dump            |   27 +
>>   .../.abi/librte_pmd_bbdev_fpga_lte_fec.dump   |   74 +
>>   drivers/.abi/librte_pmd_bbdev_null.dump       |   17 +
>>   drivers/.abi/librte_pmd_bbdev_turbo_sw.dump   |   17 +
>>   drivers/.abi/librte_pmd_bnx2x.dump            |   28 +
>>   drivers/.abi/librte_pmd_bnxt.dump             | 3499 +++++++++
>>   drivers/.abi/librte_pmd_bond.dump             | 3586 +++++++++
>>   drivers/.abi/librte_pmd_caam_jr.dump          |   47 +
>>   drivers/.abi/librte_pmd_ccp.dump              | 1870 +++++
>>   drivers/.abi/librte_pmd_crypto_scheduler.dump | 1473 ++++
>>   drivers/.abi/librte_pmd_cxgbe.dump            |   27 +
>>   drivers/.abi/librte_pmd_dpaa.dump             | 2929 ++++++++
>>   drivers/.abi/librte_pmd_dpaa2.dump            | 3319 +++++++++
>>   drivers/.abi/librte_pmd_dpaa2_event.dump      |   36 +
>>   drivers/.abi/librte_pmd_dpaa2_sec.dump        | 1511 ++++
>>   drivers/.abi/librte_pmd_dpaa_event.dump       |   32 +
>>   drivers/.abi/librte_pmd_dpaa_sec.dump         | 1459 ++++
>>   drivers/.abi/librte_pmd_dsw_event.dump        |   23 +
>>   drivers/.abi/librte_pmd_e1000.dump            | 3414 +++++++++
>>   drivers/.abi/librte_pmd_ena.dump              |   32 +
>>   drivers/.abi/librte_pmd_enetc.dump            |   27 +
>>   drivers/.abi/librte_pmd_enic.dump             | 3282 +++++++++
>>   drivers/.abi/librte_pmd_failsafe.dump         | 3162 ++++++++
>>   drivers/.abi/librte_pmd_fm10k.dump            |  894 +++
>>   drivers/.abi/librte_pmd_hinic.dump            | 3110 ++++++++
>>   drivers/.abi/librte_pmd_hns3.dump             |   28 +
>>   drivers/.abi/librte_pmd_i40e.dump             | 3553 +++++++++
>>   drivers/.abi/librte_pmd_iavf.dump             |   71 +
>>   drivers/.abi/librte_pmd_ice.dump              | 6395 +++++++++++++++++
>>   drivers/.abi/librte_pmd_ifc.dump              |   24 +
>>   drivers/.abi/librte_pmd_ixgbe.dump            | 3369 +++++++++
>>   drivers/.abi/librte_pmd_kni.dump              |   22 +
>>   drivers/.abi/librte_pmd_liquidio.dump         |   27 +
>>   drivers/.abi/librte_pmd_memif.dump            |   27 +
>>   drivers/.abi/librte_pmd_netvsc.dump           |   28 +
>>   drivers/.abi/librte_pmd_nfp.dump              |   27 +
>>   drivers/.abi/librte_pmd_nitrox.dump           |   19 +
>>   drivers/.abi/librte_pmd_null.dump             |   22 +
>>   drivers/.abi/librte_pmd_null_crypto.dump      | 1317 ++++
>>   drivers/.abi/librte_pmd_octeontx.dump         |   49 +
>>   drivers/.abi/librte_pmd_octeontx2.dump        | 3140 ++++++++
>>   drivers/.abi/librte_pmd_octeontx2_crypto.dump |   28 +
>>   drivers/.abi/librte_pmd_octeontx2_event.dump  |   29 +
>>   .../.abi/librte_pmd_octeontx_compress.dump    |   25 +
>>   drivers/.abi/librte_pmd_octeontx_crypto.dump  |   28 +
>>   drivers/.abi/librte_pmd_octeontx_event.dump   |   36 +
>>   drivers/.abi/librte_pmd_opdl_event.dump       |   28 +
>>   drivers/.abi/librte_pmd_openssl.dump          | 1315 ++++
>>   drivers/.abi/librte_pmd_pcap.dump             |   23 +
>>   drivers/.abi/librte_pmd_pfe.dump              |   41 +
>>   drivers/.abi/librte_pmd_qat.dump              |  118 +
>>   drivers/.abi/librte_pmd_qede.dump             |   46 +
>>   drivers/.abi/librte_pmd_ring.dump             |  142 +
>>   drivers/.abi/librte_pmd_sfc.dump              | 3905 ++++++++++
>>   drivers/.abi/librte_pmd_skeleton_event.dump   |   25 +
>>   drivers/.abi/librte_pmd_softnic.dump          | 5523 ++++++++++++++
>>   drivers/.abi/librte_pmd_sw_event.dump         |   28 +
>>   drivers/.abi/librte_pmd_tap.dump              |   26 +
>>   drivers/.abi/librte_pmd_thunderx.dump         |   28 +
>>   drivers/.abi/librte_pmd_vdev_netvsc.dump      |   22 +
>>   drivers/.abi/librte_pmd_vhost.dump            |   57 +
>>   drivers/.abi/librte_pmd_virtio.dump           | 3808 ++++++++++
>>   drivers/.abi/librte_pmd_virtio_crypto.dump    | 1419 ++++
>>   drivers/.abi/librte_pmd_vmxnet3.dump          |   27 +
>>   drivers/.abi/librte_pmd_zlib.dump             | 1035 +++
>>   drivers/.abi/librte_rawdev_dpaa2_cmdif.dump   |   32 +
>>   drivers/.abi/librte_rawdev_dpaa2_qdma.dump    |  185 +
>>   drivers/.abi/librte_rawdev_ioat.dump          |   19 +
>>   drivers/.abi/librte_rawdev_ntb.dump           |  772 ++
>>   drivers/.abi/librte_rawdev_octeontx2_dma.dump |   23 +
>>   drivers/.abi/librte_rawdev_skeleton.dump      |   21 +
>>   lib/.abi/librte_acl.dump                      |  329 +
>>   lib/.abi/librte_bbdev.dump                    | 1789 +++++
>>   lib/.abi/librte_bitratestats.dump             |   85 +
>>   lib/.abi/librte_bpf.dump                      |  280 +
>>   lib/.abi/librte_cfgfile.dump                  |  188 +
>>   lib/.abi/librte_cmdline.dump                  |  728 ++
>>   lib/.abi/librte_compressdev.dump              | 1249 ++++
>>   lib/.abi/librte_cryptodev.dump                | 1806 +++++
>>   lib/.abi/librte_distributor.dump              |  627 ++
>>   lib/.abi/librte_eal.dump                      | 3330 +++++++++
>>   lib/.abi/librte_efd.dump                      |  319 +
>>   lib/.abi/librte_ethdev.dump                   | 5272 ++++++++++++++
>>   lib/.abi/librte_eventdev.dump                 | 5520 ++++++++++++++
>>   lib/.abi/librte_fib.dump                      |  327 +
>>   lib/.abi/librte_flow_classify.dump            | 1054 +++
>>   lib/.abi/librte_gro.dump                      |  428 ++
>>   lib/.abi/librte_gso.dump                      |  402 ++
>>   lib/.abi/librte_hash.dump                     |  578 ++
>>   lib/.abi/librte_ip_frag.dump                  |  814 +++
>>   lib/.abi/librte_ipsec.dump                    | 1269 ++++
>>   lib/.abi/librte_jobstats.dump                 |  197 +
>>   lib/.abi/librte_kni.dump                      |  657 ++
>>   lib/.abi/librte_kvargs.dump                   |   98 +
>>   lib/.abi/librte_latencystats.dump             |  427 ++
>>   lib/.abi/librte_lpm.dump                      |  330 +
>>   lib/.abi/librte_mbuf.dump                     |  746 ++
>>   lib/.abi/librte_member.dump                   |  216 +
>>   lib/.abi/librte_mempool.dump                  |  764 ++
>>   lib/.abi/librte_meter.dump                    |  197 +
>>   lib/.abi/librte_metrics.dump                  |  102 +
>>   lib/.abi/librte_net.dump                      |  489 ++
>>   lib/.abi/librte_pci.dump                      |   85 +
>>   lib/.abi/librte_pdump.dump                    |  339 +
>>   lib/.abi/librte_pipeline.dump                 | 1795 +++++
>>   lib/.abi/librte_port.dump                     |  567 ++
>>   lib/.abi/librte_power.dump                    |  490 ++
>>   lib/.abi/librte_rawdev.dump                   |  840 +++
>>   lib/.abi/librte_rcu.dump                      |  218 +
>>   lib/.abi/librte_reorder.dump                  |  455 ++
>>   lib/.abi/librte_rib.dump                      |  556 ++
>>   lib/.abi/librte_ring.dump                     |  285 +
>>   lib/.abi/librte_sched.dump                    | 1108 +++
>>   lib/.abi/librte_security.dump                 | 1125 +++
>>   lib/.abi/librte_stack.dump                    |  183 +
>>   lib/.abi/librte_table.dump                    |  544 ++
>>   lib/.abi/librte_telemetry.dump                |  122 +
>>   lib/.abi/librte_timer.dump                    |  322 +
>>   lib/.abi/librte_vhost.dump                    | 1624 +++++
>>   141 files changed, 129812 insertions(+)
> This mail did not make it to the list, I suppose because of its size
> (Thomas?).

Yes, it was due to its size :(

Any suggested ways to send this instead? Maybe split drivers and lib 
into separate patches? What's the max size?

>
> You missed some drivers, which makes my tests fail right away:
>
> $ for file in $(find lib/ drivers/ -name "*.map")
> do
>    pattern=$(basename ${file/_version.map})
>    [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
>      continue
>    echo $file
> done
>
> drivers/common/mvep/rte_common_mvep_version.map
> drivers/crypto/snow3g/rte_pmd_snow3g_version.map
> drivers/crypto/mvsam/rte_pmd_mvsam_version.map
> drivers/crypto/kasumi/rte_pmd_kasumi_version.map
> drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
> drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
> drivers/crypto/armv8/rte_pmd_armv8_version.map
> drivers/crypto/zuc/rte_pmd_zuc_version.map
> drivers/compress/isal/rte_pmd_isal_version.map
> drivers/raw/ifpga/rte_rawdev_ifpga_version.map
> drivers/net/szedata2/rte_pmd_szedata2_version.map
> drivers/net/nfb/rte_pmd_nfb_version.map
> drivers/net/mlx4/rte_pmd_mlx4_version.map
> drivers/net/mvpp2/rte_pmd_mvpp2_version.map
> drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
> drivers/net/mlx5/rte_pmd_mlx5_version.map
> drivers/net/mvneta/rte_pmd_mvneta_version.map
>
>
> I will try to fix this and test it further later today.

Will try to get the build working with all and can re-spin the patch.
  
Kevin Laatz Dec. 12, 2019, 9:45 a.m. UTC | #4
On 12/12/2019 09:36, David Marchand wrote:
> On Thu, Dec 12, 2019 at 9:43 AM David Marchand
> <david.marchand@redhat.com> wrote:
>> You missed some drivers, which makes my tests fail right away:
>>
>> $ for file in $(find lib/ drivers/ -name "*.map")
>> do
>>    pattern=$(basename ${file/_version.map})
>>    [ $(find lib/ drivers/ -name "*$pattern*.dump" |wc -l) = 0 ] ||
>>      continue
>>    echo $file
>> done
>>
>> drivers/common/mvep/rte_common_mvep_version.map
>> drivers/crypto/snow3g/rte_pmd_snow3g_version.map
>> drivers/crypto/mvsam/rte_pmd_mvsam_version.map
>> drivers/crypto/kasumi/rte_pmd_kasumi_version.map
>> drivers/crypto/aesni_gcm/rte_pmd_aesni_gcm_version.map
>> drivers/crypto/aesni_mb/rte_pmd_aesni_mb_version.map
>> drivers/crypto/armv8/rte_pmd_armv8_version.map
>> drivers/crypto/zuc/rte_pmd_zuc_version.map
>> drivers/compress/isal/rte_pmd_isal_version.map
>> drivers/raw/ifpga/rte_rawdev_ifpga_version.map
>> drivers/net/szedata2/rte_pmd_szedata2_version.map
>> drivers/net/nfb/rte_pmd_nfb_version.map
>> drivers/net/mlx4/rte_pmd_mlx4_version.map
>> drivers/net/mvpp2/rte_pmd_mvpp2_version.map
>> drivers/net/ipn3ke/rte_pmd_ipn3ke_version.map
>> drivers/net/mlx5/rte_pmd_mlx5_version.map
>> drivers/net/mvneta/rte_pmd_mvneta_version.map
>>
>>
>> I will try to fix this and test it further later today.
> Could you have a look at:
> https://travis-ci.com/david-marchand/dpdk/jobs/266421340

Sure, will have a look

>
> [13/2156] Generating librte_kvargs.abi...hk with a meson_exe.py custom command.
> FAILED: /usr/local/bin/meson --internal exe --capture
> lib/librte_kvargs.abi_chk -- /usr/bin/abidiff --no-added-syms --suppr
> ../buildtools/dpdk.abignore ../lib/.abi/librte_kvargs.dump
> lib/librte_kvargs.so.20.0.1
> /usr/bin/abidiff: unrecognized option: --no-added-syms
> try the --help option for more information
> [13/2156] Compiling C object 'lib/76b5...librte_eal_common_eal_common_dev.c.o'.
> ninja: build stopped: subcommand failed.
>
>
> Thanks.
>