All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] ARM relocation, question to Heiko
Date: Sun, 03 Oct 2010 09:10:09 +0200	[thread overview]
Message-ID: <4CA82C51.7030300@free.fr> (raw)
In-Reply-To: <4CA7BB24.80201@gmail.com>

Le 03/10/2010 01:07, Graeme Russ a ?crit :
> On 03/10/10 08:09, Albert ARIBAUD wrote:
>> Le 02/10/2010 22:39, Reinhard Meyer a ?crit :
>>
>>> And as an idea, if position independent code is used, only pointers
>>> in initialized data need adjustment. Cannot the linker emit a table
>>> of addresses that need fixing?
>>
>> IIU Bill C, yes the linker can emit the information and the startup code
>> could use this information instead of relying on hand-provided info; the
>> linker file probably needs to be modified in order to provide such info.
>> I intend to look into this, but feel free to do too.
>
> As mentioned previously, I have already done this for x86. The linker flags
> used are -pic and --emit-relocs. The linker produces a section named
> rel.dyn which needs to be processed but not loaded into RAM. rel.dyn
> contains a simple list of address (within .text, .data, .rodata etc) each
> of which need a simple adjustment equal to the relocation offset.

Bill just said that -pic (or, for ARM, -fPIC or -fPIE) was unnecessary 
for relocation. You seem to imply it actually is... In my experience, 
-fPIC and-fPIE do increase code by adding GOT relocation to symbols that 
need fixing, so they would indeed be redundant to any other relocation 
mechanism -- I just did some test with basic code and this seems to 
confirm, no -fPIx is needed to get relocation the way you do on ARM.

> The size increase of the code + data loaded into RAM is 104012 bytes to
> 104296 bytes which is only 284 bytes or a mere 0.3% (which is negligible)
> with an additional 22424 bytes in rel.dyn (22%) not loaded into RAM
>
> The additional bonus is that .got is not referenced during run-time, so
> there is no run-time performance penalty. However, the penalty of
> processing 2803 relocation records at startup may not be wholly recovered
> during a typical u-boot run-time session.
>
> All this is for x86, and may not apply so neatly to other arches

Of course. :)

Amicalement,
-- 
Albert.

  reply	other threads:[~2010-10-03  7:10 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-30 13:57 [U-Boot] ARM relocation, probably trivial mistake Reinhard Meyer
2010-09-30 14:08 ` Stefano Babic
2010-09-30 14:20   ` Reinhard Meyer
2010-09-30 15:39     ` Heiko Schocher
2010-09-30 16:06       ` Reinhard Meyer
2010-09-30 15:38 ` Heiko Schocher
2010-09-30 17:43   ` Wolfgang Denk
2010-10-01  5:25     ` Heiko Schocher
2010-10-01  5:40       ` Albert ARIBAUD
2010-10-01  5:53         ` Heiko Schocher
2010-10-01  6:39           ` Reinhard Meyer
2010-10-01  6:57             ` Heiko Schocher
2010-10-01  8:45               ` Wolfgang Denk
2010-10-01  7:01             ` Albert ARIBAUD
2010-10-01  7:42               ` [U-Boot] ARM relocation, probably trivial mistake - back to original problem Reinhard Meyer
2010-10-01  8:27                 ` Heiko Schocher
2010-10-01 10:44                   ` Reinhard Meyer
2010-10-01 10:55                     ` Wolfgang Denk
2010-10-01 11:03                       ` Reinhard Meyer
2010-10-01 11:21                         ` Wolfgang Denk
2010-10-01 11:37                           ` Reinhard Meyer
2010-10-01 11:59                             ` Wolfgang Denk
2010-10-01 12:22                               ` Reinhard Meyer
2010-10-01 12:47                                 ` Reinhard Meyer
2010-10-01 12:55                                   ` Wolfgang Denk
2010-10-01 14:55                                     ` Reinhard Meyer
2010-10-02  8:53                                       ` Heiko Schocher
2010-10-01 15:47                                     ` Steve Sakoman
2010-10-02  7:15                                       ` [U-Boot] ARM relocation, question to Heiko Reinhard Meyer
     [not found]                                         ` <4CA6E517.9040701@fr<1286167382.22760.19.camel@ptyser-laptop>
2010-10-02  7:53                                         ` Albert ARIBAUD
2010-10-02  8:10                                           ` Reinhard Meyer
2010-10-02  8:26                                             ` Albert ARIBAUD
2010-10-03 18:04                                               ` Wolfgang Denk
2010-10-02  9:08                                             ` Heiko Schocher
2010-10-02  9:29                                               ` Albert ARIBAUD
2010-10-03 18:05                                                 ` Wolfgang Denk
2010-10-02 10:17                                               ` Joakim Tjernlund
2010-10-02 16:21                                                 ` J. William Campbell
2010-10-02 18:33                                                   ` Reinhard Meyer
2010-10-03 18:22                                                     ` Wolfgang Denk
2010-10-02 20:39                                                   ` Reinhard Meyer
2010-10-02 21:09                                                     ` Albert ARIBAUD
2010-10-02 23:07                                                       ` Graeme Russ
2010-10-03  7:10                                                         ` Albert ARIBAUD [this message]
2010-10-03  8:44                                                           ` Graeme Russ
2010-10-03  8:58                                                             ` Albert ARIBAUD
2010-10-03 15:36                                                               ` J. William Campbell
2010-10-03 16:47                                                                 ` Albert ARIBAUD
2010-10-03 17:54                                                                   ` Albert ARIBAUD
2010-10-03 18:43                                                                 ` Wolfgang Denk
2010-10-04  5:41                                                       ` Heiko Schocher
2010-10-03 18:29                                                     ` Wolfgang Denk
2010-10-03 19:26                                                       ` J. William Campbell
2010-10-04  5:52                                                       ` Heiko Schocher
2010-10-03 18:14                                                   ` Wolfgang Denk
2010-10-03 18:54                                                     ` J. William Campbell
2010-10-03 19:52                                                       ` Albert ARIBAUD
2010-10-03 18:03                                             ` Wolfgang Denk
2010-10-03 18:34                                               ` Albert ARIBAUD
2010-10-03 18:45                                                 ` Wolfgang Denk
2010-10-04  6:08                                                 ` Heiko Schocher
2010-10-04  6:40                                                   ` Albert ARIBAUD
2010-10-04  7:27                                                     ` Reinhard Meyer
2010-10-04  8:28                                                       ` Albert ARIBAUD
2010-10-04  8:57                                                         ` Heiko Schocher
2010-10-04  9:27                                                           ` Albert ARIBAUD
2010-10-04 10:01                                                             ` Joakim Tjernlund
2010-10-04  9:58                                                         ` Graeme Russ
2010-10-04 14:17                                                           ` Albert ARIBAUD
2010-10-04 14:25                                                             ` Rogan Dawes
2010-10-04 15:24                                                               ` Albert ARIBAUD
2010-10-04 16:31                                                                 ` Stefan Roese
2010-10-04 21:31                                                                   ` Albert ARIBAUD
2010-10-04  7:44                                                     ` Albert ARIBAUD
2010-10-04  4:43                                               ` Peter Tyser
2010-10-04  6:08                                                 ` Wolfgang Denk
2010-10-04  7:36                                                 ` Joakim Tjernlund
2010-10-04  8:08                                                   ` Albert ARIBAUD
2010-10-04  8:28                                                     ` Joakim Tjernlund
2010-10-04  8:33                                                       ` Albert ARIBAUD
     [not found]                                                         ` <OF05779DA1.EF3C4954-ONC12577B2.00307A0D-C12577B2.0030B9C0@tran <4CAA1613.80002@comcast.net>
2010-10-04  8:52                                                         ` Joakim Tjernlund
2010-10-04  9:10                                                           ` Albert ARIBAUD
2010-10-04 10:13                                                             ` Wolfgang Denk
2010-10-04 15:28                                                               ` J. William Campbell
2010-10-04 15:52                                                                 ` Albert ARIBAUD
2010-10-04 17:06                                                                 ` Wolfgang Denk
2010-10-04 17:59                                                                   ` J. William Campbell
2010-10-04 18:43                                                                     ` Joakim Tjernlund
2010-10-04 21:10                                                                       ` Wolfgang Denk
2010-10-05  7:26                                                                         ` Joakim Tjernlund
2010-10-04 17:04                                                               ` Graeme Russ
2010-10-04 17:14                                                                 ` Wolfgang Denk
2010-10-04  8:27                                                   ` Wolfgang Denk
2010-10-02  8:49                                     ` [U-Boot] ARM relocation, probably trivial mistake - back to original problem Heiko Schocher
2010-10-01 12:49                                 ` Wolfgang Denk
2010-10-01 14:48                                   ` Reinhard Meyer
2010-10-04  7:44                                     ` [U-Boot] AT91 clock and timer cleanups (was: ARM relocation, probably trivial mistake - back to original problem) Reinhard Meyer
2010-10-04  8:32                                       ` Wolfgang Denk
2010-10-04  8:42                                         ` [U-Boot] AT91 clock and timer cleanups Reinhard Meyer
2010-10-04  8:49                                           ` Wolfgang Denk
2010-10-04  8:52                                             ` Reinhard Meyer
2010-10-04  9:03                                               ` Wolfgang Denk
2010-10-04  9:12                                                 ` Reinhard Meyer
2010-10-04 14:58                                                   ` Reinhard Meyer
2010-10-04 17:00                                                     ` Wolfgang Denk
2010-10-04 17:15                                                       ` Reinhard Meyer
2010-10-04 17:32                                                         ` Wolfgang Denk
2010-10-04 19:22                                                           ` Reinhard Meyer
2010-10-01  8:48                 ` [U-Boot] ARM relocation, probably trivial mistake - back to original problem Wolfgang Denk
2010-10-01  9:50                   ` Reinhard Meyer
2010-10-01  8:03             ` [U-Boot] ARM relocation, probably trivial mistake Wolfgang Denk
2010-10-01  7:51           ` Wolfgang Denk
2010-10-01  8:28             ` Heiko Schocher

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=4CA82C51.7030300@free.fr \
    --to=albert.aribaud@free.fr \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.