些许收获

折腾 Symbian 上可执行文件相关的东西好几天,一直为 ARMv5 的链接库有 lib 和 dso 两个感到困惑。有人说是 lib 是 RVCT 用的,dso 是 GCCE 用的,网上还有人说这两个要一起用,缺哪个都有问题,今天总算摸到了些门道。

其实结果很简单,lib 是为 EABIv1 模式的链接器使用的,dso 是为 EABIv2 模式的链接器使用的,无论 RVCT 还是 GCCE。如果是这样的话,lib 文件应该是某种标准的格式,我用十六进制编辑器看了,那个文件头曾经迷惑了我,典型的 ! 开头,我还以为是 PE 所使用的 COFF 格式的 lib 呢,事实上 lib 里面除了一个包含有所有导出符号名字的头之外,其余的是一系列的 .o 文件(看起来都是标准的 ELF 文件)的串联。

这下我就只管 dso 了,单一文件,应该比对 lib 更好写程序去分析。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注