The flag was required to promote internal symbols into the global name space. That was required since a few of the libraries were under-linked.
The last one being Mesa's libGL and dri drivers.
In there, older versions of Mesa were missing the libglapi symbols, which were resolved via RTLD_GLOBAL hack(s).
That hasn't no been an issue for over 5 years, so drop these workarounds.
Signed-off-by: Emil Velikov emil.l.velikov@gmail.com --- I would wager that other in-tree RTLD_GLOBAL users are similar in nature. Yet I lack the specific knowledge - hence I've left them as-is. --- dlls/winex11.drv/opengl.c | 2 +- dlls/winex11.drv/x11drv_main.c | 6 +++--- dlls/winex11.drv/xrandr.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c index 791787cfd3a..6741daa42fb 100644 --- a/dlls/winex11.drv/opengl.c +++ b/dlls/winex11.drv/opengl.c @@ -551,7 +551,7 @@ static BOOL WINAPI init_opengl( INIT_ONCE *once, void *param, void **context )
/* No need to load any other libraries as according to the ABI, libGL should be self-sufficient and include all dependencies */ - opengl_handle = dlopen( SONAME_LIBGL, RTLD_NOW | RTLD_GLOBAL ); + opengl_handle = dlopen( SONAME_LIBGL, RTLD_NOW ); if (opengl_handle == NULL) { ERR( "Failed to load libGL: %s\n", dlerror() ); diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c index e8b273d055e..b8b557e3546 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -474,7 +474,7 @@ static int xcomp_error_base;
static void X11DRV_XComposite_Init(void) { - void *xcomposite_handle = dlopen(SONAME_LIBXCOMPOSITE, RTLD_NOW); + void *xcomposite_handle = dlopen(SONAME_LIBXCOMPOSITE, RTLD_NOW ); if (!xcomposite_handle) { TRACE("Unable to open %s, XComposite disabled\n", SONAME_LIBXCOMPOSITE); @@ -573,7 +573,7 @@ static void init_visuals( Display *display, int screen ) static BOOL process_attach(void) { Display *display; - void *libx11 = dlopen( SONAME_LIBX11, RTLD_NOW|RTLD_GLOBAL ); + void *libx11 = dlopen( SONAME_LIBX11, RTLD_NOW );
if (!libx11) { @@ -583,7 +583,7 @@ static BOOL process_attach(void) pXGetEventData = dlsym( libx11, "XGetEventData" ); pXFreeEventData = dlsym( libx11, "XFreeEventData" ); #ifdef SONAME_LIBXEXT - dlopen( SONAME_LIBXEXT, RTLD_NOW|RTLD_GLOBAL ); + dlopen( SONAME_LIBXEXT, RTLD_NOW ); #endif
setup_options(); diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c index 8faece9023a..3c9ef27ff5f 100644 --- a/dlls/winex11.drv/xrandr.c +++ b/dlls/winex11.drv/xrandr.c @@ -88,7 +88,7 @@ static int load_xrandr(void) { int r = 0;
- if (dlopen(SONAME_LIBXRENDER, RTLD_NOW|RTLD_GLOBAL) && + if (dlopen(SONAME_LIBXRENDER, RTLD_NOW) && (xrandr_handle = dlopen(SONAME_LIBXRANDR, RTLD_NOW))) {