[U-Boot] [PATCH] avr32: fix relocation address calculation

Andreas Bießmann andreas.devel at googlemail.com
Fri May 10 12:57:21 CEST 2013


Hi Albert,

On 05/10/2013 11:24 AM, Albert ARIBAUD wrote:
> Hi Andreas,
> 
> On Wed,  8 May 2013 11:25:17 +0200, Andreas Bießmann
> <andreas.devel at googlemail.com> wrote:
> 
>> Commit 1865286466a5d0c7f2e3c37632da56556c838e9e (Introduce generic link
>> section.h symbol files) changed the __bss_end symbol type from char[] to
>> ulong. This led to wrong relocation parameters which ended up in a not working
>> u-boot. Unfortunately this is not clear to see cause due to RAM aliasing we
>> may get a 'half-working' u-boot then.
>>
>> Fix this by dereferencing the __bss_end symbol where needed.
> 
> (cc:ing Simon and Tom)
> 
> The dereferencing is correct, so this patch seems good per se (it could
> actually have applied when __bss_end was still a char[]).

well, as I understood this the __bss_end being a char[] did implicitly
take the address when accessing __bss_end (as we do when we have a
definition of char foo[2] and we take just 'foo'). But you say here we
should reference the address of __bss_end while it was still of type
char[]. Sorry, I do not understand that, can you please clarify?

Best regards

Andreas Bießmann



More information about the U-Boot mailing list