when is ld appending .number to end of section names?

Sam Ravnborg sam@ravnborg.org
Tue Jan 22 15:38:00 GMT 2008


On Sat, Jan 19, 2008 at 02:19:11AM -0500, Mike Frysinger wrote:
> On Friday 18 January 2008, Alan Modra wrote:
> > On Fri, Jan 18, 2008 at 10:42:28PM +0100, Sam Ravnborg wrote:
> > > The expected section name was: ".init.text".
> > > But the actual section name was ".init.text.1"
> >
> > Quoting from ld/emultemp/elf32.em
> >
> >   /* Choose a unique name for the section.  This will be needed if the
> >      same section name appears in the input file with different
> >      loadable or allocatable characteristics.  */
> >
> > Most likely someone forgot to flag .init.text with "ax" in one of the
> > input object files.  Another possiblility is that ld --unique was
> > used.
> 
> we hit the same problem in the Blackfin kernel 
> (.init.text / .init.text.1 / .init.text.2) and it was for this reason ... one 
> section incorrectly lacked "ax" flags unlike all the others
> 
> if you have scanelf installed, you can run:
> scanelf -k .init.text.1
> and usually this will find you the builtin.o file which will narrow down the 
> directory of objects, one of which needs fixing.  just look at the flags in 
> `readelf -S`.

No scanelf - but readelf -S was useful. Thanks.

	Sam



More information about the Binutils mailing list