diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index d8de73711..70ff95b4d 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -333,7 +333,7 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv) LoaderSetPath(xf86ModulePath); if (xf86Info.ignoreABI) { - LoaderSetOptions(LDR_OPT_ABI_MISMATCH_NONFATAL); + LoaderSetIgnoreAbi(); } if (xf86DoShowOptions) @@ -963,7 +963,7 @@ ddxProcessArgument(int argc, char **argv, int i) return 1; } if (!strcmp(argv[i], "-ignoreABI")) { - LoaderSetOptions(LDR_OPT_ABI_MISMATCH_NONFATAL); + LoaderSetIgnoreAbi(); return 1; } if (!strcmp(argv[i], "-verbose")) { diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c index 2f540cff0..c866b18dd 100644 --- a/hw/xfree86/loader/loader.c +++ b/hw/xfree86/loader/loader.c @@ -146,21 +146,22 @@ LoaderUnload(const char *name, void *handle) dlclose(handle); } -unsigned long LoaderOptions = 0; - +Bool LoaderIgnoreAbi = FALSE; Bool is_nvidia_proprietary = FALSE; void -LoaderSetOptions(unsigned long opts) +LoaderSetIgnoreAbi(void) { - LoaderOptions |= opts; + /* Only used to keep consistency with the loader api */ + /* This really doesn't have to be a proc */ + LoaderIgnoreAbi = TRUE; } Bool LoaderShouldIgnoreABI(void) { /* The nvidia proprietary DDX driver calls this deprecated function */ - return is_nvidia_proprietary || (LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL); + return is_nvidia_proprietary || LoaderIgnoreAbi; } int diff --git a/hw/xfree86/loader/loader.h b/hw/xfree86/loader/loader.h index 3ee9c075b..43d6b5c5a 100644 --- a/hw/xfree86/loader/loader.h +++ b/hw/xfree86/loader/loader.h @@ -68,7 +68,7 @@ typedef struct { } ModuleVersions; extern const ModuleVersions LoaderVersionInfo; -extern unsigned long LoaderOptions; +extern Bool LoaderIgnoreAbi; extern Bool is_nvidia_proprietary; diff --git a/hw/xfree86/loader/loaderProcs.h b/hw/xfree86/loader/loaderProcs.h index 8b16cb7ea..fc96be2d3 100644 --- a/hw/xfree86/loader/loaderProcs.h +++ b/hw/xfree86/loader/loaderProcs.h @@ -79,11 +79,9 @@ void LoaderUnload(const char *, void *); unsigned long LoaderGetModuleVersion(ModuleDescPtr mod); void LoaderResetOptions(void); -void LoaderSetOptions(unsigned long); + +void LoaderSetIgnoreAbi(void); const char **LoaderListDir(const char *, const char **); -/* Options for LoaderSetOptions */ -#define LDR_OPT_ABI_MISMATCH_NONFATAL 0x0001 - #endif /* _LOADERPROCS_H */ diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c index 6a96d69af..e010f100f 100644 --- a/hw/xfree86/loader/loadmod.c +++ b/hw/xfree86/loader/loadmod.c @@ -457,27 +457,19 @@ CheckVersion(const char *module, XF86ModuleVersionInfo * data, vermaj = GET_ABI_MAJOR(ver); vermin = GET_ABI_MINOR(ver); if (abimaj != vermaj) { - MessageType errtype; - if (LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL) - errtype = X_WARNING; - else - errtype = X_ERROR; - LogMessageVerb(errtype, 0, "%s: module ABI major version (%d) " + LogMessageVerb(LoaderIgnoreAbi ? X_WARNING : X_ERROR, 0, + "%s: module ABI major version (%d) " "doesn't match the server's version (%d)\n", module, abimaj, vermaj); - if (!(LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL)) + if (!LoaderIgnoreAbi) return FALSE; } else if (abimin > vermin) { - MessageType errtype; - if (LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL) - errtype = X_WARNING; - else - errtype = X_ERROR; - LogMessageVerb(errtype, 0, "%s: module ABI minor version (%d) " + LogMessageVerb(LoaderIgnoreAbi ? X_WARNING : X_ERROR, 0, + "%s: module ABI minor version (%d) " "is newer than the server's version (%d)\n", module, abimin, vermin); - if (!(LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL)) + if (!LoaderIgnoreAbi) return FALSE; } }