diff options
author | C.J. Collier <cjcollier@linuxfoundation.org> | 2016-06-14 07:50:17 -0700 |
---|---|---|
committer | C.J. Collier <cjcollier@linuxfoundation.org> | 2016-06-14 12:17:54 -0700 |
commit | 97f17497d162afdb82c8704bf097f0fee3724b2e (patch) | |
tree | 1c6269614c0c15ffef8451c58ae8f8b30a1bc804 /scripts/merge-maps.sh | |
parent | e04be89c2409570e0055b2cda60bd11395bb93b0 (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-x | scripts/merge-maps.sh | 29 |
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 |