Hi Michael,
Just so I understand this : backtrace is used like , cat bt.txt | ./backtrace /path/to/bin ? I am a little bit confused over which binary I should compare to , i.e. I don't get any match.
by linking your program against the libc, it automatically becomes a dynamically-linked executable. Hence, the program's execution does not start at the program binary but inside the dynamic linker (ld.lib.so), which is then responsible to load the real binary along with the the shared libs. At the startup, all instruction pointers found in the backtrace are most likely referring to instructions inside 'ld.lib.so'.
Cheers Norman