Message ID | 1288808663-15074-1-git-send-email-albert.aribaud@free.fr |
---|---|
State | Superseded |
Headers | show |
I've just tested that patch using my small test-patch: ----------------------------------------------------------- Marvell>> g 0x700000 ## Starting application at 0x00700000 ... U-Boot 2010.12-rc1-00037-g0ab2006 (Nov 04 2010 - 11:14:24) Seagate-DockStar SoC: Kirkwood 88F6281_A0 DRAM: 128 MiB (relocated) BSS is from 07fa8f60 to 07fef040 &monitor_flash_len: 00752f60 WARNING: relocation failed (&monitor_flash_len is outside reloctated BSS)! ----------------------------------------------------------- Regards, Alexander
diff --git a/arch/arm/cpu/arm926ejs/u-boot.lds b/arch/arm/cpu/arm926ejs/u-boot.lds index 72f45f8..4ae7b47 100644 --- a/arch/arm/cpu/arm926ejs/u-boot.lds +++ b/arch/arm/cpu/arm926ejs/u-boot.lds @@ -45,24 +45,29 @@ 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) } __u_boot_cmd_end = .; . = ALIGN(4); - __bss_start = .; - .bss (NOLOAD) : { *(.bss) . = ALIGN(4); } - _end = .; + .bss (NOLOAD) : { + __bss_start = .; + *(.bss) + . = ALIGN(4); + _end = .; + } + + .rel.dyn __bss_start (OVERLAY) : { + __rel_dyn_start = .; + *(.rel*) + __rel_dyn_end = .; + } + + .dynsym : { + __dynsym_start = .; + *(.dynsym) + } /DISCARD/ : { *(.dynstr*) } /DISCARD/ : { *(.dynamic*) }
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> --- V1 Initial submission V2 arm926ejs: added ALIGN between bss and .rel.dyn sections tx25: removed GOT and datarel output sections tx25: fixed typo in config file commit message V3 arm926ejs: overlaied .bss and .rel.dyn sections tx25: overlaied .bss and .rel.dyn sections arch/arm/cpu/arm926ejs/u-boot.lds | 29 +++++++++++++++++------------ 1 files changed, 17 insertions(+), 12 deletions(-)