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

Andreas Bießmann
2013-05-10T10:57:21Z

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@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