How do I find out which functions of a shared object are used by a program or an other library? In this specific case, I would like to see which functions in /lib/libgcc1_s.so.1
This can be achieved using technique called static analysis in Reverse Engineering
You need a Disassembler for this. See http://en.wikipedia.org/wiki/Disassembler
IDA PRO is a good disassembler witch answers your question.It is capable of reading ELF file format but unfortunately it is not free.