|
From: | Guilhem Lavaux |
Subject: | Re: libltdl on openbsd |
Date: | Sun, 20 Mar 2005 21:40:52 +0100 |
User-agent: | Mozilla Thunderbird 1.0 (X11/20041206) |
Ralf Wildenhues wrote:
Hi Guilhem,
Hi Ralf,
Hmm... three months for an answer is something but sometimes I also leave messages behind for quite a long time. :)Sorry for this very late response, I have simply overlooked your message earlier.
* Guilhem Lavaux wrote on Thu, Dec 30, 2004 at 04:55:08PM CET:I was trying to fix some bugs in kaffe while I've noticed that "bug". If you link a program statically to the libc you are not able to call dlopen anymore because the linker uses the stubs in the libc which invariably returns "Wrong dl symbols!". I don't know whether _we_ should handle it particularly or libltdl should be aware of that and not register the sys_dl implementation.That's bad, and libltdl should take care of it IMHO. Now the point is: how do we find out we deal with the static lib here? I don't want to add a runtime test to `configure', since that won't work for cross-compilation. How do we know we linked against the _static_ version?
Whenever you link statically the libc on openbsd you will get that problem.
It happens on openbsd 3.5.Which other systems do the same thing? All OpenBSD versions? Do they intend to change this? How about the other BSDs?
I guess they won't change this anytime soon looking at their cvs repository. The problem is there from the beginning. As they rely on their ld.so to load and link dynamic libraries statically linked programs cannot use the real dl symbols. So my opinion is we are an openbsd system and we link statically we must disable the use of dl symbols.
I don't know yet about other BSDs but I can have a look at their cvs. Regards, Guilhem.
[Prev in Thread] | Current Thread | [Next in Thread] |