Figure 2: Using elfdump to look at symbol tables.
%elfdump -s libgreet.so Symbol Table Section: .symtab index value size type bind oth ver shndx name ... [1] 0x00000000 0x00000000 FILE LOCL D 0 ABS libgreet.so ... [37] 0x00000268 0x00000004 OBJT GLOB D 0 .rodata _lib_version [38] 0x000102f3 0x00000000 OBJT GLOB D 0 .data1 _edata [39] 0x00000228 0x00000028 FUNC GLOB D 0 .text greet [40] 0x0001026c 0x00000000 OBJT GLOB D 0 .dynamic _DYNAMIC %elfdump -s mixedcode.o Symbol Table Section: .symtab index value size type bind oth ver shndx name [0] 0x00000000 0x00000000 NOTY LOCL D 0 UNDEF [1] 0x00000000 0x00000000 FILE LOCL D 0 ABS mixedcode.cpp [2] 0x00000000 0x00000000 SECT LOCL D 0 .rodata [3] 0x00000000 0x00000000 FUNC GLOB D 0 UNDEF __1cDstd2l6Frn0ANbasic_ostream4Ccn0ALchar_traits4Cc____pkc_2_ [4] 0x00000000 0x00000000 FUNC GLOB D 0 UNDEF __1cFgreet6F_pc_ [5] 0x00000000 0x00000000 NOTY GLOB D 0 UNDEF __1cDstdEcout_ [6] 0x00000010 0x00000050 FUNC GLOB D 0 .text main [7] 0x00000000 0x00000000 NOTY GLOB D 0 ABS __fsr_init_value %dem __1cFgreet6F_pc_ __1cFgreet6F_pc_ == char*greet()