[U-Boot] armv8 relocation questions
Wolfgang Denk
wd at denx.de
Mon May 19 23:05:09 CEST 2014
Dear Jeroen,
In message <1400532143.1985.57.camel at yellow> you wrote:
>
> > I have no idea how the tool chain was configured here, and what the
> > linker script might look like.
>
> for what it is worth:
> aarch64-linux-gnu-gcc (Ubuntu/Linaro 4.8.1-10ubuntu7) 4.8.1
> with its default linker script.
OK, now I know where it's coming from; did you look into this?
> > Maybe. This is with some (unknown here) specific set of compiler
> > options and linker statements. This does not mean that the same or
> > silimar code will be generated for U-Boot,
>
> Could be, but the vexpress_aemv8a shows the same pattern. It has around
> 1688 of adrp instructions.
Probably with the same / similar compiler options?
> I wondered about that. I could not find such a flag, nor did David think
> it exists.. [1]
You mean this statement:
We can not make gcc-aarch64 do not use adrp instruction when
constructing address of label.
?
David, can you definitely confirm that there are no compiler / linker
flags for relocatable code that might influence code generation / use
of adrp here?
> > That depends on specific compiler options / linker settings,
> > eventually?
>
> Perhaps eventually. But for now it seems that also U-boot is forced to
> keep the relocation offset a multiple of 4k.
For aarch64, you mean? Because the tool chain and/or our current
understanding how it generates code requires it, right?
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
I'd rather be led to hell than managed to heaven.
More information about the U-Boot
mailing list