This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: NEW PATCH: Handle undefined symbol in DSO from DT_NEEDED
On Thu, May 10, 2001 at 10:52:43AM +0200, Mark Kettenis wrote:
> > > >
> > > > DSOs compiled against glibc 2.0 may have unversioned references to
> > > > atexit. I won't blame people for compiling DSOs against glibc 2.0.
> > >
>
> But using these DSOs in a development environment that uses glibc 2.1
> or above is asking for trouble. We shouldn't encourage people to do
> that.
I guess you haven't talked to or heard from many ISVs. They want to
provide a Linux binary which works on all glibc based systems. Guess
which glibc they are using for compiling. I had to tell them if the
new glibc breaks executables and DSOs compiled against glibc 2.0, just
let me know. I will fix it. I also told them .o files compiled against
glibc 2.0 might not be compatible with the new glibc.
>
> >
> > Here is a new patch for ld. For undefined symbol in a DSO, the dynamic
> > linker binds it to a hidden definition if and only if there is only
> > one hidden definition. This patch will make ld to do the same, but
> > only for DSO from DT_NEEDED. Otherwise, it is a real error.
> >
> > If there is no objecttion, I will check it in by Friday.
>
> I strongly object to your patch. The static linker shouldn't look at
> DT_NEEDED at all. That it does right now seems convenient to the
We have been through this before. We didn't agree then. I don't think
we will agree on this now.
> user, but it isn't. It makes it possible to create binaries that
> don't contain the right dependencies without the user noticing it.
I believe I have addressed this issue before. Unless you can provide
me a testcase, I don't believe it is true now.
H.J.