库初始化后从RAM中清除ELF部分

我在ELF共享库中有很多代码,它只在库初始化期间使用(它是从静态初始化程序中调用的)。 如果我把这段代码放在它自己的段中(或者它可以放在.init段中),我可以使用__attribute__((section(".mysection")))来强制这个段落图书馆加载后分页?

这个问题是相关的,但是结论是,当内存不足时,内核会分出未使用的页面,所以没有必要明确地这样做。 但是,我正在embedded式环境中工作,因为内存占用很多,从磁盘(缓慢的USB闪存驱动器)进行代码分页的代价很高。 因此,我宁愿明确地清空这个代码,我知道这是永远不会再被使用,而不是让内核可能决定刷新其他代码,可能最终需要回页。

我确信我记得有一个系统调用要求内核页面进入或退出某些区域的内存,虽然我找不到任何地方的任何参考,所以也许我想像它。 这样的事情存在吗?

查找精灵叠加层的文档。 安排你的代码,让你有一个覆盖初始化,另一个处理。 你也可能想看看关闭覆盖。 当下一个覆盖被调用时,覆盖中的代码应该被替换。