cam_enc_4xx build failure
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
make[1]: *** [/opt/work/jenkins/jobs/U- Boot/workspace/workspace/compiler/eldk4.2/device/arm___cam_enc_4xx/spl/u-boot- spl] Error 1
make: *** [spl/u-boot-spl.bin] Error 2
make: *** Waiting for unfinished jobs....cmd_pxe.c: In function 'do_pxe_get':
cmd_pxe.c:334: warning: dereferencing type-punned pointer will break strict- aliasing rulescmd_pxe.c: In function 'get_relfile_envaddr':
cmd_pxe.c:374: warning: dereferencing type-punned pointer will break strict- aliasing rules
arm-linux-size: './u-boot': No such file
--------------------- SUMMARY ---------------------------- Boards compiled: 1
Boards with warnings or errors: 1 ( cam_enc_4xx )
----------------------------------------------------------
Best regards,
Marek Vasut
Hello Marek,
Quoted 3 lines · Marek Vasut
Dear Heiko Schocher,
cam_enc_4xxdoes not build with ELDK4.2 . Can you please come up with a patch?
Hups, tested only with ELDK-5.1 compile/works fine!
Quoted 10 lines
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_4xxboard...cam_enc_4xx.c: In function 'menu_handle':
cam_enc_4xx.c:609: warning: dereferencing type-punned pointer will break strict- aliasing rules
fixed
Quoted 2 lines
arm-linux-ld: u-boot-spl: Not enough room for program headers, try linking with -N
Hmm.. I need here this patch (for ELDK-4.2 only):
config.mk +1 -1
@@ -254,7 +254,7 @@ ifneq ($(CONFIG_SYS_TEXT_BASE),) LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE) endif -LDFLAGS_u-boot-spl += -T $(obj)u-boot-spl.lds $(LDFLAGS_FINAL) +LDFLAGS_u-boot-spl += -N -T $(obj)u-boot-spl.lds $(LDFLAGS_FINAL) ifneq ($(CONFIG_SPL_TEXT_BASE),) LDFLAGS_u-boot-spl += -Ttext $(CONFIG_SPL_TEXT_BASE) endif
compiles/works with ELDK-4.2 compiles/works with ELDK-5.1 ...
a) better ideas for a fix?
b) If patch is OK, should I send for this issue in a seperate patch?
Quoted 5 lines
arm-linux-ld: final link failed: Bad value
make[1]: *** [/opt/work/jenkins/jobs/U-Boot/workspace/workspace/compiler/eldk4.2/device/arm___cam_enc_4xx/spl/u-boot- spl] Error 1
make: *** [spl/u-boot-spl.bin] Error 2
Quoted 8 lines
make: *** Waiting for unfinished jobs....
cmd_pxe.c: In function 'do_pxe_get':
cmd_pxe.c:334: warning: dereferencing type-punned pointer will break strict- aliasing rulescmd_pxe.c: In function 'get_relfile_envaddr':
cmd_pxe.c:374: warning: dereferencing type-punned pointer will break strict- aliasing rules
arm-linux-size: './u-boot': No such file
added Jason Hobbs <[email protected]> to Cc.
Jason? Could you fix this?
Removed cmd_pxe support for the cam_enc_4xx board, as it is not needed.
Thanks!
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
On Mon, Mar 05, 2012 at 03:39:39AM -0500, Heiko Schocher wrote:
...
Quoted 14 lines
Quoted 5 lines
arm-linux-ld: final link failed: Bad value
make[1]: *** [/opt/work/jenkins/jobs/U-Boot/workspace/workspace/compiler/eldk4.2/device/arm___cam_enc_4xx/spl/u-boot- spl] Error 1
make: *** [spl/u-boot-spl.bin] Error 2Quoted 8 lines
make: *** Waiting for unfinished jobs....
cmd_pxe.c: In function 'do_pxe_get':
cmd_pxe.c:334: warning: dereferencing type-punned pointer will break strict- aliasing rulescmd_pxe.c: In function 'get_relfile_envaddr':
cmd_pxe.c:374: warning: dereferencing type-punned pointer will break strict- aliasing rules
arm-linux-size: './u-boot': No such file
Quoted 3 lines
added Jason Hobbs <[email protected]> to Cc.
Jason? Could you fix this?
Yes - I'll send a patch in shortly.
Thanks,
Jason
Dear Jason Hobbs,
Quoted 18 lines · Heiko Schocher
...
Quoted 14 lines
Quoted 13 lines
arm-linux-ld: final link failed: Bad value
make[1]: *** [/opt/work/jenkins/jobs/U-Boot/workspace/workspace/compiler/eldk4.2/device/arm___cam_enc_4xx/spl/ u-boot- spl] Error 1
make: *** [spl/u-boot-spl.bin] Error 2
make: *** Waiting for unfinished jobs....cmd_pxe.c: In function 'do_pxe_get':
cmd_pxe.c:334: warning: dereferencing type-punned pointer will break strict- aliasing rulescmd_pxe.c: In function 'get_relfile_envaddr':
cmd_pxe.c:374: warning: dereferencing type-punned pointer will break strict- aliasing rules
arm-linux-size: './u-boot': No such file
Quoted 8 lines
Quoted 3 lines
added Jason Hobbs <[email protected]> to Cc.
Jason? Could you fix this?
Yes - I'll send a patch in shortly.
Thanks,
Jason
Thank you very much!
Best regards,
Marek Vasut
Dear Heiko,
Quoted 3 lines · In message <[email protected]> you wrote:
Quoted 3 lines
arm-linux-ld: u-boot-spl: Not enough room for program headers, try linking with -N
...
Quoted 1 line
Hmm.. I need here this patch (for ELDK-4.2 only):
...
Quoted 10 lines
config.mk +1
-1-LDFLAGS_u-boot-spl += -T $(obj)u-boot-spl.lds $(LDFLAGS_FINAL) +LDFLAGS_u-boot-spl += -N -T $(obj)u-boot-spl.lds $(LDFLAGS_FINAL) ifneq ($(CONFIG_SPL_TEXT_BASE),) LDFLAGS_u-boot-spl += -Ttext $(CONFIG_SPL_TEXT_BASE) endifcompiles/works with ELDK-4.2 compiles/works with ELDK-5.1 ...
a) better ideas for a fix?
b) If patch is OK, should I send for this issue in a seperate patch?
Hm... checking the documentation what -N does:
`-N'
`--omagic'
Set the text and data sections to be readable and writable. Also, do not page-align the data segment, and disable linking against shared libraries. If the output format supports Unix style magic numbers, mark the output as `OMAGIC'. Note: Although a writable text section is allowed for PE-COFF targets, it does not conform to the format specification published by Microsoft.
Attributes like "readable and writable" don't play a role here, and we are not using any shared libraries either.
So it must be the "do not page-align the data segment" part - which indocated that you should adjust your image size assumptions and/or your linker script.
Best regards,
Wolfgang Denk
Signature · 5 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de It would seem that evil retreats when forcibly confronted -- Yarnek of Excalbia, "The Savage Curtain", stardate 5906.5
Hello Marek,
added Tom Rini to cc...
Quoted 10 lines · Marek Vasut
Dear Heiko Schocher,
cam_enc_4xxdoes 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.
Quoted 7 lines
Configuring for
cam_enc_4xxboard...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:
board/ait/cam_enc_4xx/config.mk +7 -0
@@ -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
Signature · 2 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany