public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: J. William Campbell <jwilliamcampbell@comcast.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] ARM relocation, question to Heiko
Date: Mon, 04 Oct 2010 08:28:20 -0700	[thread overview]
Message-ID: <4CA9F294.8080007@comcast.net> (raw)
In-Reply-To: <20101004101308.94E27153A7E@gemini.denx.de>

  On 10/4/2010 3:13 AM, Wolfgang Denk wrote:
> 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).
>
Yes, I think Wolfgang is correct. This is not going to be easy to do in 
general.  To run anywhere, the code must be true Position Independent 
code. If you intend to use any C code in the initialization, this will 
result in needing -fPIC for at least that code. I am not sure you can 
mix -fPIC and non -fPIC code in the same link, but I expect not. I am a 
bit surprised that it is possible to get even the initialization code to 
be Position Independent, but it appears that on at least some PPC it is 
possible/has been done.
         On a related topic, I did find some information on the 
-mrelocatable history. Take a look at
http://www.mail-archive.com/gcc at gcc.gnu.org/msg02528.html.
If you read both thread entries, it explains -mrelocatable as more or 
less the post-processor that re-formats the ELF relocation information 
into a smaller format and puts it in the text as another segment. What 
Albert is doing now, and Graeme did before,  is the first option, 
creating a loader that understands ELF. This has the advantage that it 
will work on all architectures. However, once this understanding is in 
place, it would be easy to write a small post-processing program that 
would reduce the size of the relocation entries, much like -mrelocatable 
does. This may or may not be necessary, but it is certainly possible.

Best Regards,
Bill Campbell
> Best regards,
>
> Wolfgang Denk
>

  reply	other threads:[~2010-10-04 15:28 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
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 [this message]
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=4CA9F294.8080007@comcast.net \
    --to=jwilliamcampbell@comcast.net \
    --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