You can use the nm utility in conjunction with grep to find which executables refer to a character, for example:
nm name_of_executable | grep symbol
So, for example, if I had a list of executables that could use "strcat", I could check this using:
for file in exectuble1 executable2 ... executableN; do
references_to_strcat = `nm" $ file "| grep strcat -c`
if [$ references_to_strcat -ne 0]; then
echo "$ file"
fi
done
The small loop above (subject to BASH) will print a list of all files referencing "strcat". Note that this will only tell you which executable is actually associated with the symbol ... I do not know how to determine which executables can refer to a function using dynamic loading (e.g. dlopen / dlsym / dlcose ).
Please note: if you have source code, not just executables, you can use Doxygen to create a complete call schedule (in addition to the documentation) for your source code, so this is another possibility.
source share