这是什么类型的错误" c(。text + 0x7):重定位被截断以适合:8 .data"

时间:2012-03-04 04:03:29

标签: c gcc assembly compilation i386

我正在编译/关联我的程序

i386-gcc -o output.lnx func.opc mainc.opc

我一直收到这个错误。老实说,我不知道这意味着什么。

有任何线索吗?

感谢,

1 个答案:

答案 0 :(得分:1)

这通常是程序中包含过多代码或数据的症状。 .text段(代码)中偏移量为7的重定位已使用固定大小(2或4)进行编译,但它所指的数据/指令超过64k或2G。

除此之外,我无法告诉你如何修复它而不实际看到目标文件。用于查明问题的有用工具是objdump(带有标记-dr)和readelf程序。