
Kim Phillips kim.phillips@freescale.com wrote on 2010/10/12 19:31:25:
On Tue, 12 Oct 2010 16:10:33 +0200 Joakim Tjernlund joakim.tjernlund@transmode.se wrote:
Wolfgang Denk wd@denx.de wrote on 2010/10/12 15:47:19:
Dear Joakim Tjernlund,
In message <OF4DCFBD28.58E81A84-ONC12577BA.0047150B-C12577BA. 0047D319@transmode.se> you wrote:
What happens when one uses this patch in combination with a
"standard"
(i. e. older, unpatched) GCC?
Nothing, gcc will produce -fPIC relocs and the code will/should
just
work.
OK, so your change means effectively a no-op (except for the
moderate
size increase in start.S) to most of us?
Yes.
that moderate size increase in start.S breaks nand builds:
Configuring for MPC8313ERDB_NAND_66 board... start.o:(.got2+0x4): undefined reference to `_GOT_TABLE_' make[1]: *** [/home/r1aaha/git/u-boot/nand_spl/u-boot-spl] Error 1
ehh, these got there own linker scripts it seems I could #ifdef NAND_SPL I guess? Or possbly select one of GUT/GOT2 based on #if __pic__ == 1
...
Configuring for MPC8315ERDB_NAND board... powerpc-linux-gnu-ld: NAND bootstrap too big powerpc-linux-gnu-ld: NAND bootstrap too big start.o:(.got2+0x4): undefined reference to `_GOT_TABLE_' make[1]: *** [/home/r1aaha/git/u-boot/nand_spl/u-boot-spl] Error 1
How much is missing?
One thing I wonder about: How come NAND_SPL need GOT2 relocs but no FIXUPs? I figured either none or both.
Jocke
(I'm using powerpc-linux-gnu-gcc (Sourcery G++ Lite 4.3-74) 4.3.2 atm).
Kim