On Sun, Jan 12, 2020 at 08:23:02PM +0000, Rasmus Villemoes wrote: > 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.
Thanks for digging in to the root cause on this. I'll take a harder look at your patch, thanks! -- Tom
signature.asc
Description: PGP signature