xserver/hw
Michal Srb 7197c1c571 Look for ModuleData only in appropriate library
LoaderSymbol calls dlsym with RTLD_DEFAULT pseudo handle making it search in
every loaded library. In addition glibc adds NODELETE flag to the library
containing the symbol.

It's used in doLoadModule to locate <modulename>ModuleData symbol, the
module's library gets the flag and is kept in memory even after it is
unloaded.

This patch adds LoaderSymbolFromModule function that looks for symbol only in
library specified by handle. That way the NODELETE flag isn't added.

This glibc behavior doesn't seem to be documented, but even if other
implementations differ, there is no reason to search ModuleData symbol outside
the module's library.

Signed-off-by: Michal Srb <msrb@suse.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>

v2: Switch LoaderSymbolFromModule arguments order.
    Correct description.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 258abbf823)
2012-08-01 17:40:41 -07:00
..
dmx dmx: Annotate dmxlog.c with _X_ATTRIBUTE_PRINTF and _X_NORETURN 2012-05-10 00:50:35 -07:00
kdrive Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
vfb Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xfree86 Look for ModuleData only in appropriate library 2012-08-01 17:40:41 -07:00
xnest Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
xquartz XQuartz: Avoid a race in initialization of darwinPointer 2012-05-29 13:17:03 -07:00
xwin Introduce a consistent coding style 2012-03-27 11:50:40 -07:00
Makefile.am Catch errors in recursive relink targets 2010-03-22 00:45:57 -05:00