forked from mirrors/nixpkgs
mesa: Fix dlopen patch
This commit is contained in:
parent
be48876349
commit
7fe69244af
|
@ -1,13 +1,28 @@
|
|||
diff --git a/src/loader/loader.c b/src/loader/loader.c
|
||||
index 666d015..4d7a9be 100644
|
||||
index 4fdf3c2..0cd62b5 100644
|
||||
--- a/src/loader/loader.c
|
||||
+++ b/src/loader/loader.c
|
||||
@@ -101,7 +101,7 @@ static void *
|
||||
@@ -112,7 +112,6 @@ static void *udev_handle = NULL;
|
||||
static void *
|
||||
udev_dlopen_handle(void)
|
||||
{
|
||||
if (!udev_handle) {
|
||||
- udev_handle = dlopen("libudev.so.1", RTLD_LOCAL | RTLD_LAZY);
|
||||
+ udev_handle = dlopen("@udev@/lib/libudev.so.1", RTLD_LOCAL | RTLD_LAZY);
|
||||
- char name[80];
|
||||
unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY;
|
||||
int version;
|
||||
|
||||
if (!udev_handle) {
|
||||
/* libudev.so.1 changed the return types of the two unref functions
|
||||
@@ -125,12 +124,9 @@ udev_dlopen_handle(void)
|
||||
|
||||
/* First try opening an already linked libudev, then try loading one */
|
||||
do {
|
||||
- for (version = 1; version >= 0; version--) {
|
||||
- snprintf(name, sizeof(name), "libudev.so.%d", version);
|
||||
- udev_handle = dlopen(name, flags);
|
||||
- if (udev_handle)
|
||||
- return udev_handle;
|
||||
- }
|
||||
+ udev_handle = dlopen("@udev@/lib/libudev.so", flags);
|
||||
+ if (udev_handle)
|
||||
+ return udev_handle;
|
||||
|
||||
if ((flags & RTLD_NOLOAD) == 0)
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue