* Re: ld, ld.so and -symbolic
[not found] <199506170044.RAA29582@www.willows.com>
@ 1995-06-17 13:09 ` H.J. Lu
1995-06-18 3:40 ` Paul Kranenburg
1995-06-18 10:16 ` Roland McGrath
0 siblings, 2 replies; 4+ messages in thread
From: H.J. Lu @ 1995-06-17 13:09 UTC (permalink / raw)
To: Rob Farnum; +Cc: Ken Raeburn, gas2, Ian Lance Taylor, Eric Youngdale
>
> This may not be the right place to ask, but before I go off talking to the
> gnu people, I thought I'd start here specifically as this is an elf issue.
>
> The question has to do with the -symbolic option that gcc man pages say is
> a linker option, but ld does not seem to support. My understanding on sun
> solaris is that the -Bsymbolic option allows me to have two, or more, shared
> objects that can have there own global variables, that won't conflict with
> other variables of the same name. The question I have is, is this supported,
> can it be supported, when, how, how much?
>
I would like to see that is supported in ld. How hard
is it? I don't think that should be very hard. Am I
wrong?
--
H.J. Lu
NYNEX Science and Technology, Inc. hjl@nynexst.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ld, ld.so and -symbolic
1995-06-17 13:09 ` ld, ld.so and -symbolic H.J. Lu
@ 1995-06-18 3:40 ` Paul Kranenburg
1995-06-18 8:14 ` H.J. Lu
1995-06-18 10:16 ` Roland McGrath
1 sibling, 1 reply; 4+ messages in thread
From: Paul Kranenburg @ 1995-06-18 3:40 UTC (permalink / raw)
To: gas2
> > The question has to do with the -symbolic option that gcc man pages say is
> > a linker option, but ld does not seem to support. My understanding on sun
> > solaris is that the -Bsymbolic option allows me to have two, or more, shared
> > objects that can have there own global variables, that won't conflict with
> > other variables of the same name. The question I have is, is this supported,
> > can it be supported, when, how, how much?
You'd have to make sure that 1) all symbols get resolved, i.e. no
references to undefined remain in the shared object, and 2) all
remaining relocation records are of the type "relative to load address".
The latter is a hard requirement if you have to bootstrap a la "ld.so".
You'll need to have a library handy from which you can pull in all
required PIC modules, e.g. say "libc_pic.a" (in stead of "libc.so.x.y").
-pk
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ld, ld.so and -symbolic
1995-06-18 3:40 ` Paul Kranenburg
@ 1995-06-18 8:14 ` H.J. Lu
0 siblings, 0 replies; 4+ messages in thread
From: H.J. Lu @ 1995-06-18 8:14 UTC (permalink / raw)
To: Paul Kranenburg; +Cc: gas2
>
> > > The question has to do with the -symbolic option that gcc man pages say is
> > > a linker option, but ld does not seem to support. My understanding on sun
> > > solaris is that the -Bsymbolic option allows me to have two, or more, shared
> > > objects that can have there own global variables, that won't conflict with
> > > other variables of the same name. The question I have is, is this supported,
> > > can it be supported, when, how, how much?
>
> You'd have to make sure that 1) all symbols get resolved, i.e. no
> references to undefined remain in the shared object, and 2) all
> remaining relocation records are of the type "relative to load address".
> The latter is a hard requirement if you have to bootstrap a la "ld.so".
>
> You'll need to have a library handy from which you can pull in all
> required PIC modules, e.g. say "libc_pic.a" (in stead of "libc.so.x.y").
>
Are we talking about the same thing? BTW, you don't have to use
-Bsymbolic when you build ld.so.
--
H.J. Lu
NYNEX Science and Technology, Inc. hjl@nynexst.com
-----
-B symbolic In dynamic mode only, when building a shared
object, bind references to global symbols to
their definitions within the object, if defini-
tions are available. Normally, references to
global symbols within shared objects are not
bound until runtime, even if definitions are
available, so that definitions of the same sym-
bol in an executable or other shared objects can
override the object's own definition. ld will
issue warnings for undefined symbols unless -z
defs overrides.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: ld, ld.so and -symbolic
1995-06-17 13:09 ` ld, ld.so and -symbolic H.J. Lu
1995-06-18 3:40 ` Paul Kranenburg
@ 1995-06-18 10:16 ` Roland McGrath
1 sibling, 0 replies; 4+ messages in thread
From: Roland McGrath @ 1995-06-18 10:16 UTC (permalink / raw)
To: hjl; +Cc: robf, raeburn, gas2, ian, eric
In ELF there is a simple feature that if a DT_SYMBOLIC element appears in a
shared object's dynamic section, then when resolving references within that
shared object, the dynamic linker will give that object's own definitions
first precedence, followed by the executable and other loaded shared
objects (the normal order being the executable followed by all loaded
shared objects). I believe GNU ld already has a -symbolic switch that
creates the DT_SYMBOLIC element when building a shared object (though I
could be mistaken).
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1995-06-18 10:16 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <199506170044.RAA29582@www.willows.com>
1995-06-17 13:09 ` ld, ld.so and -symbolic H.J. Lu
1995-06-18 3:40 ` Paul Kranenburg
1995-06-18 8:14 ` H.J. Lu
1995-06-18 10:16 ` Roland McGrath
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).