This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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>

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]