Add back a simplified version of the loader static address tables.
If not taking the symbol addresses, linkage will break badly, as not all symbols will be present, and it also requires changing library order, and/or making some changes like the "libosandcommon". This table should be modified to be generated automatically, as it is required to "fool" the compiler/loader into adding all required symbols to the X Server.
This commit is contained in:
parent
44bef8b850
commit
466b0fca9b
|
@ -19,4 +19,5 @@ libloader_a_SOURCES = \
|
|||
loadext.c \
|
||||
loadmod.c \
|
||||
dlloader.c \
|
||||
os.c
|
||||
os.c \
|
||||
xorgsym.c
|
||||
|
|
|
@ -74,7 +74,8 @@
|
|||
#include "xf86.h"
|
||||
#include "xf86Priv.h"
|
||||
#include "compiler.h"
|
||||
#include "sym.h"
|
||||
|
||||
extern void *xorgLookupTab[];
|
||||
|
||||
/*
|
||||
* handles are used to identify files that are loaded. Even archives
|
||||
|
@ -107,8 +108,8 @@ LoaderInit(void)
|
|||
}
|
||||
|
||||
xf86MsgVerb(X_INFO, 2, "Loader magic: %p\n", (void *)
|
||||
((long)dixLookupTab ^ (long)extLookupTab
|
||||
^ (long)miLookupTab ^ (long)xfree86LookupTab));
|
||||
((long)xorgLookupTab[0] ^ (long)xorgLookupTab[1]
|
||||
^ (long)xorgLookupTab[2] ^ (long)xorgLookupTab[3]));
|
||||
xf86MsgVerb(X_INFO, 2, "Module ABI versions:\n");
|
||||
xf86ErrorFVerb(2, "\t%s: %d.%d\n", ABI_CLASS_ANSIC,
|
||||
GET_ABI_MAJOR(LoaderVersionInfo.ansicVersion),
|
||||
|
|
1210
hw/xfree86/loader/xorgsym.c
Normal file
1210
hw/xfree86/loader/xorgsym.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user