From: Joakim Tjernlund <joakim.tjernlund@transmode.se>
To: u-boot@lists.denx.de
Subject: [U-Boot] Relocation issue - need help!
Date: Tue, 6 Oct 2015 11:17:29 +0000 [thread overview]
Message-ID: <1444130249.12196.59.camel@transmode.se> (raw)
In-Reply-To: <1443689843.13747.43.camel@transmode.se>
On Thu, 2015-10-01 at 08:57 +0000, Joakim Tjernlund wrote:
> On Wed, 2015-09-30 at 21:35 +0200, Marek Vasut wrote:
> > On Wednesday, September 30, 2015 at 08:24:10 PM, Andy Fleming wrote:
> >
> > Hi!
> >
> > > On Thu, Oct 23, 2014 at 8:10 AM, Wolfgang Denk <wd@denx.de> wrote:
> > > > Dear Joakim, dear Dirk,
> > > >
> > > > In message <OF14C3D470.864842B6-ONC1257D7A.002471AC-
> > C1257D7A.0024DEC4 at transmode.se> you wrote:
> > > > > Ouch, that was a nasty surprise.
> > > >
> > > > Indeed.
> > > >
> > > > > > In my original mail I referenced this potential solution, at least it
> > > > > > worked for me:
> > > > > > https://gcc.gnu.org/ml/gcc-help/2014-02/msg00054.html
> > > > >
> > > > > That looks like the correct fix but I presume both .data.rel.ro and
> > > > > data.rel.ro.local should be added?
> > > >
> > > > I can confirm:
> > > >
> > > > 1) The problem was observed with gcc 4.8.1 [as in Yocto 1.5.x / ELDK
> > > >
> > > > 5.5.x].
> > > >
> > > > 2) Switching back to gcc 4.7.2 [as in Yocto 1.4 / ELDK 5.4] makes the
> > > >
> > > > problem go away.
> > > >
> > > > 3) Switching forward to gcc 4.9.1 [as in Yocto 1.7 / ELDK 5.7] makes
> > > >
> > > > the problem go away.
> > > >
> > > > 4) For the problemativ 4.8.x versions of GCC, the following patch
> > > >
> > > > apparently solves the problem for my (MPC5200 based) board - guess
> > > > this would have to be applied to all .lds files...
> > > >
> > > > diff --git a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
> > > > b/arch/powerpc/cpu/mpc5xxx/u-boot.lds index cd9e23f..82c86d7 100644
> > > > --- a/arch/powerpc/cpu/mpc5xxx/u-boot.lds
> > > > +++ b/arch/powerpc/cpu/mpc5xxx/u-boot.lds
> > > > @@ -27,6 +27,8 @@ SECTIONS
> > > >
> > > > {
> > > >
> > > > _GOT2_TABLE_ = .;
> > > > KEEP(*(.got2))
> > > >
> > > > + KEEP(*(.data.rel.ro))
> > > > + KEEP(*(.data.rel.ro.local))
> > > >
> > > > KEEP(*(.got))
> > > > PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
> > > > _FIXUP_TABLE_ = .;
> > > >
> > > > Given that GCC 4.9.1 apparently solves this issue I wonder which
> > > > approach we should take?
> > > >
> > > > Should we blacklist GCC 4.8.x (and 4.9.0) like the kernel folks are
> > > > doing [1] ?
> > > >
> > > > [1] https://lkml.org/lkml/2014/10/10/272
> > >
> > > Was there a resolution to this thread? I just spent a bunch of time
> > > trying to figure out why u-boot was crashing, and eventually
> > > determined that switching from 4.9.0 to 4.6.3 solved the problem.
> > > Should I submit a patch to do what was suggested above? Or add the
> > > "blacklist" patch? If so, it should be noted that 4.9.0 is the current
> > > default installed when you ask buildman to install a powerpc cross
> > > compiler...
> >
> > Blacklist patch please, thank you!
>
> Yes, but all gcc 4.8.x versions?
>
> There is a fix here
> https://gcc.gnu.org/ml/gcc-patches/2014-04/msg01679.html
> but I don't know if it got committed or not or which version.
>
> I am using gcc 4.8.4 and it works but I have one problem, if I erase uboot
> after relocation, u-boot misbehavex or crashes so there is something off still.
>
> Does it work for all but me to erase u-boot after relocation?
> Using T1040(mpc85xx family)
Here is a better URL:
http://patchwork.ozlabs.org/patch/342888/
From what I can tell the above bug has been fixed in gcc 4.8.5(4.8.4 has the error)
and 4.9.3 (by looking at varasm.c).
Adding KEEP(*(.data.rel.ro.local)) i u-boot.lds does not seem to be the
correct fix as it is not an .fixup entry?
Jocke
next prev parent reply other threads:[~2015-10-06 11:17 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-22 12:39 [U-Boot] Relocation issue - need help! Wolfgang Denk
2014-10-22 13:29 ` Dirk Eibach
2014-10-22 16:56 ` Wolfgang Denk
2014-10-22 17:26 ` Fabio Estevam
2014-10-22 17:28 ` Tom Rini
2014-10-22 17:39 ` Wolfgang Denk
2014-10-22 21:27 ` Pavel Machek
2014-10-22 21:46 ` Marek Vasut
2014-10-22 21:57 ` Pavel Machek
2014-10-22 22:06 ` Marek Vasut
2014-10-23 6:01 ` Dirk Eibach
2014-10-23 6:42 ` Joakim Tjernlund
2014-10-23 13:10 ` Wolfgang Denk
2014-10-23 13:42 ` Dirk Eibach
2014-10-24 14:14 ` Bill Pringlemeir
2015-09-30 18:24 ` Andy Fleming
2015-09-30 19:35 ` Marek Vasut
2015-10-01 8:57 ` Joakim Tjernlund
2015-10-06 11:17 ` Joakim Tjernlund [this message]
2015-10-15 15:56 ` Joakim Tjernlund
2015-10-15 21:58 ` Tom Rini
2015-10-16 6:55 ` Joakim Tjernlund
2015-10-16 11:47 ` Tom Rini
2015-10-16 13:14 ` Joakim Tjernlund
2015-10-20 21:06 ` Andy Fleming
2015-10-20 21:21 ` Tom Rini
2015-10-21 8:44 ` Joakim Tjernlund
2015-10-21 13:12 ` Tom Rini
2015-10-21 13:18 ` Joakim Tjernlund
2015-10-01 14:18 ` Wolfgang Denk
2015-10-02 22:51 ` Andy Fleming
2015-10-03 8:33 ` Wolfgang Denk
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=1444130249.12196.59.camel@transmode.se \
--to=joakim.tjernlund@transmode.se \
--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.