3
0
Fork 0
forked from mirrors/nixpkgs

mesa: tweak the patch after 7fe69244af

In particular, do not try dlopening libudev by a non-absolute path.
/cc @wkennington.
This commit is contained in:
Vladimír Čunát 2015-07-18 11:57:32 +02:00
parent 6437b2108d
commit dcea851434

View file

@ -1,28 +1,22 @@
diff --git a/src/loader/loader.c b/src/loader/loader.c diff --git a/loader.c b/loader.c
index 4fdf3c2..0cd62b5 100644 index 4fdf3c2..69ea22d 100644
--- a/src/loader/loader.c --- a/src/loader/loader.c
+++ b/src/loader/loader.c +++ b/src/loader/loader.c
@@ -112,7 +112,6 @@ static void *udev_handle = NULL; @@ -112,7 +112,7 @@ static void *udev_handle = NULL;
static void * static void *
udev_dlopen_handle(void) udev_dlopen_handle(void)
{ {
- char name[80]; - char name[80];
+ char name[256];
unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY; unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY;
int version; int version;
@@ -125,12 +124,9 @@ udev_dlopen_handle(void) @@ -126,7 +126,7 @@ udev_dlopen_handle(void)
/* First try opening an already linked libudev, then try loading one */ /* First try opening an already linked libudev, then try loading one */
do { do {
- for (version = 1; version >= 0; version--) { for (version = 1; version >= 0; version--) {
- snprintf(name, sizeof(name), "libudev.so.%d", version); - snprintf(name, sizeof(name), "libudev.so.%d", version);
- udev_handle = dlopen(name, flags); + snprintf(name, sizeof(name), "@udev@/lib/libudev.so.%d", version);
- if (udev_handle) udev_handle = dlopen(name, flags);
- return udev_handle; 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;