[U-Boot] [PATCH] PowerPC: Change -fpic flag to -fPIC flag in the config.mk

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Apr 26 08:53:29 CEST 2012


Scott Wood <scottwood at 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



More information about the U-Boot mailing list