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 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.

Thanks.


H.J.


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