У меня есть ядро Linux, и я пытаюсь создать на нем заголовок ELF с помощью инструмента objcopy. Ниже приведен первый шаг.
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
readelf
. - person artless noise   schedule 12.03.2013