This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


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

Re: Why is a __strtol_internal defined in dlfcn/eval.c?


On Fri, Sep 07, 2001 at 10:06:56AM -0700, H . J . Lu wrote:
> On Fri, Sep 07, 2001 at 09:58:48AM -0700, Ulrich Drepper wrote:
> > "H . J . Lu" <hjl@lucon.org> writes:
> > 
> > > The linker honors the strong definition from a DSO, but preserves the
> > > weak binding. Can someone check what Solaris does?
> > 
> > Solaris does just what you expect: it creates a weak definition.
> > Nothing is undefined.
> 
> Can you find out what the Solaris linker does for a weak definition,
> foo, in foo1.o when
> 
> 1. There is a strong definition in another relocatable file, foo2.o,
> before it.
> 
> # gcc -shared -o libfoo.so foo1.o foo2.o
> 
> 2. There is a strong definition in another relocatable file, foo2,o,
> after it.
> 
> # gcc -shared -o libfoo.so foo2.o foo1.o
> 
> 3. There is a strong definition in a DSO, libfoo2.so, before it.
> 
> # gcc -shared -o libfoo.so foo1.o libfoo2.so
> 
> 4. There is a strong definition in a DSO, libfoo2.so, after it.
> 
> # gcc -shared -o libfoo.so libfoo2.so foo1.o
> 
> I'd like to see
> 
> # objdump --dynamic-sym libfoo.so | grep foo
> 
> in each case.
> 

One more thing, when foo is verioned in libfoo2.so, what happens to
foo in libfoo.so? If foo in libfoo.so is weak, defined and unversioned,
will it be a potential problem since ld.so will match it to the base
version in libfoo2.so?


H.J.


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