[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