Mesa (gallium-mesa-7.4): egl_xlib: Pass RTLD_LAZY to dlopen.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Tue Mar 24 19:18:13 UTC 2009


Module: Mesa
Branch: gallium-mesa-7.4
Commit: 6edc7a3d31d1aabc92f380a305fa6a0be9931495
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6edc7a3d31d1aabc92f380a305fa6a0be9931495

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 82aa60a..872106d 100644
--- a/src/gallium/winsys/egl_xlib/egl_xlib.c
+++ b/src/gallium/winsys/egl_xlib/egl_xlib.c
@@ -585,7 +585,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