Mesa (master): egl_xlib: Pass RTLD_LAZY to dlopen.

Zack Rusin zack at kemper.freedesktop.org
Fri May 1 09:51:04 PDT 2009


Module: Mesa
Branch: master
Commit: 293f576db7cf3f411c2eeb0a72232d25b631dcd1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=293f576db7cf3f411c2eeb0a72232d25b631dcd1

Author: José Fonseca <jfonseca at vmware.com>
Date:   Tue Mar 24 19:18:06 2009 +0000

egl_xlib: Pass RTLD_LAZY to dlopen.

dlopen manpage mandates that either RTLD_LAZY or RTLD_NOW flags must be
passed. Not doing so was causing a NULL return on debian unstable x86-64.

---

 src/gallium/winsys/egl_xlib/egl_xlib.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/gallium/winsys/egl_xlib/egl_xlib.c b/src/gallium/winsys/egl_xlib/egl_xlib.c
index b52f427..c10e3c0 100644
--- a/src/gallium/winsys/egl_xlib/egl_xlib.c
+++ b/src/gallium/winsys/egl_xlib/egl_xlib.c
@@ -588,7 +588,9 @@ find_supported_apis(void)
    EGLint mask = 0;
    void *handle;
 
-   handle = dlopen(NULL, 0);
+   handle = dlopen(NULL, RTLD_LAZY | RTLD_LOCAL);
+   if(!handle)
+      return mask;
 
    if (dlsym(handle, "st_api_OpenGL_ES1"))
       mask |= EGL_OPENGL_ES_BIT;



More information about the mesa-commit mailing list