我有Linux內核和我一起努力產生它ELF頭使用objcopy把工具, 下面是第一步當運行readelf爲什麼我得到這個輸出-s
objcopy -I binary -B i386 -O elf32-i386 --rename-section .data=.text linux_kernel.bin main.o
並在此之後,我想使用readelf -S main.o,但得到奇怪的符號讀符號表,下面是輸出
Symbol table '.symtab' contains 5 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00000000 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 NOTYPE GLOBAL DEFAULT 1 _binary_linux_kernel_bin_
3: 004df650 0 NOTYPE GLOBAL DEFAULT 1 _binary_linux_kernel_bin_
4: 004df650 0 NOTYPE GLOBAL DEFAULT ABS _binary_linux_kernel_bin_
現在應該可以看到像
_binary_linux_kernel_bin_start
_binary_linux_kernel_bin__end
_binary_linux_kernel_bin_size
符號
任何機構可以讓我知道我在做什麼錯?還是預計一個?
爲什麼我想看看正確的符號,因爲必須做類似下面一個
--entry_point=_binary_linux_kernel_bin_start
你確定輸出不僅被截斷嗎?你有沒有在更大的終端窗口嘗試? – 2013-03-12 13:16:46
是的,在這個特定的輸出結束後,我可以看到整個大的線。 – 2013-03-12 13:19:26
它不是截斷的終端。它是'readelf'。 – 2013-03-12 16:56:41