0
我使用gcc編譯了一個簡單的程序,如果我使用objdump看到section header,它不會顯示部分.symtab
。對於相同的a.out
文件,readelf顯示該部分:爲什麼objdump在readelf時不顯示.symtab節?
[25] .symtab SYMTAB 00000000 000ca4 000480 10 26 2c 4
[26] .strtab STRTAB 00000000 001124 00025c 00 0 0 1
爲什麼?
在默認鏈接描述文件中,我找不到.symtab
部分的定義。 如果我自己在鏈接描述文件添加一個定義,如:
....
PROVIDE(__start_sym)
.symtab : { *(.symtab)}
PROVIDE(__end_sym)
....
的差的B/W的__start_sym
的地址和__end_sym
是零,這意味着沒有這樣的部分在輸出文件加入。
但readelf能夠讀取該部分並轉儲此部分的內容..如何?爲什麼?
即使你做'objdump -x'? – James 2010-06-08 09:46:12
'objdump -t file'和'readelf -s file'應該以不同的方式給出相同的信息 – ShinTakezou 2010-06-08 12:55:04