From: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] Changing u-boot relocation scheme
Date: Sat, 26 Jul 2008 17:54:54 +0200 [thread overview]
Message-ID: <20080726175454.17a14a97@siona.local> (raw)
In-Reply-To: <1217019069.7972.58.camel@duo>
On Fri, 25 Jul 2008 22:51:09 +0200
kenneth johansson <kenneth@southpole.se> wrote:
> > Hmm...looks like linking with -pie (or --pic-executable) does
> > something vaguely resembling the trick. But I don't know what vintage
> > of ld you need for this to be available and actually work...
>
> Can't see any reason for using this flag over -fPIC for a program like
> u-boot.
You need both. One is a compiler flag, the other is a linker flag. The
linker will probably barf if you try to create a PIC executable from
modules that were not compiled with -fPIC.
On the other hand, using -fPIC but not -pie takes us about 95% of the
way to a fully relocatable u-boot, and is what PowerPC, AVR32 and
others are doing today. The remaining cases -- static and global
initialized pointers -- are fixed up manually.
If we link with -pie and add a bit of code to handle the dynamic
relocations, we could get rid of the manual fixups. I don't know if the
result would be larger or smaller than what we have today, but it would
probably be a bit more robust.
> > Does this really work without any relocation? Or is it being relocated
> > and I'm just too blind to see it?
>
> No you are right there is probably many places like this. the code just
> use the old location and that works most of the time.
Ah, of course. The strings are probably read directly from flash.
Haavard
next prev parent reply other threads:[~2008-07-26 15:54 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-23 17:39 [U-Boot-Users] Changing u-boot relocation scheme vb
2008-07-23 21:46 ` Jerry Van Baren
2008-07-23 22:46 ` vb
2008-07-24 3:18 ` Wolfgang Denk
2008-07-24 6:45 ` vb
2008-07-24 9:58 ` Haavard Skinnemoen
2008-07-24 13:47 ` vb
2008-07-24 12:23 ` Jerry Van Baren
2008-07-24 12:47 ` Kenneth Johansson
2008-07-24 13:50 ` vb
2008-07-24 13:01 ` Wolfgang Denk
2008-07-24 13:17 ` Kenneth Johansson
2008-07-24 16:57 ` Haavard Skinnemoen
2008-07-24 17:12 ` Kenneth Johansson
2008-07-25 9:16 ` Haavard Skinnemoen
2008-07-24 17:37 ` vb
2008-07-24 18:09 ` Kenneth Johansson
2008-07-24 18:26 ` vb
2008-07-24 18:32 ` Joakim Tjernlund
2008-07-24 18:41 ` Kenneth Johansson
2008-07-25 4:28 ` Wolfgang Denk
2008-07-26 5:48 ` Grant Likely
2008-07-26 7:53 ` kenneth johansson
2008-07-26 12:48 ` Grant Likely
2008-07-25 4:28 ` Wolfgang Denk
2008-07-25 9:10 ` Haavard Skinnemoen
2008-07-25 11:55 ` kenneth johansson
2008-07-25 12:19 ` Haavard Skinnemoen
2008-07-25 13:30 ` Joakim Tjernlund
2008-07-26 5:36 ` Wolfgang Denk
2008-07-25 14:33 ` kenneth johansson
2008-07-25 14:51 ` vb
2008-07-25 15:21 ` Jerry Van Baren
2008-07-25 18:50 ` Haavard Skinnemoen
2008-07-25 19:03 ` Jerry Van Baren
2008-07-26 5:36 ` Wolfgang Denk
2008-07-26 16:09 ` Haavard Skinnemoen
2008-07-26 6:06 ` Grant Likely
2008-07-26 6:11 ` Grant Likely
2008-07-26 12:49 ` Wolfgang Denk
2008-07-26 5:36 ` Wolfgang Denk
2008-07-26 5:51 ` vb
2008-07-25 15:23 ` Haavard Skinnemoen
2008-07-25 16:31 ` kenneth johansson
2008-07-25 17:02 ` Jerry Van Baren
2008-07-25 17:28 ` kenneth johansson
2008-07-25 18:35 ` Haavard Skinnemoen
2008-07-25 19:57 ` J. William Campbell
2008-07-25 20:51 ` kenneth johansson
2008-07-26 15:54 ` Haavard Skinnemoen [this message]
2008-07-26 21:29 ` J. William Campbell
2008-07-26 21:58 ` Haavard Skinnemoen
2008-07-27 0:15 ` J. William Campbell
2008-07-26 5:36 ` Wolfgang Denk
2008-07-26 7:41 ` kenneth johansson
2008-07-26 12:49 ` Wolfgang Denk
2008-07-26 5:57 ` Grant Likely
2008-07-26 14:03 ` Jean-Christophe PLAGNIOL-VILLARD
2008-07-26 14:29 ` Joakim Tjernlund
2008-07-25 16:48 ` J. William Campbell
2008-07-25 4:28 ` Wolfgang Denk
2008-07-24 13:45 ` Jon Loeliger
2008-07-24 13:52 ` vb
2008-07-26 5:43 ` Grant Likely
2008-07-26 5:54 ` vb
2008-07-26 6:20 ` Grant Likely
2008-07-24 3:18 ` Wolfgang Denk
2008-07-24 6:20 ` Robert Schwebel
2008-09-15 14:56 ` [U-Boot] " vb
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=20080726175454.17a14a97@siona.local \
--to=haavard.skinnemoen@atmel.com \
--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