[U-Boot] ARM relocation, question to Heiko

Joakim Tjernlund
2010-10-04T08:52:12Z

Albert ARIBAUD <albert.aribaud@free.fr> wrote on 2010/10/04 10:33:05:
>
> Le 04/10/2010 10:28, Joakim Tjernlund a ?crit :
> >>
> >> Le 04/10/2010 09:36, Joakim Tjernlund a ?crit :
> >>
> >>> However, I think we will loose the possibility to add "link once, burn and
> >> run anywhere"
> >>> feature I impl. once(but it was at the time deemed to intrusive) if
> >>> we skip -fPIC and go for the linker -pie relocation.
> >>
> >> On ARM at least, I don't think so. From what I see, the -pie ld option
> >> without the -fPIC/-fPIE compiler option alone builds a .rel.syn table
> >> that contains all necessary fixes to mve the code anywhere.
> >
> > hmm, maybe my memory fails me but doesn't these relocs change the
> > code to relocate accesses? While in flash you can't do that.
> > Perhaps this is fixable too with the LINK_OFF method I impl.
> > but memory fails me as it was quite some time ago.
> >
> > Jocke
>
> Actually the principle is to link with TEXT_BASE equal to the NOR FLASH
> location of the image [1] so that relocation is not needed there. Only
> when you move the code to RAM do you need relocation.

Yes, that is there today. I am talking about linking to any TEXT_BASE(say 0)
but burn and run into another address. I impl. this quite some time
ago for PPC(search for LINK_OFF)

Jocke