[U-Boot] cam_enc_4xx build failure

Heiko Schocher hs at denx.de
Wed Mar 7 08:10:11 CET 2012


Hello Marek,

added Tom Rini to cc...

Marek Vasut wrote:
> Dear Heiko Schocher,
> 
> cam_enc_4xx does not build with ELDK4.2 . Can you please come up with a patch?
> 
> Thanks in advance!
> 
> Copyright (C) 2007 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> Configuring for cam_enc_4xx board...
> cam_enc_4xx.c: In function 'menu_handle':
> cam_enc_4xx.c:609: warning: dereferencing type-punned pointer will break strict-
> aliasing rules
> arm-linux-ld: u-boot-spl: Not enough room for program headers, try linking with 
> -N
> arm-linux-ld: final link failed: Bad value

If I try a SPL_TEXT_BASE = 0x00000000 or SPL_TEXT_BASE = 0x00000080
it compiles fine with ELDK-4.2, but I need SPL_TEXT_BASE = 0x00000020
as the RBL copies code from nand to 0x00000020 ...

I can fix this with this patch:

diff --git a/board/ait/cam_enc_4xx/config.mk b/board/ait/cam_enc_4xx/config.mk
index b1f9b6c..744b927 100644
--- a/board/ait/cam_enc_4xx/config.mk
+++ b/board/ait/cam_enc_4xx/config.mk
@@ -12,4 +12,11 @@ PAD_TO       := 12320
 UBL_CONFIG = $(SRCTREE)/board/$(BOARDDIR)/ublimage.cfg
 ifndef CONFIG_SPL_BUILD
 ALL-y += $(obj)u-boot.ubl
+else
+# as SPL_TEXT_BASE is not page-aligned, we need for some
+# linkers the -n flag (Do not page align data), to prevent
+# the following error message:
+# arm-linux-ld: u-boot-spl: Not enough room for program headers, try linking
+# with -N
+LDFLAGS_u-boot-spl += -n
 endif

I must admit, that I do not really understand, whats the real problem
is.

Can somebody help here?

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list