xserver-multidpi/hw/xfree86
Michal Srb 258abbf823 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>
2012-07-04 21:26:24 +10:00
..
common Merge branch 'sigio-vt-switch-issues' into for-keith 2012-07-04 21:23:48 +10:00
ddc api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
dixmods xfree86: Add ifdef wrapper to xvmodproc.h 2012-05-14 13:29:20 +01:00
doc api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
dri Add pixman to module dependencies for pixman_region_* functions 2012-07-02 11:08:57 -07:00
dri2 Add pixman to module dependencies for pixman_region_* functions 2012-07-02 11:08:57 -07:00
exa api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
fbdevhw Make stub version of fbdevHWAdjustFrame match new prototype in fbdevhw.h 2012-06-11 18:29:16 -07:00
i2c Build tda9885.c functions into fi1236 to avoid libtool relinking problems 2012-07-02 11:08:37 -07:00
int10 xserver: fix build on arm tinderbox 2012-06-14 11:09:30 -07:00
loader Look for ModuleData only in appropriate library 2012-07-04 21:26:24 +10:00
man loader: add Cygwin support 2012-04-05 21:57:04 -05:00
modes dix/render: consolidate window format matching code. 2012-06-28 10:43:35 -07:00
os-support Merge branch 'sigio-vt-switch-issues' into for-keith 2012-07-04 21:23:48 +10:00
parser Remove obsolete tab stop comments from hw/xfree86/parser/*.c 2012-06-20 21:41:52 -07:00
ramdac api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
shadowfb api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
utils cvt man page should use Hz, not kHz, for vertical refresh rate 2012-05-18 15:00:47 -07:00
vbe api: rework the X server driver API to avoid global arrays. 2012-06-05 13:22:18 +01:00
vgahw xf86: reimplement XF86SCRNINFO macro using new functions. 2012-05-21 12:59:20 +01:00
x86emu Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
xaa Add pixman to module dependencies for pixman_region_* functions 2012-07-02 11:08:57 -07:00
.gitignore xfree86: Move sdksyms generation to ddx toplevel 2011-06-23 05:28:31 -07:00
Makefile.am Enable no-undefined symbols mode in Solaris builds if -z parent is in ld 2012-07-02 11:09:02 -07:00
sdksyms.sh xres: Fix build without composite 2012-04-23 20:16:53 -07:00
xorgconf.cpp xfree86: use sed rather than cpp to perform string substitutions 2011-01-18 15:11:14 -08:00