From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Wed, 30 Sep 2015 21:35:05 +0200 Subject: [U-Boot] Relocation issue - need help! In-Reply-To: References: <20141022123929.5FD0B3834D1@gemini.denx.de> <20141023131039.59826380415@gemini.denx.de> Message-ID: <201509302135.05357.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 wrote: > > Dear Joakim, dear Dirk, > > > > In message 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! Best regards, Marek Vasut