Objdump -t 的欄位說明
objdump -t
可以列出object檔案的symbol table內容,這是一個我們很熟練的C 語言 main()在symbol table存放範例。
000000000040052d g F .text 000000000000002c main
不知道是三小朋友對不對?我也不知道,問了男人後回答如下:
- 這筆資料的欄位有
- symbol的對應的值,猜測是位址或是offset
- symbol的flags
- symbol屬於哪個SECTION
- symbol佔的記憶體空間或是alignment規範
- symbol的名稱
- 而symbol的flag有7個groups
- Group 1:
l
: localg
: globalu
: unique global,GNU 用於ELF時的 symbol binding extenstion (不知道是三小)!
: 既是global也是local
- Group 2:
w
: weak symbol<空白>
: strong symbol
- Group 3:
C
: symbol 是一個constructor (不知道是三小)<空白>
: 一般 symbol
- Group 4:
W
: warning symbol (不知道是三小)<空白>
: 一般 symbol
- Group 5:
I
: 間接地reference其他的symboli
: relocate 時要處理的function<空白>
: 一般 symbol
- Group 6:
D
: dynamic symbol (不知道是三小)d
: debug symbol<空白>
: 一般 symbol
- Group 7:
F
: 這是一個functionf
: 這是一個檔案O
: 這是一個object<空白>
: 一般 symbol
- Group 1:
參考資料
man objdump