source-engine/linux/missingsymbols

22 lines
662 B
Plaintext
Raw Permalink Normal View History

2020-04-22 16:56:21 +00:00
#!/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