1

我有一些带有调试符号的编译目标文件,但无法访问源代码。

有什么方法可以将此文件转换为与位置无关的吗?

据我了解'-fPIC'标志它使所有跳跃都是相对的。我想知道是否有调试符号足以修复这种跳转并创建一个 PIC 二进制文件。

如果不是,请告诉我为什么无法完成此操作。

4

1 回答 1

1

我认为这个问题是平台而不是编译器特定的,因为不同的平台以不同的方式实现 PIC 代码。

尽管如此,我不知道有任何平台可以使用简单的工具将常规代码转换为位置独立代码。这是必须在编译/代码生成时做出的决定。可能实现目标的唯一方法是反汇编代码并将每个绝对代码/数据引用修改为相对寻址。

简短的回答是:不,(实际上)不可能。

于 2015-04-20T18:18:03.847 回答