check-symbols-maps.sh runs with the -e option to exit as soon as
there is an error. Currently the build is failing as the search of
grep -L is empty (which is the case for all version.map files as
they have the local symbol) which causes the script to return
with an error.
This patch encapsulates the grep call in a function, so that only the function
errors out and the build is successful.

Fixes: b403498e14 ("build: hide local symbols in shared libraries")
Cc: sta...@dpdk.org
Signed-off-by: Usama Arif <usama.a...@bytedance.com>
---
 devtools/check-symbol-maps.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/devtools/check-symbol-maps.sh b/devtools/check-symbol-maps.sh
index 8266fdf9ea..96c479138f 100755
--- a/devtools/check-symbol-maps.sh
+++ b/devtools/check-symbol-maps.sh
@@ -53,7 +53,14 @@ if [ -n "$duplicate_symbols" ] ; then
     ret=1
 fi
 
-local_miss_maps=$(grep -L 'local: \*;' $@)
+find_local_miss_maps ()
+{
+    local local_miss_maps=$(grep -L 'local: \*;' $@)
+    echo "$local_miss_maps"
+
+}
+
+local_miss_maps=$(find_local_miss_maps $@)
 if [ -n "$local_miss_maps" ] ; then
     echo "Found maps without local catch-all:"
     echo "$local_miss_maps"
-- 
2.25.1

Reply via email to