[U-Boot] [PATCH] ARMv7: Fix linker errors across toolchain versions

Sanjeev Premi premi at ti.com
Wed Dec 1 16:17:14 CET 2010


This patch fixes the linker problems noticed while
building the omap3_evm with Codesourcery toolchains
2009q1, 2009q3 and 2010q1.

The compilation was tested as success for both
omap3_evm and omap3_beagle with toolchain versions
2009q1 and 2010q1.

 [1] http://marc.info/?l=u-boot&m=129104332808386&w=2

Signed-off-by: Sanjeev Premi <premi at ti.com>
---
The patch touches all ARMv7 architectures, will need
to be reviewed thoroughly.

I am getting hang of relocation feature, but definitely
hands-on. Impact would have to be reviewd as well.
This is the reason for sending the patch early - before
i start testing on the evm.

 arch/arm/cpu/armv7/u-boot.lds |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/arch/arm/cpu/armv7/u-boot.lds b/arch/arm/cpu/armv7/u-boot.lds
index 5725c30..faf6ad8 100644
--- a/arch/arm/cpu/armv7/u-boot.lds
+++ b/arch/arm/cpu/armv7/u-boot.lds
@@ -55,22 +55,26 @@ SECTIONS
 
 	. = ALIGN(4);
 
-	.rel.dyn : {
-		__rel_dyn_start = .;
-		*(.rel*)
-		__rel_dyn_end = .;
-	}
-
 	.dynsym : {
 		__dynsym_start = .;
 		*(.dynsym)
 	}
 
-	.bss __rel_dyn_start (OVERLAY) : {
-		__bss_start = .;
-		*(.bss)
-		 . = ALIGN(4);
-		_end = .;
+	OVERLAY : NOCROSSREFS
+	{
+		.rel.dyn {
+			__rel_dyn_start = .;
+			*(.rel*)
+			__rel_dyn_end = .;
+		}
+
+		.bss
+		{
+			__bss_start = .;
+			*(.bss)
+			 . = ALIGN(4);
+			_end = .;
+		}
 	}
 
 	/DISCARD/ : { *(.dynstr*) }
-- 
1.7.2.2



More information about the U-Boot mailing list