public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Jeroen Hofstee <dasuboot@myspectrum.nl>
To: u-boot@lists.denx.de
Subject: [U-Boot] armv8 relocation questions
Date: Tue, 20 May 2014 19:42:58 +0200	[thread overview]
Message-ID: <1400607778.2002.24.camel@yellow> (raw)
In-Reply-To: <20140519210509.334DF38049A@gemini.denx.de>

Hello Wolfgang,

On ma, 2014-05-19 at 23:05 +0200, Wolfgang Denk wrote:
> Dear Jeroen,
> 
> In message <1400532143.1985.57.camel@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?
> 

peeked, but didn't see anything special about it.

> > > 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.
> 
> ?

Yes, I _think_ the architecture _could_ use the full pc, it is just
bigger and slower, and I seems like the compiler folks just did not
implemented it at all.

> > 
> > 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?
> 

Right, only for aarch64 and current tools (but my guess it that it will
stay around). ARM32 does not have such a requirement, since it uses the
complete pc. Don't know about other architectures.

That said, _if_ placing start at a not 4k align / page aligned is
acceptable for u-boot it might be smarter to always align the relocation
offset instead of aligning the destination address itself, since
alignment is always preserved in that case as long as it is smaller then
4k (and down, instead of up as in the original patch).

Regards,
Jeroen

  reply	other threads:[~2014-05-20 17:42 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-13 21:38 [U-Boot] armv8 relocation questions Darwin Rambo
2014-05-16 13:47 ` fenghua at phytium.com.cn
2014-05-16 16:23   ` Darwin Rambo
2014-05-16 20:28     ` Wolfgang Denk
2014-05-16 21:15       ` Tom Rini
2014-05-16 22:26         ` Jeroen Hofstee
2014-05-17  2:13           ` fenghua at phytium.com.cn
2014-05-17 16:53             ` Wolfgang Denk
2014-05-18 12:37               ` Jeroen Hofstee
2014-05-18 19:51                 ` Wolfgang Denk
2014-05-19  7:37                   ` Jeroen Hofstee
2014-05-19 12:33                     ` Wolfgang Denk
2014-05-19 18:10                       ` Jeroen Hofstee
2014-05-19 18:30                         ` Wolfgang Denk
2014-05-19 20:42                           ` Jeroen Hofstee
2014-05-19 21:05                             ` Wolfgang Denk
2014-05-20 17:42                               ` Jeroen Hofstee [this message]
2014-05-16 21:24       ` Darwin Rambo
2014-05-16 21:52         ` Tom Rini
2014-05-22 14:19     ` fenghua at phytium.com.cn
2014-05-23  6:51       ` Wolfgang Denk
2014-05-26 13:11         ` fenghua at phytium.com.cn
2014-05-26 14:38           ` Wolfgang Denk
2014-05-17  3:53   ` fenghua at phytium.com.cn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1400607778.2002.24.camel@yellow \
    --to=dasuboot@myspectrum.nl \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox