我使用NASM汇编链接,当我使用命令“NASM -f -l精灵hello.lst hello.asm” 它与海湾合作委员会“GCC链接时工作正常 但 - ø你好hello.o” 它产生一个错误:16位linux下 linux下
hello.asm :(文本+为0x4):重定位截断以适应:R_386_16针对`。数据” collect2:LD返回1退出状态
我了解到这是gcc和16位的一些问题
any soluti ons?
我使用NASM汇编链接,当我使用命令“NASM -f -l精灵hello.lst hello.asm” 它与海湾合作委员会“GCC链接时工作正常 但 - ø你好hello.o” 它产生一个错误:16位linux下 linux下
hello.asm :(文本+为0x4):重定位截断以适应:R_386_16针对`。数据” collect2:LD返回1退出状态
我了解到这是gcc和16位的一些问题
any soluti ons?
Linux甚至没有16位子系统 - 即使你有gcc链接它,你仍然无法执行它!你为什么不使用.bits 32
?
我几年前和今年再次面临同样的情况。
两种方法来对付它是:
我总是最终做2,但我应该花时间写一个链接器(或者修补GNU ld ...)。
你的gcc安装是否有一个16位的默认运行时库? – 2010-12-04 19:04:17
看起来你缺少交叉编译器工具链的各个部分。 – 2010-12-04 23:58:03