我需要一种方法从 Linux 共享库的符号依赖表中剥离(或更改,如果不可能剥离)符号版本信息,这样我就可以解决 memcpy@GLIBC_2.14
灾难,所以我可以让我的二进制文件再次在 glibc 早于 2.14 的 Linux 上运行。
有什么工具吗?
注意:__asm__('.symver')
指令对我不起作用,因为问题不在于我的 库使用 memcpy,而是我的库使用来自 libgcc 的东西和 that 使用 memcpy@GLIBC_2.14,这就是为什么我需要一个工具来在 编译之后更改它。
谢谢。
I need a way to strip (or change, if stripping is not possible) the symbol version information from the symbol dependency table of a shared library in Linux, so I can work around the memcpy@GLIBC_2.14
disaster,
剥离符号版本信息
- 如果不在链接的二进制文件中重建很多内部 ELF 结构是不可能的(即在实践中不可能)和
- (即使您成功了)也不会生成适用于旧版 GLIBC 的二进制文件。
so I can make my binaries work on Linuxes with glibc older than 2.14 again.
您可以找到“在新系统上构建,在旧系统上运行”的方法 here .