This is the mail archive of the 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]
Other format: [Raw text]

DLOPEN and Statically linked executable

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
   - 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
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Mr. Peter Zaitsev <>
 / /|_/ / // /\ \/ /_/ / /__   MySQL AB, Full-Time Developer
/_/  /_/\_, /___/\___\_\___/   Moscow, Russia
       <___/   M: +7 095 725 4955

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