[dpdk-dev] [PATCH 2/2] devtools: check Windows export files
David Marchand
david.marchand at redhat.com
Fri Oct 16 11:38:06 CEST 2020
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 at redhat.com>
---
devtools/check-symbol-maps.sh | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/devtools/check-symbol-maps.sh b/devtools/check-symbol-maps.sh
index 7fdfaa11c4..4a77fde12b 100755
--- a/devtools/check-symbol-maps.sh
+++ b/devtools/check-symbol-maps.sh
@@ -7,6 +7,8 @@ cd $(dirname $0)/..
# speed up by ignoring Unicode details
export LC_ALL=C
+ret=0
+
find_orphan_symbols ()
{
for map in $(find lib drivers -name '*.map') ; do
@@ -30,5 +32,25 @@ orphan_symbols=$(find_orphan_symbols)
if [ -n "$orphan_symbols" ] ; then
echo "Found only in symbol map file:"
echo "$orphan_symbols" | sed 's,^,\t,'
- exit 1
+ ret=1
+fi
+
+validate_windows_exports ()
+{
+ for map in $(find lib drivers -name '*.map') ; do
+ def=${map/_version.map}_exports.def
+ [ -e $def ] || continue
+ for sym in $(grep -v ^EXPORTS $def); do
+ grep -q $sym $map || echo $sym
+ done
+ done
+}
+
+unknown_windows_symbols=$(validate_windows_exports)
+if [ -n "$unknown_windows_symbols" ] ; then
+ echo "Found only in Windows export file:"
+ echo "$unknown_windows_symbols" | sed 's,^,\t,'
+ ret=1
fi
+
+exit $ret
--
2.23.0
More information about the dev
mailing list