gpt4 book ai didi

c - 如何在 ELF 中分配可写/可读段?

转载 作者:太空狗 更新时间:2023-10-29 11:14:21 25 4
gpt4 key购买 nike

一段PT_LOAD类型,标志PF_write | PF_readp_filesiz = xp_memsiz = x+y 取决于内核分配 p_memsiz,对吗?这种分配实际上是如何运作的?内核分配p_memsiz,并将该 block 内存的请求放在p_vaddr上,这样该段的读写内存区域就是从p_vaddr开始到 p_vaddr + p_memsiz?如果是这样,内核在分配之前期望在 p_vaddr 处有什么值(地址)?

最佳答案

不太确定你在问什么,但我可以建议查看动态链接器的源代码,ld.so,它实际上加载了 ELF 对象。

参见 the source code of _dl_map_object_from_fd ,看看那里的 __mmap 调用(一种情况是可重定位对象,另一种情况是需要在固定地址加载的对象)。这些调用的参数应该告诉您有关如何分配内存的所有信息。

关于c - 如何在 ELF 中分配可写/可读段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22973378/

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