[uClibc] uClibc 9.20 dlopen() "weak symbols?"

David Wuertele dave-gnus at bfnet.com
Thu Jul 31 00:33:54 UTC 2003


I have a problem using uClibc 9.20 which I suspect is a result of the
behavior mentioned in the release notes:

  "Applications that use dlopen() to load libraries that themselves
   depend on other libraries, may have weak symbols within those
   depended-upon libraries resolved incorrectly. This problem is
   currently being worked on.  Other than that, everything seems to
   now be working as expected...."

Has any progress been made on this?  Are there workarounds (for
example, by reverting to uClibc 9.19 or older)?

FWIW, I have a c++ app that uses dlopen() to load a library that
itself depends on a second library.  When a global constructor in the
first library is called, it calls a function in the second library.
When that second library's function tries to use a global variable
(also defined in that second library), the process segfaults.

When I make a test program that links to the second library directly
at compile time using "-lsecondlib", and I call the function that uses
the global variable, it does not segfault.

Thanks,
Dave




More information about the uClibc mailing list