如何从Linux中的共享库的符号依赖关系表中删除符号版本信息?

时间:2015-03-25 14:32:47

标签: linux shared-libraries glibc memcpy

我需要一种方法来从Linux中的共享库的符号依赖关系表中删除(或更改,如果无法删除)符号版本信息,因此我可以解决memcpy@GLIBC_2.14灾难,所以我可以让我的二进制文件再次在glibc早于2.14的Linux上运行。

有没有这方面的工具?

注意:__asm__('.symver')指令对我不起作用,因为问题不是我的库使用memcpy,而是我的库使用了libgcc和中的那些< / em>使用memcpy@GLIBC_2.14,这就是为什么我需要一个工具来在编译后更改。 感谢。

1 个答案:

答案 0 :(得分:2)

  

我需要一种方法来从Linux中的共享库的符号依赖关系表中删除(或更改,如果无法删除)符号版本信息,因此我可以解决memcpy@GLIBC_2.14灾难,

剥离符号版本信息

    如果没有重建链接二进制文件中的大量内部ELF结构(即在实践中不可能),
  • 是不可能的
  • (即使你成功了)也不会产生适用于旧版GLIBC的二进制文件。
  

所以我可以让我的二进制文件再次使用glibc超过2.14的Linux。

你可以找到建立在较新系统上的方法,在较旧的系统上运行&#34; here