This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Trivial patch for elf.sc in ld.
> Date: 28 Sep 1999 23:58:48 -0400
> From: Ian Lance Taylor <ian@zembu.com>
> CC: rth@cygnus.com, binutils@sourceware.cygnus.com
>
> Date: Wed, 29 Sep 1999 13:48:05 +1000
> From: Geoff Keating <geoffk@ozemail.com.au>
>
> 1999-09-29 Geoffrey Keating <geoffk@cygnus.com>
>
> * scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs.
> (.rela.sdata): Likewise.
> (.rel.sbss): Likewise.
> (.rela.sbss): Likewise.
> (.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when
> ld -r.
> (.sbss): Do the same things as for .bss.
>
> Your patch introduces some things you didn't mention in the ChangeLog
> entry: SDATA_START_SYMBOLS and .dynsbss. I don't know why you need
> either of them. .dynsbss in particular sounds odd; does anything
> create that section?
It's created by at least the powerpc linker (which doesn't use this
ldscript), and I expect it needs to be created by every ELF target
with shared libraries and .sdata.
It's needed when you have
extern int foo;
/* do something with foo */
in an application and 'foo' is in a shared library and an 'extern int'
would usually be in the sdata section; you'd normally put such a
symbol in .dynbss.
SDATA_START_SYMBOLS is just there for consistency.
--
Geoffrey Keating <geoffk@cygnus.com>