Patchwork [U-Boot] cam_enc_4xx build failure

login
register
mail settings
Submitter Heiko Schocher
Date March 7, 2012, 7:10 a.m.
Message ID <4F5709D3.1070800@denx.de>
Download mbox | patch
Permalink /patch/145160/
State RFC
Delegated to: Tom Rini
Headers show

Comments

Heiko Schocher - March 7, 2012, 7:10 a.m.
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:


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

Can somebody help here?

bye,
Heiko

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