[PATCH] env: another attempt at fixing SPL build failures

Rasmus Villemoes rasmus.villemoes at prevas.dk
Sun Jan 12 21:23:02 CET 2020


On 11/01/2020 23.44, Rasmus Villemoes wrote:
> On 10/01/2020 15.34, Tom Rini wrote:
>> On Fri, Jan 10, 2020 at 02:28:54PM +0000, Rasmus Villemoes wrote:
>>> On 15/12/2019 23.29, Rasmus Villemoes wrote:
>>>> I'm also seeing the build failure that commit
>>>>
>>>> 7d4776545b env: solve compilation error in SPL
>>>>
>>>
>>> Yeah, I think this is a difference in how the linker works on ppc vs
>>> arm. Doing
>>>
>>>
>>> For reference, I have
>>>
>>> $ ${CROSS_COMPILE}ld --version
>>> GNU ld (GNU Binutils for Ubuntu) 2.30
>>
>> Which SPL are you using on PowerPC?  There's the one based
>> CONFIG_SPL_FRAMEWORK and the one that's not.  I suspect it's a framework
>> vs not problem here rather than linker exactly.
>>
> 
> No, it's nothing to do with SPL per se. 

OK, I think I found it. On powerpc, the .fixup section contains a
reference to .data.rel.env_htab, and all of .fixup is kept (because of
KEEP(*(.fixup))), so env_htab cannot get garbage collected. Hence
anything that section refers to must also exist. So it's not a defect in
ppc-ld vs arm-ld, it's just a consequence of ppc having that .fixup section.

So, the only way to fix that is by either making sure env_flags_validate
exists in the link, or avoiding having env_htab being part of the link
in the first place. My patch does the latter.

Rasmus


More information about the U-Boot mailing list