[U-Boot] OMAP3: EVM: Linker errors across tool chain versions

Dirk Behme dirk.behme at googlemail.com
Sun Dec 12 09:25:34 CET 2010


What's the status of the linker errors across tool chain versions seen 
by building the 'omap3_evm' board?

This was already discussed in the threads [1] and [2], but it seems to 
me that there was no acceptable fix, yet?

E.g. with CodeSourcery's tool chain 2009q1-203 I get

arm-none-linux-gnueabi-ld: section .bss [8003f5e0 -> 8007e33f] 
overlaps section .rel.dyn [8003f5e0 -> 80044e6f]
arm-none-linux-gnueabi-ld: section .dynsym [80044e70 -> 80044f0f] 
overlaps section .bss [8003f5e0 -> 8007e33f]
arm-none-linux-gnueabi-ld: u-boot: section .bss vma 0x8003f5e0 
overlaps previous sections

What we learned from [2] is that using [3] fixes the build (at least 
for me with the tool chain mentioned above). I.e. converting 
omap3_evm_version from u8 to int

-static u8 omap3_evm_version;
+static int omap3_evm_version;

makes the issue disappear.

But if I understood the discussion correctly, this is no acceptable 
fix and can be used only as debug help (?).

Any further hints?

Thanks

Dirk

[1]
ARMv7: Fix linker errors across toolchain versions
http://lists.denx.de/pipermail/u-boot/2010-December/082874.html

[2]
omap3evm: Clean-up EVM detection code
http://lists.denx.de/pipermail/u-boot/2010-December/082950.html

[3]
  board/ti/evm/evm.c |    4 ++--
  board/ti/evm/evm.h |    2 +-
  2 files changed, 3 insertions(+), 3 deletions(-)

Index: u-boot.git/board/ti/evm/evm.c
===================================================================
--- u-boot.git.orig/board/ti/evm/evm.c
+++ u-boot.git/board/ti/evm/evm.c
@@ -37,9 +37,9 @@
  #include <asm/mach-types.h>
  #include "evm.h"

-static u8 omap3_evm_version;
+static int omap3_evm_version;

-u8 get_omap3_evm_rev(void)
+int get_omap3_evm_rev(void)
  {
  	return omap3_evm_version;
  }
Index: u-boot.git/board/ti/evm/evm.h
===================================================================
--- u-boot.git.orig/board/ti/evm/evm.h
+++ u-boot.git/board/ti/evm/evm.h
@@ -45,7 +45,7 @@ enum {
  	OMAP3EVM_BOARD_GEN_2,		/* EVM Rev >= Rev E */
  };

-u8 get_omap3_evm_rev(void);
+int get_omap3_evm_rev(void);

  #if defined(CONFIG_CMD_NET)
  static void setup_net_chip(void);


More information about the U-Boot mailing list