writes:
> Much of what I do is a set of source files scattered over many
> directories, all of which give one .a library. I have sometimes had
> trouble because the same symbol was being used by more than one source
> file. It is a very * kind of bug to track down, too.
>
> Is there a better way in which I can do this? What is the
> organisation of __.SYMDEF?
>
Use:
nm theLibrary.a > tmp.nm # See nm(1).
egrep -v "^ *U" tmp.nm | # Remove undefined references, leaving only the
sort -t" " -f2 | # defined symbols.
uniq -d # Show duplicated defined symbols.
Then for each duplicate symbol output by the pipe,
look in the tmp.nm file to see what .o files define it.