22 lines
662 B
Bash
22 lines
662 B
Bash
#!/bin/bash
|
|
|
|
inputModule=$1
|
|
dependencies=$2
|
|
objectFilesDir=$3
|
|
|
|
if [ "$inputModule" == "" -o "$dependencies" == "" -o "$objectFilesDir" == "" ]; then
|
|
echo "First arg is the module to search. Second arg is dependencies. Third is object files dir."
|
|
echo "ex: missingsymbols server_tf_i486.so \"tier0_i486.so vstdlib_i486.so\" ~/linux/src/engine/obj"
|
|
exit
|
|
fi
|
|
|
|
missingSymbols=`nm -o $inputModule | grep -i " U " | grep -o '[^[:space:]]*$' | grep -v '@@'`
|
|
|
|
for missingSymbol in $missingSymbols; do
|
|
modulesContaining=`nm -o $dependencies | grep $missingSymbol`
|
|
if [ "$modulesContaining" == "" ]; then
|
|
echo `c++filt "$missingSymbol"` "($missingSymbol)"
|
|
fi
|
|
done
|
|
|