[U-Boot] [PATCH 1/3] arm926ejs: fix linker file for newer ld support

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. Fit it to collect all .rel* input sections.
Signed-off-by: Albert Aribaud albert.aribaud@free.fr --- arch/arm/cpu/arm926ejs/u-boot.lds | 18 +++++++++--------- 1 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds index 72f45f8..4e42543 100644 --- a/arch/arm/cpu/arm926ejs/u-boot.lds +++ b/arch/arm/cpu/arm926ejs/u-boot.lds @@ -45,15 +45,6 @@ SECTIONS
. = ALIGN(4);
- __rel_dyn_start = .; - .rel.dyn : { *(.rel.dyn) } - __rel_dyn_end = .; - - __dynsym_start = .; - .dynsym : { *(.dynsym) } - - . = ALIGN(4); - . = .; __u_boot_cmd_start = .; .u_boot_cmd : { *(.u_boot_cmd) } @@ -64,6 +55,15 @@ SECTIONS .bss (NOLOAD) : { *(.bss) . = ALIGN(4); } _end = .;
+ __rel_dyn_start = .; + .rel.dyn : { *(.rel*) } + __rel_dyn_end = .; + + __dynsym_start = .; + .dynsym : { *(.dynsym) } + + . = ALIGN(4); + /DISCARD/ : { *(.dynstr*) } /DISCARD/ : { *(.dynamic*) } /DISCARD/ : { *(.plt*) }

From: Wolfgang Denk wd@denx.de
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. Fit it to collect all .rel* input sections.
Signed-off-by: Albert Aribaud albert.aribaud@free.fr --- nand_spl/board/karo/tx25/u-boot.lds | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index 5f95c87..f3cb8dd 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -54,10 +54,6 @@ SECTIONS }
. = ALIGN(4); - __rel_dyn_start = .; - __rel_dyn_end = .; - __dynsym_start = .; - __got_start = .; . = ALIGN(4); .got : { *(.got) } @@ -72,6 +68,15 @@ SECTIONS __bss_start = .; .bss : { *(.bss) } _end = .; + + . = ALIGN(4); + __rel_dyn_start = .; + .rel.dyn : { *(.rel*) } + __rel_dyn_end = .; + + __dynsym_start = .; + .dynsym : { *(.dynsym) } + /DISCARD/ : { *(.bss*) } /DISCARD/ : { *(.dynstr*) } /DISCARD/ : { *(.dynsym*) }

Dear Albert Aribaud,
In message 1288642623-10783-2-git-send-email-albert.aribaud@free.fr you wrote:
From: Wolfgang Denk wd@denx.de
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. Fit it to collect all .rel* input sections.
Signed-off-by: Albert Aribaud albert.aribaud@free.fr
nand_spl/board/karo/tx25/u-boot.lds | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/nand_spl/board/karo/tx25/u-boot.lds b/nand_spl/board/karo/tx25/u-boot.lds index 5f95c87..f3cb8dd 100644 --- a/nand_spl/board/karo/tx25/u-boot.lds +++ b/nand_spl/board/karo/tx25/u-boot.lds @@ -54,10 +54,6 @@ SECTIONS }
. = ALIGN(4);
- __rel_dyn_start = .;
- __rel_dyn_end = .;
- __dynsym_start = .;
- __got_start = .; . = ALIGN(4); .got : { *(.got) }
Do we still need this GOT entry?
Best regards,
Wolfgang Denk

Le 01/11/2010 23:11, Wolfgang Denk a écrit :
__got_start = .; . = ALIGN(4); .got : { *(.got) }
Do we still need this GOT entry?
Indeed no, and we do not need the datarel entries either. I'm reposting a V2 patch set with these plus minor fixes to the arm926ejs linker file too.
Best regards,
Wolfgang Denk
Amicalement,

Hello Albert,
Albert ARIBAUD wrote:
Le 01/11/2010 23:11, Wolfgang Denk a écrit :
__got_start = .; . = ALIGN(4); .got : { *(.got) }
Do we still need this GOT entry?
Indeed no, and we do not need the datarel entries either. I'm reposting a V2 patch set with these plus minor fixes to the arm926ejs linker file too.
Acked, thanks.
thought this was long time ago gone ...
bye, Heiko

U-boot binary size increase made u-boot-spl copy only part of u-boot deom NAND to RAM, missing part of the relocation data. Increase u-boot NAND size to match current build size, plus a bit of slack.
Signed-off-by: Albert Aribaud albert.aribaud@free.fr --- include/configs/tx25.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/include/configs/tx25.h b/include/configs/tx25.h index 8f8a1a3..6dcaf4c 100644 --- a/include/configs/tx25.h +++ b/include/configs/tx25.h @@ -39,7 +39,7 @@ #ifdef CONFIG_NAND_SPL /* Start copying real U-boot from the second page */ #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x800 -#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x30000 +#define CONFIG_SYS_NAND_U_BOOT_SIZE 0x31000
#define CONFIG_SYS_NAND_U_BOOT_DST (0x81200000) #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST
participants (4)
-
Albert ARIBAUD
-
Albert Aribaud
-
Heiko Schocher
-
Wolfgang Denk