[U-Boot] [PATCH] relocation: Do not relocate NULL pointers.

Joakim Tjernlund joakim.tjernlund at transmode.se
Mon Sep 28 17:37:21 CEST 2009


>
> Peter Tyser <ptyser at xes-inc.com> wrote on 28/09/2009 17:08:58:
> > >
> > > Peter, I just discovered that my gcc 3.4.6 allows me to use -mrelocatable with -fpie
> > > -fpie is about the same as -fpic and -fPIE is similar to -fPIC
> > > -fpie generates smaller code so one could consider using -fpie and -mrelocatable
> > > However -fpic/-fpie needs some fixes to the relocation code, but a quick hack
> > > by me works on my board.
> > >
> > > Does -fpie and -mrelocatable compile for you and do you have a non zero
> fixup section?
> >
> > -fpie and -mrelocatable does compile for me (tested on the XPedite5370
> > with gcc 4.2.2) and has a non-zero fixup section.  However, the -fpie
> > U-Boot image is slightly larger:
> >
> > ptyser at petert u-boot $ size u-boot.PIC
> >    text      data       bss       dec       hex   filename
> >  304300     28644     33156    366100     59614   u-boot.PIC
> >
> > ptyser at petert u-boot $ size u-boot.pie
> >    text      data       bss       dec       hex   filename
> >  304508     28624     33156    366288     596d0   u-boot.pie
> >
> > Let me know if I can provide any additional detail.
>
> ehh, that is strange. Did you run a make clean in between?
> Do you see any "bl _GLOBAL_OFFSET_TABLE_ at local-4" if you generate
> assembler(-S)?
> Maybe you had both -fPIC and -fpie defined?

Seems like I was in a hurry, -fpie and -mrelocatable appears to silently
transform into -fPIE -mrelocatable so no gain there.

     Jocke



More information about the U-Boot mailing list