9 Commits

Author SHA1 Message Date
David Marchand
cf8a9e93ac build: check symbol maps in developer mode
Hook check-symbol-maps.sh in the symbol check when in developer mode to
help developers catch issues before submitting their changes.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Ray Kinsella <mdr@ashroe.eu>
2021-05-19 12:51:41 +02:00
David Marchand
760a67e90f devtools: catch symbol duplicates in version map
Add a check on versioned symbol duplicates in map files.

Signed-off-by: David Marchand <david.marchand@redhat.com>
2021-05-19 12:51:12 +02:00
David Marchand
71459555a6 devtools: fix orphan symbols check with busybox
Avoid relying on GNU grep --exclude option.

Fixes: f8ad40dc998c ("devtools: check orphan symbols in map files")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
2021-05-19 12:51:00 +02:00
David Marchand
56ea803e87 build: remove Windows export symbol list
Rather than have two files that keeps getting out of sync, let's
annotate the version.map to generate the Windows export file.

Some mlx5 symbols (haswell_broadwell_cpu, mlx5_glue, mlx5_os_*) were
only exported for Windows.
All of them are available and used by Linux too, so this patch adds
them in version.map.

Note: Existing version.map annotation achieved with:
$ for dir in lib/librte_eal drivers/common/mlx5; do
    ./buildtools/map-list-symbol.sh $dir/*.map |
    while read file version sym; do
      ! git grep -qw $sym $dir/*.def || continue;
      sed -i -e "s/$sym;/$sym; # WINDOWS_NO_EXPORT/" $dir/*.map;
    done;
  done

Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Tal Shnaiderman <talshn@nvidia.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2021-04-08 17:57:33 +02:00
Tal Shnaiderman
e253c33dee common/mlx5: add Windows exports file
File drivers/common/mlx5/rte_common_mlx5_exports.def contains mlx5
Windows exported symbols under common/mlx5 directory (DLL file
name librte_common_mlx5*.dll). It is the equivalent of Linux map
file version.map but the list of symbols may be
different between the two operating systems.

Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
Signed-off-by: Ophir Munk <ophirmu@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
2021-01-08 16:03:07 +01:00
Bruce Richardson
a8d0d473a0 build: replace use of old build macros
Use the newer macros defined by meson in all DPDK source code, to ensure
there are no errors when the old non-standard macros are removed.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Rosen Xu <rosen.xu@intel.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2020-10-19 22:15:44 +02:00
David Marchand
2941600108 devtools: check Windows export files
Updating export files (supposed to disappear at some point, but still
there) might be missed when removing symbols in the API / map files.
Add a check for this case.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
2020-10-16 14:01:37 +02:00
Thomas Monjalon
7b63fb3b84 devtools: fix tracepoint symbols check
The tracepoint symbols __rte_*_trace_* are defined via a macro,
adding prefix "__", so they cannot be found by map checker.
Those symbols defined by RTE_TRACE_POINT and RTE_TRACE_POINT_FP
are checked in source code without the generated prefix.

The same logic is applied to per core variables, previously skipped.

Fixes: 6c232fc44c74 ("trace: add generic tracepoints")
Fixes: 4931010619fe ("trace: add alarm tracepoints")
Fixes: 52f409d614a0 ("trace: add memory tracepoints")
Fixes: 402321cfca9b ("trace: add memzone tracepoints")
Fixes: 0baa1e01c339 ("trace: add thread tracepoints")
Fixes: 05c4105738d8 ("trace: add interrupt tracepoints")
Fixes: 78d44153de8f ("ethdev: add tracepoints")
Fixes: 32e326869ed6 ("eventdev: add tracepoints")
Fixes: 4cf30e3f3c35 ("cryptodev: add tracepoints")
Fixes: 40b75c73d1c6 ("mempool: add tracepoints")

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: David Marchand <david.marchand@redhat.com>
2020-04-24 15:04:25 +02:00
Thomas Monjalon
f8ad40dc99 devtools: check orphan symbols in map files
The script check-symbol-maps.sh finds the symbols exported
in a map file but not referenced in the codebase.

Suggested-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-05-29 17:43:33 +02:00