[U-Boot] ARM relocation, question to Heiko

Wolfgang Denk
2010-10-04T10:13:08Z

Dear Albert ARIBAUD,

In message <4CA999EE.5030309@free.fr> you wrote:
>
> Note however that linking for base address 0 is not mandatory for
> achieving true position independence. What is required is that the code
> which runs from power-up until relocation be able to run anywhere, i.e.,
> this code should not require any relocation fixup. That can be achieved
> on ARM by using only relative branches and accessing data only relative
> to pc (e.g. literals) or truly absolute (e.g. HW registers etc).

That means you need to build all of U-Boot that way, because
significant parts of the code already run before relocation
(including all clocks and timers setup, console setup, printf and all
routines these pull in).

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Some programming languages manage to absorb change, but withstand
progress. -- Epigrams in Programming, ACM SIGPLAN Sept. 1982