xserver: Branch 'master'
Adam Jackson
ajax at kemper.freedesktop.org
Fri Jul 21 16:43:42 PDT 2006
hw/xfree86/common/xf86Helper.c | 21 -----
hw/xfree86/loader/loader.c | 166 ----------------------------------------
hw/xfree86/loader/loaderProcs.h | 5 -
3 files changed, 4 insertions(+), 188 deletions(-)
New commits:
diff-tree bca9364f3f4a2376edbcf57a34f704ce28be21ba (from 0486d3966d2888ef86d36c19f31bdbc2a3e8c652)
Author: Adam Jackson <ajax at theobromine.nwnk.net>
Date: Fri Jul 21 18:41:46 2006 -0400
Remove the loader's required and referenced symbol lists, dead code.
diff --git a/hw/xfree86/common/xf86Helper.c b/hw/xfree86/common/xf86Helper.c
index b3978f7..c7d3fae 100644
--- a/hw/xfree86/common/xf86Helper.c
+++ b/hw/xfree86/common/xf86Helper.c
@@ -2448,44 +2448,25 @@ xf86LoaderCheckSymbol(const char *name)
return LoaderSymbol(name) != NULL;
}
+/* These two are just ABI stubs, they don't do anything in dlloader world */
_X_EXPORT void
xf86LoaderReqSymLists(const char **list0, ...)
{
- va_list ap;
-
- va_start(ap, list0);
- LoaderVReqSymLists(list0, ap);
- va_end(ap);
}
_X_EXPORT void
xf86LoaderReqSymbols(const char *sym0, ...)
{
- va_list ap;
-
- va_start(ap, sym0);
- LoaderVReqSymbols(sym0, ap);
- va_end(ap);
}
_X_EXPORT void
xf86LoaderRefSymLists(const char **list0, ...)
{
- va_list ap;
-
- va_start(ap, list0);
- LoaderVRefSymLists(list0, ap);
- va_end(ap);
}
_X_EXPORT void
xf86LoaderRefSymbols(const char *sym0, ...)
{
- va_list ap;
-
- va_start(ap, sym0);
- LoaderVRefSymbols(sym0, ap);
- va_end(ap);
}
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
index a5c5b2c..42a9d3c 100644
--- a/hw/xfree86/loader/loader.c
+++ b/hw/xfree86/loader/loader.c
@@ -97,22 +97,6 @@ static int refCount[MAX_HANDLE];
*/
static int moduleseq = 0;
-typedef struct {
- int num;
- const char **list;
-} symlist;
-
-/*
- * List of symbols that may be referenced, and which are allowed to be
- * unresolved providing that they don't appear on the "reqired" list.
- */
-static symlist refList = { 0, NULL };
-
-/* List of symbols that must not be unresolved */
-static symlist reqList = { 0, NULL };
-
-static int fatalReqSym = 0;
-
/* Prototypes for static functions. */
static loaderPtr _LoaderListPush(void);
static loaderPtr _LoaderListPop(int);
@@ -300,165 +284,25 @@ _LoaderModuleToName(int module)
return 0;
}
-/*
- * Add a list of symbols to the referenced list.
- */
-
-static void
-AppendSymbol(symlist * list, const char *sym)
-{
- list->list = xnfrealloc(list->list, (list->num + 1) * sizeof(char **));
- /* copy the symbol, since it comes from a module
- that can be unloaded later */
- list->list[list->num] = xnfstrdup(sym);
- list->num++;
-}
-
-static void
-AppendSymList(symlist * list, const char **syms)
-{
- while (*syms) {
- AppendSymbol(list, *syms);
- syms++;
- }
-}
-
-static int
-SymInList(symlist * list, char *sym)
-{
- int i;
-
- for (i = 0; i < list->num; i++)
- if (strcmp(list->list[i], sym) == 0)
- return 1;
-
- return 0;
-}
-
-void
-LoaderVRefSymbols(const char *sym0, va_list args)
-{
- const char *s;
-
- if (sym0 == NULL)
- return;
-
- s = sym0;
- do {
- AppendSymbol(&refList, s);
- s = va_arg(args, const char *);
- } while (s != NULL);
-}
-
+/* These four are just ABI stubs */
_X_EXPORT void
LoaderRefSymbols(const char *sym0, ...)
{
- va_list ap;
-
- va_start(ap, sym0);
- LoaderVRefSymbols(sym0, ap);
- va_end(ap);
-}
-
-void
-LoaderVRefSymLists(const char **list0, va_list args)
-{
- const char **l;
-
- if (list0 == NULL)
- return;
-
- l = list0;
- do {
- AppendSymList(&refList, l);
- l = va_arg(args, const char **);
- } while (l != NULL);
}
_X_EXPORT void
LoaderRefSymLists(const char **list0, ...)
{
- va_list ap;
-
- va_start(ap, list0);
- LoaderVRefSymLists(list0, ap);
- va_end(ap);
-}
-
-void
-LoaderVReqSymLists(const char **list0, va_list args)
-{
- const char **l;
-
- if (list0 == NULL)
- return;
-
- l = list0;
- do {
- AppendSymList(&reqList, l);
- l = va_arg(args, const char **);
- } while (l != NULL);
}
_X_EXPORT void
LoaderReqSymLists(const char **list0, ...)
{
- va_list ap;
-
- va_start(ap, list0);
- LoaderVReqSymLists(list0, ap);
- va_end(ap);
-}
-
-void
-LoaderVReqSymbols(const char *sym0, va_list args)
-{
- const char *s;
-
- if (sym0 == NULL)
- return;
-
- s = sym0;
- do {
- AppendSymbol(&reqList, s);
- s = va_arg(args, const char *);
- } while (s != NULL);
}
_X_EXPORT void
LoaderReqSymbols(const char *sym0, ...)
{
- va_list ap;
-
- va_start(ap, sym0);
- LoaderVReqSymbols(sym0, ap);
- va_end(ap);
-}
-
-/*
- * _LoaderHandleUnresolved() decides what to do with an unresolved
- * symbol. Symbols that are not on the "referenced" or "required" lists
- * get a warning if they are unresolved. Symbols that are on the "required"
- * list generate a fatal error if they are unresolved.
- */
-
-int
-_LoaderHandleUnresolved(char *symbol, char *module)
-{
- int fatalsym = 0;
-
- if (xf86ShowUnresolved && !fatalsym) {
- if (SymInList(&reqList, symbol)) {
- fatalReqSym = 1;
- ErrorF("Required symbol %s from module %s is unresolved!\n",
- symbol, module);
- }
- if (!SymInList(&refList, symbol)) {
- ErrorF("Symbol %s from module %s is unresolved!\n",
- symbol, module);
- }
- }
- return (fatalsym);
}
/* Public Interface to the loader. */
@@ -578,15 +422,11 @@ LoaderSymbol(const char *sym)
return (DLFindSymbol(sym));
}
+/* more stub */
_X_EXPORT int
LoaderCheckUnresolved(int delay_flag)
{
- int ret = 0;
-
- if (fatalReqSym)
- FatalError("Some required symbols were unresolved\n");
-
- return ret;
+ return 0;
}
int
diff --git a/hw/xfree86/loader/loaderProcs.h b/hw/xfree86/loader/loaderProcs.h
index 0e77e6b..324fa9e 100644
--- a/hw/xfree86/loader/loaderProcs.h
+++ b/hw/xfree86/loader/loaderProcs.h
@@ -103,11 +103,6 @@ ModuleDescPtr AddSibling(ModuleDescPtr h
void LoaderSetPath(const char *path);
void LoaderSortExtensions(void);
-void LoaderVReqSymLists(const char **, va_list args);
-void LoaderVReqSymbols(const char *, va_list args);
-void LoaderVRefSymLists(const char **, va_list args);
-void LoaderVRefSymbols(const char *, va_list args);
-
void LoaderShowStack(void);
void *LoaderSymbolHandle(const char *, int);
int LoaderUnload(int);
More information about the xorg-commit
mailing list