[U-Boot] ARM: Incorrect ROM protection range?

Albert ARIBAUD albert.aribaud at free.fr
Thu Feb 24 12:58:57 CET 2011


Le 24/02/2011 10:39, Wolfgang Denk a écrit :
> Dear Albert ARIBAUD,
>
> In message<4D6611A7.5050802 at free.fr>  you wrote:
>>
>>>>> In the U-Boot image itself, knowing the image size could be achieved in
>>>>> ARM by using a general _end symbol that would be set after the last
>>>>> image output section, so _end-_start would equal the image size.
>>>>
>>>> we have such a "_end" in u-boot.lds files.
>>
>> I *knew* this name did not pop up in my mind without a reason. :)
>>
>> Apologies for not having checked.
>>
>>> I guess we need a __dynsym_end in all u-boot.lds files.
>>
>> I'd rather go for "_end", which does not tie the solution to dynsym
>> being the last section in the image -- imagine for some reason we move
>> dynsym inside the image rather than at the end, end the image size will
>> be wrong again. With _end, and a suitable comment in the LD file... this
>> will be averted where-ever dynsym ends up.
>>
>> After all, the bug you uncovered was due to using the wrong symbol, a
>> BSS related one rather than an image-related one, in the first place; so
>> let's try and learn from past mistakes.
>
> I think the location of _end in the linker scripts needs to be changed
> - so far it covers the maximum of dynsym and bss, but it should refer
> to the end of dynsym only.

Po-Yu Chuang, can you verify Wolfgang's suggestion (and make sure no 
other place depends on _end) and submit a patch? As this is a fix, a 
quick patch could still be pulled in for the upcoming release.

> Best regards,
>
> Wolfgang Denk

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list