xref: /aosp_15_r20/external/libcups/scripts/checkglobals (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker#!/bin/sh
2*5e7646d2SAndroid Build Coastguard Worker#
3*5e7646d2SAndroid Build Coastguard Worker# Check for global symbols that don't need to be made global...
4*5e7646d2SAndroid Build Coastguard Worker#
5*5e7646d2SAndroid Build Coastguard Worker
6*5e7646d2SAndroid Build Coastguard Workerfor file in *.o; do
7*5e7646d2SAndroid Build Coastguard Worker	functions=""
8*5e7646d2SAndroid Build Coastguard Worker
9*5e7646d2SAndroid Build Coastguard Worker	for function in `nm -g $file | grep "T " | awk '{print $3}'`; do
10*5e7646d2SAndroid Build Coastguard Worker		found=""
11*5e7646d2SAndroid Build Coastguard Worker		for file2 in *.o; do
12*5e7646d2SAndroid Build Coastguard Worker			if test "$file" = "$file2"; then
13*5e7646d2SAndroid Build Coastguard Worker				continue;
14*5e7646d2SAndroid Build Coastguard Worker			fi
15*5e7646d2SAndroid Build Coastguard Worker
16*5e7646d2SAndroid Build Coastguard Worker			found=`nm -g $file2 | grep $function`
17*5e7646d2SAndroid Build Coastguard Worker			if test "$found" != ""; then
18*5e7646d2SAndroid Build Coastguard Worker				break;
19*5e7646d2SAndroid Build Coastguard Worker			fi
20*5e7646d2SAndroid Build Coastguard Worker		done
21*5e7646d2SAndroid Build Coastguard Worker
22*5e7646d2SAndroid Build Coastguard Worker		if test -z "$found"; then
23*5e7646d2SAndroid Build Coastguard Worker			functions="$functions $function"
24*5e7646d2SAndroid Build Coastguard Worker		fi
25*5e7646d2SAndroid Build Coastguard Worker	done
26*5e7646d2SAndroid Build Coastguard Worker
27*5e7646d2SAndroid Build Coastguard Worker	if test -z "$functions"; then
28*5e7646d2SAndroid Build Coastguard Worker		echo "$file: OK"
29*5e7646d2SAndroid Build Coastguard Worker	else
30*5e7646d2SAndroid Build Coastguard Worker		echo "$file: $functions"
31*5e7646d2SAndroid Build Coastguard Worker	fi
32*5e7646d2SAndroid Build Coastguard Workerdone
33