From 9a610c5ab9c1cefc097e533720d4134c6bc62652 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Mon, 29 Jul 2024 12:25:16 -0400 Subject: [PATCH] loader: Use RTLD_LOCAL not RTLD_GLOBAL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The gallium driver does not expose any symbols that anybody else wants to see. But if we load it with RTLD_GLOBAL that's what happens, along with all the symbols in the libraries it depends on. Reviewed-by: Marek Olšák Part-of: --- src/loader/loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/loader/loader.c b/src/loader/loader.c index 98bd9121220..5ec26b80b96 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -858,7 +858,7 @@ loader_open_driver_lib(const char *driver_name, len = next - p; snprintf(path, sizeof(path), "%.*s/%s%s.so", len, p, driver_name, lib_suffix); - driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL); + driver = dlopen(path, RTLD_NOW | RTLD_LOCAL); if (driver == NULL) { dl_error = dlerror(); log_(_LOADER_DEBUG, "MESA-LOADER: failed to open %s: %s\n",