[U-Boot] [PATCH] Fix all linker script to handle all rodata sections

Wolfgang Denk
2009-08-10T08:35:08Z

Dear Trent Piepho,

In message <1234999325-13456-1-git-send-email-tpiepho@freescale.com> you wrote:
>
> 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.
...
> I change this to:
>
> *(.text)
> . = ALIGN(16);
> *(.eh_frame)
> *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

Unfortunately it turns out that this breaks some older tool chains.
For example, using ELDK 3.1 (binutils 2.14-5) we get:

arm-linux-ld:/home/wd/git/u-boot/work/cpu/s3c44b0/u-boot.lds:39: parse error

It seems this old version of ld does not understand the

*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

line yet.

Do you see any want to make this backward compatible with older
versions of ld?

Thanks in advance.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Men will always be men -- no matter where they are.
-- Harry Mudd, "Mudd's Women", stardate 1329.8