[U-Boot] [PATCH] arm: Handle .gnu.hash section in ldscripts

Andreas Färber
2014-01-27T18:46:03Z

Hello,

Am 27.01.2014 15:24, schrieb Wolfgang Denk:
> In message <1390798091-24747-1-git-send-email-afaerber@suse.de> you wrote:
>> Avoids "could not find output section .gnu.hash" ld.bfd errors on openSUSE.
>>
>> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
>> Cc: Tom Rini <trini@ti.com>
>> Signed-off-by: Andreas F?rber <afaerber@suse.de>
>> ---
>> More changes like this may be needed, but these I compile-tested with
>> v2014.01 (regression from v2013.10). colibri_t20_iris was runtime-tested.
>> GCC 4.8.2 r206511, binutils 2.24
>>
>> arch/arm/cpu/u-boot.lds | 1 +
>> board/ti/am335x/u-boot.lds | 1 +
>> 2 files changed, 2 insertions(+)
>
> Is this an ARM specific issue, or other architectures affected as
> well?

I figured out that the section was apparently not caught by the .gnu*
wildcard and this patch fixed our build for the following ARM configs:

am335x_evm
arndale
colibri_t20_iris
cubieboard
highbank
hyundai_a7hd
mele_a1000
mx53loco
omap3_beagle
omap4_panda
paz00
rpi_b

My guess was that this could be related to the arm-only commit:
http://git.denx.de/?p=u-boot.git;a=commit;h=47ed5dd031d7d2c587e6afd386e79ccec1a1b7f7
(which touches on a few more .lds files than mine)

But I see nothing ARM-specific in .gnu.hash sections, so other
architectures might in theory be affected as well.
Cf. http://sourceware.org/ml/binutils/2006-10/msg00377.html

I did read your post for ELDK pointing someone to an FAQ entry on not
using gcc-specific flags with ld, but for one I did not spot such a
thing in the ld command line, and for another our toolchain did not
change and v2013.10 builds succeed whereas v2014.01 builds failed
without the patch. I could try to git-bisect the offending change if
necessary.

Best regards,

Andreas

--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg