aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/merge-maps.sh
diff options
context:
space:
mode:
authorC.J. Collier <cjcollier@linuxfoundation.org>2016-06-14 07:50:17 -0700
committerC.J. Collier <cjcollier@linuxfoundation.org>2016-06-14 12:17:54 -0700
commit97f17497d162afdb82c8704bf097f0fee3724b2e (patch)
tree1c6269614c0c15ffef8451c58ae8f8b30a1bc804 /scripts/merge-maps.sh
parente04be89c2409570e0055b2cda60bd11395bb93b0 (diff)
Imported Upstream version 16.04
Change-Id: I77eadcd8538a9122e4773cbe55b24033dc451757 Signed-off-by: C.J. Collier <cjcollier@linuxfoundation.org>
Diffstat (limited to 'scripts/merge-maps.sh')
-rwxr-xr-xscripts/merge-maps.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/merge-maps.sh b/scripts/merge-maps.sh
new file mode 100755
index 00000000..edc88dea
--- /dev/null
+++ b/scripts/merge-maps.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+FILES=$(find "$RTE_SDK"/lib "$RTE_SDK"/drivers -name "*_version.map")
+SYMBOLS=$(grep -h "{" $FILES | sort -u | sed 's/{//')
+
+first=0
+prev_sym="none"
+
+for s in $SYMBOLS; do
+ echo "$s {"
+ echo " global:"
+ echo ""
+ for f in $FILES; do
+ sed -n "/$s {/,/}/p" "$f" | sed '/^$/d' | grep -v global | grep -v local | sed -e '1d' -e '$d'
+ done | sort -u
+ echo ""
+ if [ $first -eq 0 ]; then
+ first=1;
+ echo " local: *;";
+ fi
+ if [ "$prev_sym" = "none" ]; then
+ echo "};";
+ prev_sym=$s;
+ else
+ echo "} $prev_sym;";
+ prev_sym=$s;
+ fi
+ echo ""
+done