u-boot-brain/board/freescale
Trent Piepho f62fb99941 Fix all linker script to handle all rodata sections
A recent gcc added a new unaligned rodata section called '.rodata.str1.1',
which needs to be added the the linker script.  Instead of just adding this
one section, we use a wildcard ".rodata*" to get all rodata linker section
gcc has now and might add in the future.

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

This patch has not be tested one most of the boards modified.  Some boards
have a linker script that looks something like this:

*(.text)
. = ALIGN(16);
*(.rodata)
*(.rodata.str1.4)
*(.eh_frame)

I change this to:

*(.text)
. = ALIGN(16);
*(.eh_frame)
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

This means the start of rodata will no longer be 16 bytes aligned.
However, the boundary between text and rodata/eh_frame is still aligned to
16 bytes, which is what I think the real purpose of the ALIGN call is.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2009-03-20 22:39:12 +01:00
..
common fsl: Remove unnecessary debug printfs 2009-03-09 17:46:10 -05:00
m547xevb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m548xevb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5235evb
m5249evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5253demo Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5253evbe Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5271evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5272c3 Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5275evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5282evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5329evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m5373evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m52277evb
m53017evb Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
m54451evb
m54455evb
mpc832xemds
mpc837xemds
mpc837xerdb
mpc7448hpc2 Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8260ads
mpc8266ads
mpc8313erdb
mpc8315erdb
mpc8323erdb
mpc8349emds
mpc8349itx
mpc8360emds
mpc8360erdk
mpc8536ds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8540ads Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8541cds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8544ds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8548cds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8555cds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8560ads Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8568mds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8572ds Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8610hpcd Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mpc8641hpcn Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00
mx31ads Fix all linker script to handle all rodata sections 2009-03-20 22:39:12 +01:00