我有一个已经编译/链接的 DSO 文件,它导出了一些确实必须隐藏的函数。当我尝试将我的代码与该库链接时 - 它会选择那些不需要的符号而不是我自己的符号。我无法访问源代码,因此我无法重建二进制文件并为不需要的东西使用适当的可见性属性。
我在这里看到唯一的一种解决方案 - 将不需要的符号形式GLOBAL
的可见性HIDDEN
直接更改为二进制。进行这种更改的明显工具是objcopy
,但问题是objcopy
没有修改动态符号表的选项,它只能处理常规符号表。
那么有谁知道哪个工具可以让我改变动态符号表中符号的可见性?