diff mbox

[U-Boot,V5,2/2] tx25: fix linker file for newer ld support

Message ID 1289853964-6525-2-git-send-email-albert.aribaud@free.fr
State Accepted
Delegated to: Wolfgang Denk
Headers show

Commit Message

Albert ARIBAUD Nov. 15, 2010, 8:46 p.m. UTC
older ld emitted all ELF relocations in input sections named
.rel.dyn, whereas newer ld uses names of the form .rel*. The
linker script only collected .rel.dyn input sections. Rewrite
to collect all .rel* input sections.

Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
---
 nand_spl/board/karo/tx25/u-boot.lds |   40 ++++++++++++++++------------------
 1 files changed, 19 insertions(+), 21 deletions(-)

Comments

Wolfgang Denk Nov. 17, 2010, 7:46 p.m. UTC | #1
Dear Albert Aribaud,

In message <1289853964-6525-2-git-send-email-albert.aribaud@free.fr> you wrote:
> older ld emitted all ELF relocations in input sections named
> .rel.dyn, whereas newer ld uses names of the form .rel*. The
> linker script only collected .rel.dyn input sections. Rewrite
> to collect all .rel* input sections.
> 
> Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
> ---
>  nand_spl/board/karo/tx25/u-boot.lds |   40 ++++++++++++++++------------------
>  1 files changed, 19 insertions(+), 21 deletions(-)

Applied to u-boot-arm, thanks.

Best regards,

Wolfgang Denk
diff mbox

Patch

diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds
index 5f95c87..ff289fb 100644
--- a/nand_spl/board/karo/tx25/u-boot.lds
+++ b/nand_spl/board/karo/tx25/u-boot.lds
@@ -43,35 +43,33 @@  SECTIONS
 	. = ALIGN(4);
 	.data : {
 		*(.data)
-	__datarel_start = .;
-		*(.data.rel)
-	__datarelrolocal_start = .;
-		*(.data.rel.ro.local)
-	__datarellocal_start = .;
-		*(.data.rel.local)
-	__datarelro_start = .;
-		*(.data.rel.ro)
 	}
 
 	. = ALIGN(4);
-	__rel_dyn_start = .;
-	__rel_dyn_end = .;
-	__dynsym_start = .;
-
-	__got_start = .;
-	. = ALIGN(4);
-	.got : { *(.got) }
-
-	__got_end = .;
-	. = .;
 	__u_boot_cmd_start = .;
 	.u_boot_cmd : { *(.u_boot_cmd) }
 	__u_boot_cmd_end = .;
 
 	. = ALIGN(4);
-	__bss_start = .;
-	.bss : { *(.bss) }
-	_end = .;
+
+	.rel.dyn : {
+		__rel_dyn_start = .;
+		*(.rel*)
+		__rel_dyn_end = .;
+	}
+
+	.dynsym : {
+		__dynsym_start = .;
+		*(.dynsym)
+	}
+
+	.bss __rel_dyn_start (OVERLAY) : {
+		__bss_start = .;
+		*(.bss)
+		 . = ALIGN(4);
+		_end = .;
+	}
+
 	/DISCARD/ : { *(.bss*) }
 	/DISCARD/ : { *(.dynstr*) }
 	/DISCARD/ : { *(.dynsym*) }