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 10:59:47 -0700	[thread overview]
Message-ID: <4CAA1613.80002@comcast.net> (raw)
In-Reply-To: <20101004170614.6CFAA1539A0@gemini.denx.de>

  On 10/4/2010 10:06 AM, Wolfgang Denk wrote:
> Dear "J. William Campbell",
>
> In message<4CA9F294.8080007@comcast.net>  you wrote:
>> 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.
> Not really. On PowerPC, only the first 20 or 30 lines of assembler
> code in start.S are position independent; then we compute the link
> (resp. execution) address and branch to it. From then, we run from the
> very address range we were linked for (starting at TEXT_BASE).
Hi Wolfgang,
      You are of course correct. I was referring more to Jocke's 
(joakim.tjernlund at transmode.se) statements regarding:

Yes, that is there today. I am talking about linking to any TEXT_BASE(say 0)
but burn and run into another address. I impl. this quite some time
ago for PPC(search for LINK_OFF)

         I understand from his comment that he had achieved total PIC for the initialization, that would run at any location regardless
of TEXT_BASE. I think this code was not accepted into mainline, so it is not a problem at present. However, any relocation code
added would have to be modified by Jocke if he wished to preserve that capability. I am amazed that he was able to get the
rest of u-boot to work under the constraints you pointed out. It must have been quite tedious.

       I also wish to support Graeme's desire that the added relocation code at the end of the day be written in C. The routine to do the
relocation does not require .bss and is not real long. The obvious advantage of this approach is that all architectures can use it. The
ELF relocation codes will have to be changed to the architecture equivalents, and in some casesarchitecture specific relocation code
processing added, but the theory will always be the same. This approach will make using relocation much easier/trivial for new
architecture  ports, thereby reducing resistance to doing it!

Best Regards,
Bill Campbell


>> 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.
> Eventually we might even add -mrelocatable support for the other
> architectures to the tool chain.
>
> Best regards,
>
> Wolfgang Denk
>

  reply	other threads:[~2010-10-04 17:59 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
2010-10-04 15:52                                                                 ` Albert ARIBAUD
2010-10-04 17:06                                                                 ` Wolfgang Denk
2010-10-04 17:59                                                                   ` J. William Campbell [this message]
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=4CAA1613.80002@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