From ebd70c82fdbe483d149ac9bdb5a64cc6e0c10e0a Mon Sep 17 00:00:00 2001 From: Aaron Plattner Date: Thu, 10 Jul 2008 14:38:34 -0700 Subject: Add LoaderShouldIgnoreABI to allow drivers that roll their own ABI checks (i.e. nvidia) to perform the check before ScreenInit. --- hw/xfree86/common/xf86Module.h | 1 + hw/xfree86/loader/loader.c | 6 ++++++ hw/xfree86/loader/xf86sym.c | 1 + 3 files changed, 8 insertions(+) diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h index fdcd5674b..c8bf1cec8 100644 --- a/hw/xfree86/common/xf86Module.h +++ b/hw/xfree86/common/xf86Module.h @@ -209,6 +209,7 @@ void LoaderReqSymLists(const char **, ...); void LoaderReqSymbols(const char *, ...); int LoaderCheckUnresolved(int); void LoaderGetOS(const char **name, int *major, int *minor, int *teeny); +Bool LoaderShouldIgnoreABI(void); int LoaderGetABIVersion(const char *abiclass); typedef pointer (*ModuleSetupProc)(pointer, pointer, int *, int *); diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c index 774a4c4a0..b05c48e94 100644 --- a/hw/xfree86/loader/loader.c +++ b/hw/xfree86/loader/loader.c @@ -363,6 +363,12 @@ LoaderSetOptions(unsigned long opts) LoaderOptions |= opts; } +_X_EXPORT Bool +LoaderShouldIgnoreABI(void) +{ + return (LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL) != 0; +} + _X_EXPORT int LoaderGetABIVersion(const char *abiclass) { diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c index 6576fe8e9..e78ba33ee 100644 --- a/hw/xfree86/loader/xf86sym.c +++ b/hw/xfree86/loader/xf86sym.c @@ -713,6 +713,7 @@ _X_HIDDEN void *xfree86LookupTab[] = { SYMFUNC(LoaderListDirs) SYMFUNC(LoaderFreeDirList) SYMFUNC(LoaderGetOS) + SYMFUNC(LoaderShouldIgnoreABI) SYMFUNC(LoaderGetABIVersion) #ifdef XF86DRI -- cgit v1.2.3