|
|
cf7b2a |
From b01ca791b9ba62e25e3533ba35f8e825f02f0f80 Mon Sep 17 00:00:00 2001
|
|
|
cf7b2a |
From: Adam Jackson <ajax@redhat.com>
|
|
|
cf7b2a |
Date: Mon, 18 Nov 2019 16:43:50 -0500
|
|
|
cf7b2a |
Subject: [PATCH xserver 05/11] loader: Make LoaderSymbolFromModule take a
|
|
|
cf7b2a |
ModuleDescPtr
|
|
|
cf7b2a |
MIME-Version: 1.0
|
|
|
cf7b2a |
Content-Type: text/plain; charset=UTF-8
|
|
|
cf7b2a |
Content-Transfer-Encoding: 8bit
|
|
|
cf7b2a |
|
|
|
cf7b2a |
The thing you get back from xf86LoadSubModule is a ModuleDescPtr, not a
|
|
|
cf7b2a |
dlsym handle. We don't expose ModuleDescPtr to the drivers, so change
|
|
|
cf7b2a |
LoaderSymbolFromModule to cast its void * argument to a ModuleDescPtr.
|
|
|
cf7b2a |
|
|
|
cf7b2a |
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
|
|
|
cf7b2a |
(cherry picked from commit ab61c16ef07fde6eb7110c63c344c54eb2a2d117)
|
|
|
cf7b2a |
---
|
|
|
cf7b2a |
hw/xfree86/loader/loader.c | 3 ++-
|
|
|
cf7b2a |
hw/xfree86/loader/loadmod.c | 2 +-
|
|
|
cf7b2a |
2 files changed, 3 insertions(+), 2 deletions(-)
|
|
|
cf7b2a |
|
|
|
cf7b2a |
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
|
|
|
cf7b2a |
index 503c47e3a..2580e93d9 100644
|
|
|
cf7b2a |
--- a/hw/xfree86/loader/loader.c
|
|
|
cf7b2a |
+++ b/hw/xfree86/loader/loader.c
|
|
|
cf7b2a |
@@ -135,7 +135,8 @@ LoaderSymbol(const char *name)
|
|
|
cf7b2a |
void *
|
|
|
cf7b2a |
LoaderSymbolFromModule(void *handle, const char *name)
|
|
|
cf7b2a |
{
|
|
|
cf7b2a |
- return dlsym(handle, name);
|
|
|
cf7b2a |
+ ModuleDescPtr mod = handle;
|
|
|
cf7b2a |
+ return dlsym(mod->handle, name);
|
|
|
cf7b2a |
}
|
|
|
cf7b2a |
|
|
|
cf7b2a |
void
|
|
|
cf7b2a |
diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c
|
|
|
cf7b2a |
index a93a76aa9..81a3a1dd9 100644
|
|
|
cf7b2a |
--- a/hw/xfree86/loader/loadmod.c
|
|
|
cf7b2a |
+++ b/hw/xfree86/loader/loadmod.c
|
|
|
cf7b2a |
@@ -776,7 +776,7 @@ LoadModule(const char *module, void *options, const XF86ModReqInfo *modreq,
|
|
|
cf7b2a |
*errmaj = LDR_NOMEM;
|
|
|
cf7b2a |
goto LoadModule_fail;
|
|
|
cf7b2a |
}
|
|
|
cf7b2a |
- initdata = LoaderSymbolFromModule(ret->handle, p);
|
|
|
cf7b2a |
+ initdata = LoaderSymbolFromModule(ret, p);
|
|
|
cf7b2a |
if (initdata) {
|
|
|
cf7b2a |
ModuleSetupProc setup;
|
|
|
cf7b2a |
ModuleTearDownProc teardown;
|
|
|
cf7b2a |
--
|
|
|
cf7b2a |
2.33.1
|
|
|
cf7b2a |
|