source-engine-2018-hl2_src/linux/missingsymbols
FluorescentCIAAfricanAmerican 3bf9df6b27 1
2020-04-22 12:56:21 -04:00

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