Link error: relocation truncated to fit: R_MIPS_GPREL16 time
2010-09-08 09:44
441 查看
Link error: relocation truncated to fit: R_MIPS_GPREL16 time
具体解释见http://sourceware.org/ml/ecos-discuss/2000-04/msg00214.html简单的说,是因为你把全局变量放到了编译后的某一节中,而这个节不是通用的 .data .bss,而是特殊的节。导致最后链接的时候,编译器不知到选取哪个节中的变量。
例如:
#define SHARED __attribute__ ((section (".shared")))
在头文件中 extrn int a;
在.c中
SHARED int a;
此时链接时会报错,因为在.c中你把a放入了.shared节,而头文件说明该变量在普通的节中,但普通节中又找不到。这种错误在底层开发中常见。
相关文章推荐
- relocation truncated to fit: R_MIPS_CALL16 问题!
- relocation truncated to fit: R_MIPS_26 against
- relocation truncated to fit: R_MIPS_CALL16 问题!
- relocation truncated to fit: R_X86_64_32
- relocation truncated to fit: R_X86_64_PC32错误排除
- relocation truncated to fit: R_X86_64_PC32 against symbolXXX
- GCC 编译错误 relocation truncated to fit: R_X86_64_32S against `.bss'
- GCC 编译错误 relocation truncated to fit: R_X86_64_32S against `.bss'
- Building Error: relocation truncated to fit: R_X86_64_32S against symbol 'XXX'
- GCC 编译错误 relocation truncated to fit: R_X86_64_32S against `.bss'
- relocation truncated to fit: R_X86_64_PC32
- 编译u-boot:_udivsi3.S:67: relocation truncated to fit: R_ARM_PLT32 __div0
- 编译u-boot:_udivsi3.S:67: relocation truncated to fit: R_ARM_PLT32 __div0
- Linking fails : relocation truncated to fit: R_X86_程序占用内存大于2GB所导致的问题
- bl跳转指令使用错误导致编译出现错误--relocation truncated to fit: R_ARM_PC24 init_irq
- Linking fails : relocation truncated to fit: R_X86_程序占用内存大于2GB所导致的问题
- GCC 编译错误 relocation truncated to fit: R_X86_64_32S against `.bss'
- leetcode 16: Best Time to Buy and Sell Stock III
- leetcode 16: Best Time to Buy and Sell Stock III
- Crazy Test: How much time will be consume to exhaustive 16 bits numeral for all possible?