[U-Boot] [PATCH 3/4] Improve mpc85xx link script rodata section

Trent Piepho tpiepho at freescale.com
Tue Oct 14 01:39:10 CEST 2008


A recent gcc added a new unaligned rodata section called '.rodata.str1.1'
and that needs to be added the the linker script.

Rather than just add that one section, instead use '*(.rodata*)' to catch
that section and any future rodata sections.

'*(.rodata*)' by itself will result in sub-optimal section ordering.  The
section will be sorted by object file, which causes extra padding between
the unaligned rodata.str.1.1 of one object file and the aligned rotdata of
the next object file.  This is easy to fix by using the SORT_BY_ALIGNMENT
command.

Signed-off-by: Trent Piepho <tpiepho at freescale.com>
---
 cpu/mpc85xx/u-boot.lds |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/cpu/mpc85xx/u-boot.lds b/cpu/mpc85xx/u-boot.lds
index 404606a..f7aedc0 100644
--- a/cpu/mpc85xx/u-boot.lds
+++ b/cpu/mpc85xx/u-boot.lds
@@ -84,10 +84,8 @@ SECTIONS
   PROVIDE (etext = .);
   .rodata    :
   {
-    *(.rodata)
-    *(.rodata1)
-    *(.rodata.str1.4)
     *(.eh_frame)
+    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
   } :text
   .fini      : { *(.fini)    } =0
   .ctors     : { *(.ctors)   }
-- 
1.5.4.1



More information about the U-Boot mailing list