CubicLouve

Spring_MTの技術ブログ

オブジェクトファイルのシンボルテーブル確認にreadelfコマンドを使う

シンボルテーブルを確認しようとして、おもむろにnmコマンド打ったら、シンボルでてこなかった。

# nm /usr/lib64/hoge.so 
nm: /usr/lib64/hoge.so: no symbols

んな訳あるかって思ったら、elf形式だった。

# file /usr/lib64/hoge.so
/usr/lib64/hoge.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

elf形式の場合は、readelfを使う。

# readelf -s /usr/lib64/hoge.so

Symbol table '.dynsym' contains  entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 

男はだまってobjdumpって言われそう。。。