我有一个目标文件——foo.so
由供应商提供。该目标文件与一个公开可用的库静态链接 - bar_1.0.a
. 有一个新版本的库bar_1.1.a
修复了一个严重的错误,但供应商没有提供新版本的foo.so
,所以我不能利用这个错误修复。
因为我无权访问 的源代码foo.so
,所以我无法针对新版本的bar
. 我确实可以访问 的源代码bar
,所以我可以随意构建它。1.0 和 1.1 之间的符号bar
没有变化,只是一些实现。
我想知道是否有一种方法可以替换/覆盖其中的静态链接bar_1.0.a
库,foo.so
而bar_1.1.a
无需访问foo.so
. 或者,如果这是不可能的,我可以以某种方式强制foo.so
动态链接,bar_1.1.so
即使它是静态链接的bar_1.0.a
?
我知道有各种LD_*
环境变量会影响动态链接,但我认为这在这种情况下不会有帮助。