From: Alexander Holler <holler@ahsoftware.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] arm: wrong Relocation and not cleared BSS
Date: Sat, 30 Oct 2010 15:08:55 +0200 [thread overview]
Message-ID: <4CCC18E7.8080708@ahsoftware.de> (raw)
Hello,
to give the topic a better meaning and to summarize what I think is
currently happening along with some "pictures" for a better understanding:
We are starting with code (c) and data (d) somewhere in the memory:
----------
|cd |
----------
The relocation in start.S should achieve this:
----------
| cd|
----------
That means code and data should be moved upwards. What
currently is happening is the following:
----------
| d c |
----------
The code is moved upwards, but that code still uses the data at d.
This results another problem: Some parts in the code are assuming that d
is cleared (set to zero in start.S). But what start.S does it to clear
the new location (z in the picture below).
----------
| d cz|
----------
Because the code (c) still uses the data (bss) in d and not in z, some
hard to find errors might occur because the used data isn't set to zero
as required.
I have almost no knowledge about how gcc and the binutils are handling
relocation, therfore I can't help much further here. What I think is
part of the problem, is that -fPIC was removed. Using -pie in LDFLAGS
might be used to get relocatable code, but the data will not be
relocated. And I would wonder if that is possible without instructing
the compiler to build stuff for relocation (-fPIC).
I hope that brings some light into the problem.
Regards,
Alexander
next reply other threads:[~2010-10-30 13:08 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-30 13:08 Alexander Holler [this message]
2010-10-30 13:36 ` [U-Boot] arm: wrong Relocation and not cleared BSS Albert ARIBAUD
2010-10-30 13:45 ` Alexander Holler
2010-10-30 13:57 ` Albert ARIBAUD
2010-10-30 14:07 ` Alexander Holler
2010-10-30 14:39 ` Wolfgang Denk
2010-10-30 16:01 ` Albert ARIBAUD
2010-10-30 16:10 ` Wolfgang Denk
2010-10-30 14:37 ` Wolfgang Denk
2010-10-30 14:36 ` Wolfgang Denk
2010-10-31 10:59 ` Alexander Holler
2010-10-31 11:58 ` Wolfgang Denk
2010-10-31 12:21 ` Albert ARIBAUD
2010-10-31 16:18 ` Alexander Holler
2010-10-30 15:00 ` Wolfgang Denk
2010-10-30 17:21 ` Albert ARIBAUD
2010-10-30 18:01 ` Wolfgang Denk
2010-10-31 7:44 ` Heiko Schocher
2010-10-30 15:15 ` Darius Augulis
2010-10-30 16:44 ` Albert ARIBAUD
2010-10-30 20:03 ` Alexander Holler
2010-10-30 20:51 ` Alexander Holler
2010-10-31 7:47 ` Heiko Schocher
2010-11-02 5:39 ` V, Aneesh
2010-11-02 5:58 ` V, Aneesh
2010-11-02 6:32 ` Albert ARIBAUD
2010-11-02 7:18 ` V, Aneesh
2010-11-02 7:37 ` [U-Boot] Bad page state in process 'swapper' sywang
2010-11-02 7:44 ` Albert ARIBAUD
2010-11-02 8:13 ` sywang
2010-11-02 8:44 ` Wolfgang Denk
2010-11-02 8:40 ` Wolfgang Denk
2010-11-03 2:29 ` sywang
2010-11-02 7:41 ` [U-Boot] arm: wrong Relocation and not cleared BSS Albert ARIBAUD
2010-11-02 8:53 ` V, Aneesh
2010-11-02 9:04 ` Albert ARIBAUD
2010-10-31 7:43 ` 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=4CCC18E7.8080708@ahsoftware.de \
--to=holler@ahsoftware.de \
--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.