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

Trent Piepho
2009-08-17T19:20:27Z

On Sun, 16 Aug 2009, Wolfgang Denk wrote:
> > ...
> > > 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?

I don't have an ld old enough to not like that line so I'm not sure
what the problem is exactly.

There wouldn't be any significant downside to changing it to:

*(SORT_BY_ALIGNMENT(.rodata*))

If that would work with your ld. Using *(.rodata*) will result in extra
padding and a larger data segment. It may not be all that much extra
though...