Boyapati, Anitha schrieb:
> 
>> -----Original Message-----
>> From: avr-gcc-list-bounces+anitha.boyapati=atmel....@nongnu.org
>> [mailto:avr-gcc-list-bounces+anitha.boyapati=atmel....@nongnu.org] On
>> Behalf Of Joerg Wunsch
>> Sent: Thursday, June 16, 2011 11:30 AM
>> To: avr-gcc-list@nongnu.org
>> Subject: Re: [avr-gcc-list] Trouble with: relocation truncated
>> tofit:R_AVR_13_PCREL
>>
>> "Boyapati, Anitha" <anitha.boyap...@atmel.com> wrote:
>>
>>> 1. Why can't rcall/rjmp be used against external symbols?
>> They can, and they (usually) do.
>>
>>> If the value falls outside the legal range, linker relaxation can
>>> handle it.
>> No.  Linker relaxations can only work the other way: replace longer
>> jumps/calls by smaller ones. 
> 
> Hmm, interesting. 
> 

The reason why linker must not increase instruction sizes is that
branches (BRXX) could fall out of range and the linker would have to
relax them also by inserting, e.g. reversed branch over a jump. This
gets considerably complicated if the branch is inside a skip. Note
that local labels are already resolved by gas, so that it would be
necessary to move much logic from gas to ld and reimplement it in avr
part. It's doable and I see it being done for other architectures, but
it's much work.

Johann

> 
> Anitha
> 


_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
https://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to