我正在使用 ARM64 服务器并尝试使旧程序正常工作。我不需要源代码,只需一个二进制文件。
该二进制文件使用不支持 48 位虚拟地址 (VA) 的 LuaJit。但是,我的内核使用 48 位 VA。
LuaJit 使用 mmap 分配内存。
我想让 mmap 总是返回 47 位或更低的 VA。我注意到 setrlimit 可以限制进程的虚拟地址范围。它只是关于配额还是强制执行 VA 空间限制?
如果它限制了 VA 范围,我想我可以预加载一个动态库并调用 setrlimit 来调用 mmap。