diff options
| author | Simon Glass <[email protected]> | 2013-02-28 19:26:14 +0000 |
|---|---|---|
| committer | Simon Glass <[email protected]> | 2013-03-04 15:57:40 -0800 |
| commit | f82d15ead1badc329c4c804f0405e32289f46dd8 (patch) | |
| tree | f35c1a6d423924420d37ed2023de66348180a069 | |
| parent | 4b491b8ddeaaf6cf6a47d7102188c9a9c6b1b3d8 (diff) | |
x86: Rearrange the output input to remove BSS
At present BSS data is including in the image, which wastes binary space.
Remove it by rearranging the sections so that BSS is last.
Signed-off-by: Simon Glass <[email protected]>
| -rw-r--r-- | arch/x86/cpu/u-boot.lds | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds index 8e185f3b22d..54f2fb76f7b 100644 --- a/arch/x86/cpu/u-boot.lds +++ b/arch/x86/cpu/u-boot.lds @@ -46,9 +46,6 @@ SECTIONS .data : { *(.data*) } . = ALIGN(4); - .dynsym : { *(.dynsym*) } - - . = ALIGN(4); .hash : { *(.hash*) } . = ALIGN(4); @@ -58,10 +55,7 @@ SECTIONS __data_end = .; . = ALIGN(4); - __bss_start = ABSOLUTE(.); - .bss (NOLOAD) : { *(.bss) } - . = ALIGN(4); - __bss_end = ABSOLUTE(.); + .dynsym : { *(.dynsym*) } . = ALIGN(4); __rel_dyn_start = .; @@ -70,6 +64,17 @@ SECTIONS . = ALIGN(4); _end = .; + . = ALIGN(4); + + __end = .; + .bss __rel_dyn_start (OVERLAY) : { + __bss_start = .; + *(.bss) + *(COM*) + . = ALIGN(4); + __bss_end = .; + } + /DISCARD/ : { *(.dynstr*) } /DISCARD/ : { *(.dynamic*) } /DISCARD/ : { *(.plt*) } |
