gpt4 book ai didi

kernel - 在执行期间访问 .eh_frame 数据

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:57 27 4
gpt4 key购买 nike

我试图从其中访问正在运行的程序的 .eh_frame 部分的内容(具体来说,该程序是 Linux 内核 2.6.34.8)。 .eh_frame 包含用于异常处理的有用数据,我想在内核代码内部使用它。该部分已经由 gcc 编写(readelf -a vmlinux.o 包含 .eh_frame),问题是从代码中读取它。我很确定 elf 格式文档说 .eh_frame 在代码执行期间是可访问的。

我查看了 glibc 的源代码以寻找 .eh_frame 用法,并在 sysdeps/generic/sysdep.h 中找到了大多数 CFA 指令的宏,但不是加载 .eh_frame 数据的实际代码。

是否需要修改加载内核的过程以从文件中加载数据,或者.eh_frame info/.eh_frame_hdr 部分指针存储在某处作为宏/汇编程序名称(以便它可以提取到 C 变量中)?

最佳答案

vmlinux.o 不是实际加载的内核。

实际的内核镜像(通常是 bzImage)不是 ELF 文件,只包含运行内核所需的数据。

此外,大部分内核都没有编译异常处理信息。

关于kernel - 在执行期间访问 .eh_frame 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18091714/

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