Subject: Re: kern/21844: netwinder kernal cannot be linked because link_set_* sections overlap with .data
To: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
From: Ian Lance Taylor <ian@airs.com>
List: tech-toolchain
Date: 06/11/2003 21:23:33
"Valeriy E. Ushakov" <uwe@ptc.spbu.ru> writes:
> On Tue, Jun 10, 2003 at 19:38:56 -0700, Jason Thorpe wrote:
>
> > >The problem is that the kernel ld script for netwinder does not list
> > >link_set_* sections, so they are transfered to the ld output as-is
> > >after the .text section, however the kernel ld script explicitely
> > >places .data section after the .text section with:
> >
> > I have certainly not seen this problem, and I know I've built/booted
> > netwinder kernels recently. The linker should actually be sorting
> > the link_set_ sections along with the .rodata section.
>
> Should it? My readind of ld(1) docs is that the "orphaned" sections
> are transferred from input to output as-is.
I don't know what ``as-is'' would mean in this case. Anyhow, if the
GNU linker docs imply that, they are wrong. The GNU linker for ELF
sorts orphaned sections by guessing where it thinks they should go
based on their characteristics.
If the docs are really misleading, I encourage you to send a bug
report to binutils@sources.redhat.com, or just to me.
Ian