Subject: Re: dl* functions on ELF platforms
To: Noriyuki Soda <soda@sra.co.jp>
From: Todd Vierling <tv@pobox.com>
List: tech-userlevel
Date: 02/29/2000 14:57:31
On Wed, 1 Mar 2000, Noriyuki Soda wrote:

: That does describe the reason why dl* symbols are included in crt0.
: But doesn't describe the reason why dl* symbol definitions cannot be 
: moved from crt0 to libc.

: As the orignal mail describes, currently libc functions cannot call
: dlopen(3) and related functions on ELF platforms.
: Please note that locale(3) implementation have to call dl*(3)
: functions (like commercial UNIXes).
: 
: What is the best way to solve this problem?

Suggestions:

1. Follow Solaris.  Put the dl* stubs in a "libdl" used only by libc.so
   (libdl would not be used by the static libc.a).

2. Make a libc.so with dl* stubs, but ensure that they are not in libc.a.

In both cases, the locale(3) implementation must have a version in libc.a
that does not require dlopen()... probably a stub.

-- 
-- Todd Vierling (tv@pobox.com)