Dear Kim, In message <20090216200502.1e25c494.kim.phill...@freescale.com> you wrote: > > Trent Piepho <xy...@speakeasy.org> wrote: ... > > But what systems are affected by the problem? For instance ms7750se only > > has ".rodata", not even ".rodata.str1.4". So should it get changed too? > > > > There are CPUs that have a special segment for byte aligned data. Does > > u-boot support any of these CPUs? I don't know. But changing ".rodata" to > > ".rodata*" could break a system if ".rodata1" was supposed to be picked up > > by a ".*data*1" somewhere else in the linker script. It seems like people > > who know the platform would be less likely to get caught by this. > > > > Or take something like mpc8220, which has this for a text segment: > > *(.text) > > *(.fixup) > > *(.got1) > > . = ALIGN(16); > > *(.rodata) > > *(.rodata1) > > *(.rodata.str1.4) > > *(.eh_frame) > > > > Why is the start of rodata aligned to 16 bytes? I'd guess some sort of I/D > > cache issue. Though aren't fixup and got1 data, not code? I can't > > find any docs on what the differences between fixup, got, got1, and got2 > > are. It seems like current gcc only uses got2. The mpc8220 ld script also > > lists fixup a second time, in the reloc section, a mistake that probably > > doesn't break anything since I think gcc hasn't used fixup in some time. > > > > Anyway, not knowing if it's ok to delete fixup and got1, I would change > > this to: > > *(.text) > > *(.fixup) > > *(.got1) > > . = ALIGN(16); > > *(.eh_frame) > > *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) > > > > eh_frame should go before rodata* since it has has a larger alignment, but > > now rodata isn't 16 byte aligned like it was before. Does that matter? I > > doubt it, but I don't know for sure. > > > > WD, do you have a response to the above? Otherwise, I'll put this > in my queue:
Please don't. I really want to see this fixed for ALL affected boards, not only for a small subset so everbody forgets it again and we run into it later again and again. Trent - you have obviously already spend a lot of effort into analyzing this code - most probably more time than any other of us. Based on your experience and the effort you already spent I think it would be best if you could provided a patch to fix all boards. Thanks in advance. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de "'Tis true, 'tis pity, and pity 'tis 'tis true." - Poloniouius, in Willie the Shake's _Hamlet, Prince of Darkness_ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot