Scott Wood <scottw...@freescale.com> wrote on 2012/04/25 21:01:00: > > On 04/18/2012 05:07 AM, Joakim Tjernlund wrote: > > Your linker file is buggy I think. I found u-boot-nand_spl.lds, is that the > > one? > > That's the one for the SPL part.
OK, good. > > > Check out that files reloc part: > > .reloc : { > > _GOT2_TABLE_ = .; > > KEEP(*(.got2)) > > _FIXUP_TABLE_ = .; > > KEEP(*(.fixup)) > > } > > __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; > > __fixup_entries = (. - _FIXUP_TABLE_) >> 2; > > > > Compare that with(from u-boot.lds): > > .reloc : > > { > > _GOT2_TABLE_ = .; > > KEEP(*(.got2)) > > KEEP(*(.got)) > > PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4); > > _FIXUP_TABLE_ = .; > > KEEP(*(.fixup)) > > } > > __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1; > > __fixup_entries = (. - _FIXUP_TABLE_) >> 2; > > I notice a difference between u-boot.lds and u-boot-nand.lds -- the > latter (used for the main part of U-Boot when loaded from SPL) has: > > > .reloc : > > { > > KEEP(*(.got)) > > _GOT2_TABLE_ = .; > > KEEP(*(.got2)) > > _FIXUP_TABLE_ = .; > > KEEP(*(.fixup)) > > } > > __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; > > __fixup_entries = (. - _FIXUP_TABLE_) >> 2; > > Is this wrong as well? Yes, I think so. This one does not care about the .got entries at all so I suspect never gcc's wont work. Jocke _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot