This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
DLOPEN and Statically linked executable
- From: Peter Zaitsev <peter at mysql dot com>
- To: libc-alpha at sources dot redhat dot com
- Date: Thu, 20 Jun 2002 17:49:17 +0400
- Subject: DLOPEN and Statically linked executable
- Organization: MySQL AB
- Reply-to: Peter Zaitsev <peter at mysql dot com>
Hello libc-alpha,
Forgive me in advance if I am using wrong mailing list for the
question, I just was unable to find better one.
At MySQL we use patched version of GLIBC for MySQL binary
distribution and so have to compile it statically. This patched
version of GLIBC is must to handle high load, it uses smaller thread
stack size instead of default 2M and has different mutex handling,
so less context switches will happen in case of MySQL and will give
better performance.
MySQL has a good possibility of adding UDF (User Defined functions)
which are presented as dynamically loaded shared libraries, and
there is good set of such contributions already exist.
Unfortunately currently just a few people may benefit both from user
extensions support and improved performance - the one who will
install patched GLIBC to the system and will link dynamically
against it.
The problem is - UDF does not work then MySQL is compiled
statically. dlopen() itself works but it does not allow access to
global symbols of running binary which are required for the
functions to work.
So I'm wondering if there is good solution for this problem.
Personally I see the following options:
- make dlopen to work correctly with static applications ? Is this
possible
- special compilation way. May be it is possible to link statically
everything but some minor library to make the thing solved
- ship special glibc and following libraries in MySQL distribution
and link to them explicitly ?
Any ideas ?
P.S Please CC answers to me as I'm not permanent list subscriber.
--
For technical support contracts, visit https://order.mysql.com/?ref=mpza
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Mr. Peter Zaitsev <peter@mysql.com>
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, Full-Time Developer
/_/ /_/\_, /___/\___\_\___/ Moscow, Russia
<___/ www.mysql.com M: +7 095 725 4955