-
修正点は:
xf86LoaderReqSymListsを使っているところを全部コメントアウト
LoaderRefSymListsを使っているところを(ry
xf86AddModuleInfoのシンボルを追加。中身は何もしない。
diff -Naur xserver-xorg-video-psb-0.32.0/src/psb_dri.c xserver-xorg-video-psb-0.32.0.new/src/psb_dri.c
--- xserver-xorg-video-psb-0.32.0/src/psb_dri.c 2009-05-12 10:37:53.000000000 +0900
+++ xserver-xorg-video-psb-0.32.0.new/src/psb_dri.c 2010-09-07 18:23:59.000000000 +0900
@@ -548,7 +548,7 @@
PSB_DEBUG(pScrn->scrnIndex, 3, "psbDRIScreenInit\n");
- xf86LoaderReqSymLists(driReqSymbols, NULL);
+ // xf86LoaderReqSymLists(driReqSymbols, NULL);
pPsb->pDRIInfo = NULL;
diff -Naur xserver-xorg-video-psb-0.32.0/src/psb_driver.c xserver-xorg-video-psb-0.32.0.new/src/psb_driver.c
--- xserver-xorg-video-psb-0.32.0/src/psb_driver.c 2010-09-05 23:52:36.000000000 +0900
+++ xserver-xorg-video-psb-0.32.0.new/src/psb_driver.c 2010-09-07 09:15:03.000000000 +0900
@@ -301,6 +301,8 @@
{0, 0, 0, 0}
};
+// _X_EXPORT void xf86AddModuleInfo(pointer info, pointer module);
+
/*
* This data is accessed by the loader. The name must be the module name
* followed by "ModuleData".
@@ -311,18 +313,21 @@
psbSetup(pointer Module, pointer Options, int *ErrorMajor, int *ErrorMinor)
{
static Bool Initialised = FALSE;
-
+
+ xf86AddModuleInfo(NULL, NULL);
PSB_DEBUG(-1, 3, "psbSetup\n");
if (!Initialised) {
Initialised = TRUE;
xf86AddDriver(&psb, Module, 0);
+#if 0
LoaderRefSymLists(fbSymbols, ddcSymbols, shadowSymbols,
psbvgahwSymbols,
#ifdef XF86DRI
psbDRMSymbols, psbDRISymbols,
#endif
NULL);
+#endif
return (pointer) TRUE;
}
@@ -626,8 +631,7 @@
if (!xf86LoadSubModule(pScrn, "dri"))
return FALSE;
-
- xf86LoaderReqSymLists(psbDRISymbols, psbDRMSymbols, NULL);
+ // xf86LoaderReqSymLists(psbDRISymbols, psbDRMSymbols, NULL);
return TRUE;
}
@@ -648,11 +652,19 @@
pPsb->xpsb = TRUE;
- xf86LoaderReqSymLists(psbXpsbSymbols, NULL);
+ // xf86LoaderReqSymLists(psbXpsbSymbols, NULL);
return TRUE;
}
#endif
+// remove in Xserver 1.7, add it again!
+_X_EXPORT void
+xf86AddModuleInfo(pointer into, pointer module)
+{
+}
+
+
+
static Bool
psbPreInitAccel(ScrnInfoPtr pScrn)
{
@@ -668,7 +680,7 @@
if (!xf86LoadSubModule(pScrn, "exa"))
return FALSE;
- xf86LoaderReqSymLists(exaSymbols, NULL);
+ // xf86LoaderReqSymLists(exaSymbols, NULL);
}
xf86DrvMsg(pScrn->scrnIndex, from, "Acceleration %sabled\n",
@@ -708,7 +720,7 @@
if (!xf86LoadSubModule(pScrn, "shadow"))
return FALSE;
- xf86LoaderReqSymLists(shadowSymbols, NULL);
+ // xf86LoaderReqSymLists(shadowSymbols, NULL);
}
xf86DrvMsg(pScrn->scrnIndex, from, "Shadow framebuffer %sabled\n",
@@ -842,7 +854,7 @@
if (!xf86LoadSubModule(pScrn, "vbe"))
return FALSE;
- xf86LoaderReqSymLists(vbeSymbols, NULL);
+ // xf86LoaderReqSymLists(vbeSymbols, NULL);
/*
* Parse options and load required modules here.
@@ -862,7 +874,7 @@
if (!xf86LoadSubModule(pScrn, "fb"))
return (FALSE);
- xf86LoaderReqSymLists(fbSymbols, NULL);
+ // xf86LoaderReqSymLists(fbSymbols, NULL);
pScrn->chipset = "Intel GMA500";
pScrn->monitor = pScrn->confScreen->monitor;
@@ -1021,7 +1033,7 @@
if (!xf86LoadSubModule(pDevice->pScrns[0], "vgahw"))
return FALSE;
- xf86LoaderReqSymLists(psbvgahwSymbols, NULL);
+ // xf86LoaderReqSymLists(psbvgahwSymbols, NULL);
if (!vgaHWGetHWRec(pDevice->pScrns[0]))
return FALSE;