aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/merge-maps.sh
blob: edc88dea9391e7a1389f39d5f8c2416b098ad297 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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