summaryrefslogtreecommitdiff
path: root/board/actux1
diff options
context:
space:
mode:
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>2013-02-25 00:58:59 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2013-03-12 23:28:32 +0100
commit3ebd1cbc49f0005092d69cf0d9a6e64d7a1c300b (patch)
tree1e6af46b49ed9fa2e364fa414052f76cb4030d57 /board/actux1
parent65cdd6430ed026484bfb9dc67fcc587b85212eb4 (diff)
arm: make __bss_start and __bss_end__ compiler-generated
Turn __bss_start and __bss_end__ from linker-generated to compiler-generated symbols, causing relocations for these symbols to change type, from R_ARM_ABS32 to R_ARM_RELATIVE. This should have no functional impact, as it affects references to __bss_start and __bss_end__ only before relocation, and no such references are done. Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Diffstat (limited to 'board/actux1')
-rw-r--r--board/actux1/u-boot.lds22
1 files changed, 15 insertions, 7 deletions
diff --git a/board/actux1/u-boot.lds b/board/actux1/u-boot.lds
index c41eed0e6f..572bcea5d0 100644
--- a/board/actux1/u-boot.lds
+++ b/board/actux1/u-boot.lds
@@ -41,15 +41,15 @@ SECTIONS
*(.text*)
}
- . = ALIGN (4);
+ . = ALIGN(4);
.rodata : {
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
}
- . = ALIGN (4);
+ . = ALIGN(4);
.data : {
*(.data*)
}
- . = ALIGN (4);
+ . = ALIGN(4);
.got : {
*(.got)
}
@@ -72,13 +72,21 @@ SECTIONS
*(.dynsym)
}
- .bss __rel_dyn_start (OVERLAY) : {
- __bss_start = .;
+ _end = .;
+
+ .bss_start __rel_dyn_start (OVERLAY) : {
+ KEEP(*(.__bss_start));
+ }
+
+ .bss __bss_start (OVERLAY) : {
*(.bss*)
. = ALIGN(4);
- _end = .;
+ ___bssend___ = .;
}
- __bss_end__ =.;
+ .bss_end ___bssend___ (OVERLAY) : {
+ KEEP(*(.__bss_end__));
+ }
+
/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
/DISCARD/ : { *(.plt*) }