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 <[EMAIL PROTECTED]>
---
 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

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to