gpt4 book ai didi

linux-kernel - 为什么我在运行 readelf -s 时得到这个输出

转载 作者:行者123 更新时间:2023-12-03 22:56:25 25 4
gpt4 key购买 nike

我有 Linux 内核,并尝试使用 objcopy 工具在其上生成 ELF header ,
下面是第一步

     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 -W -s main.o命令,其中 -W告诉 readelf不要将输出截断为 80 个字符的宽度。

关于linux-kernel - 为什么我在运行 readelf -s 时得到这个输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15362297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com