diff options
author | Eric Anholt <[email protected]> | 2014-01-23 13:12:26 -0800 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-01-27 09:36:24 -0800 |
commit | 4556c734700da2dd95d4f148d6929a537882bade (patch) | |
tree | 869f9ffc7cb84e4f69017837d91bc5f61c7df626 /src/egl | |
parent | d51dbe048afd2131eb3675e9cd868ce73325a61d (diff) |
loader: Use dlsym to get our udev symbols instead of explicit linking.
Steam links against libudev.so.0, while we're linking against
libudev.so.1. The result is that the symbol names (which are the same in
the two libraries) end up conflicting, and some of the usage of .so.1
calls the .so.0 bits, which have different internal structures, and
segfaults happen.
By using a dlopen() with RTLD_LOCAL, we can explicitly look for the
symbols we want, while they get the symbols they want.
Reviewed-by: Keith Packard <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Tested-by: Alexandre Demers <[email protected]>
Tested-by: Mike Lothian <[email protected]>
Diffstat (limited to 'src/egl')
-rw-r--r-- | src/egl/main/Makefile.am | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am index 60cb6006b50..e12aeae59b9 100644 --- a/src/egl/main/Makefile.am +++ b/src/egl/main/Makefile.am @@ -112,7 +112,7 @@ if HAVE_EGL_DRIVER_DRI2 AM_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2 AM_CFLAGS += -DHAVE_XCB_DRI2 libEGL_la_LIBADD += ../drivers/dri2/libegl_dri2.la -libEGL_la_LIBADD += $(LIBUDEV_LIBS) $(DLOPEN_LIBS) $(LIBDRM_LIBS) +libEGL_la_LIBADD += $(DLOPEN_LIBS) $(LIBDRM_LIBS) endif # Provide compatibility with scripts for the old Mesa build system for |