------- Additional Comments From nickc at redhat dot com 2006-04-13 09:15 ------- Hi Mack,
This is not a bug, but a feature. The AVR assembler has chosen to use a reloc with the JMP instruction, so the actual address is not resolved until link time. If you disassemble the object file with -Dr instead of -D you will see: 00000000 <main-0x46>: 0: 0c 94 00 00 jmp 0 ; 0x0 <main-0x46> 0: R_AVR_CALL .text+0x46 etc. The reason for this is that the JMP instruction takes an absolute address as its operand, and this address cannot be known until the linker has assigned a location to the .text section. The RJMP and RCALL instructions on the other hand take PC-relative operands, so their values can be computed by the assembler at assembly time. Hence these two instructions do not generate relocs. Cheers Nick -- What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID http://sourceware.org/bugzilla/show_bug.cgi?id=2539 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils