Index: hw/xfree86/drivers/apm/apm_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/apm/apm_accel.c,v retrieving revision 1.3 diff -u -r1.3 apm_accel.c --- hw/xfree86/drivers/apm/apm_accel.c 30 Jul 2004 20:30:51 -0000 1.3 +++ hw/xfree86/drivers/apm/apm_accel.c 2 Aug 2004 05:07:41 -0000 @@ -73,7 +73,7 @@ static StippleScanlineProcPtr *StippleTab = NULL; if (!StippleTab) - StippleTab = LoaderSymbol("XAAStippleScanlineFuncMSBFirst"); + StippleTab = XAAGetStippleScanlineFuncMSBFirst(); for (i = 0; i < APM_CACHE_NUMBER; i++) if ((pApm->apmCache[i].apmStippleCache.serialNumber == pPix->drawable.serialNumber) Index: hw/xfree86/drivers/apm/apm_funcs.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/apm/apm_funcs.c,v retrieving revision 1.3 diff -u -r1.3 apm_funcs.c --- hw/xfree86/drivers/apm/apm_funcs.c 30 Jul 2004 20:30:51 -0000 1.3 +++ hw/xfree86/drivers/apm/apm_funcs.c 2 Aug 2004 05:07:42 -0000 @@ -717,7 +717,7 @@ static GlyphScanlineFuncPtr *GlyphTab = NULL; int w2, h2, dwords; - if (!GlyphTab) GlyphTab = LoaderSymbol("XAAGlyphScanlineFuncLSBFirst"); + if (!GlyphTab) GlyphTab = XAAGetGlyphScanlineFuncLSBFirst(); GlyphFunc = GlyphTab[glyphWidth - 1]; w2 = w + skipleft; Index: hw/xfree86/drivers/chips/ct_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/chips/ct_accel.c,v retrieving revision 1.4 diff -u -r1.4 ct_accel.c --- hw/xfree86/drivers/chips/ct_accel.c 30 Jul 2004 21:36:39 -0000 1.4 +++ hw/xfree86/drivers/chips/ct_accel.c 2 Aug 2004 05:07:42 -0000 @@ -1126,7 +1126,7 @@ unsigned char *data, *srcPtr, *dstPtr; if (!StippleTab) - StippleTab = LoaderSymbol("XAAStippleScanlineFuncMSBFirst"); + StippleTab = XAAGetStippleScanlineFuncMSBFirst(); DEBUG_P("CacheMonoStipple"); if((h <= 128) && (w <= 128 * bpp / 8)) { Index: hw/xfree86/drivers/fbdev/fbdev.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v retrieving revision 1.6 diff -u -r1.6 fbdev.c --- hw/xfree86/drivers/fbdev/fbdev.c 1 Aug 2004 18:04:07 -0000 1.6 +++ hw/xfree86/drivers/fbdev/fbdev.c 2 Aug 2004 05:07:42 -0000 @@ -782,8 +782,8 @@ if (fPtr->shadowFB && (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL, - fPtr->rotate ? LoaderSymbol("shadowUpdateRotatePacked") - : LoaderSymbol("shadowUpdatePacked"), + fPtr->rotate ? shadowUpdateRotatePackedWeak() + : shadowUpdatePackedWeak(), FBDevWindowLinear, fPtr->rotate, NULL)) ) { xf86DrvMsg(scrnIndex, X_ERROR, "Shadow framebuffer initialization failed.\n"); Index: hw/xfree86/drivers/glint/glint_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c,v retrieving revision 1.5 diff -u -r1.5 glint_driver.c --- hw/xfree86/drivers/glint/glint_driver.c 31 Jul 2004 01:21:18 -0000 1.5 +++ hw/xfree86/drivers/glint/glint_driver.c 2 Aug 2004 05:07:43 -0000 @@ -933,7 +933,7 @@ pGlint->RamDacRec->WriteAddress = glintTIWriteAddress; pGlint->RamDacRec->ReadData = glintTIReadData; pGlint->RamDacRec->WriteData = glintTIWriteData; - pGlint->RamDacRec->LoadPalette = LoaderSymbol("TIramdacLoadPalette"); + pGlint->RamDacRec->LoadPalette = TIramdacLoadPaletteWeak(); if(!RamDacInit(pScrn, pGlint->RamDacRec)) { RamDacDestroyInfoRec(pGlint->RamDacRec); Index: hw/xfree86/drivers/mga/mga_storm.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c,v retrieving revision 1.3 diff -u -r1.3 mga_storm.c --- hw/xfree86/drivers/mga/mga_storm.c 30 Jul 2004 20:30:52 -0000 1.3 +++ hw/xfree86/drivers/mga/mga_storm.c 2 Aug 2004 05:07:45 -0000 @@ -745,7 +745,7 @@ infoPtr->SubsequentScreenToScreenColorExpandFill = MGANAME(SubsequentPlanarScreenToScreenColorExpandFill); infoPtr->CacheColorExpandDensity = PSZ; - infoPtr->CacheMonoStipple = LoaderSymbol("XAACachePlanarMonoStipple"); + infoPtr->CacheMonoStipple = XAAGetCachePlanarMonoStipple(); /* It's faster to blit the stipples if you have fastbilt */ if(pMga->HasFBitBlt) infoPtr->ScreenToScreenColorExpandFillFlags = TRANSPARENCY_ONLY; Index: hw/xfree86/drivers/s3/s3_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v retrieving revision 1.4 diff -u -r1.4 s3_driver.c --- hw/xfree86/drivers/s3/s3_driver.c 30 Jul 2004 20:30:54 -0000 1.4 +++ hw/xfree86/drivers/s3/s3_driver.c 2 Aug 2004 05:07:46 -0000 @@ -662,7 +662,7 @@ pS3->DacSave = S3IBMRGB_Save; pS3->DacRestore = S3IBMRGB_Restore; pS3->CursorInit = S3IBMRGB_CursorInit; - pS3->RamDac->SetBpp = LoaderSymbol("IBMramdac526SetBpp"); + pS3->RamDac->SetBpp = IBMramdac526SetBppWeak(); pS3->MaxClock = 170000; pScrn->rgbBits = 8; pS3->LoadPalette = S3GenericLoadPalette; Index: hw/xfree86/drivers/trident/trident_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v retrieving revision 1.3 diff -u -r1.3 trident_driver.c --- hw/xfree86/drivers/trident/trident_driver.c 30 Jul 2004 20:30:55 -0000 1.3 +++ hw/xfree86/drivers/trident/trident_driver.c 2 Aug 2004 05:07:46 -0000 @@ -2034,8 +2034,8 @@ if (!pScrn->progClock) { pScrn->numClocks = NoClocks; xf86GetClocks(pScrn, NoClocks, TRIDENTClockSelect, - LoaderSymbol("vgaHWProtect"), - LoaderSymbol("vgaHWBlankScreen"), + vgaHWProtectWeak(), + vgaHWBlankScreenWeak(), vgaIOBase + 0x0A, 0x08, 1, 28322); from = X_PROBED; xf86ShowClocks(pScrn, from); Index: hw/xfree86/drivers/vesa/vesa.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c,v retrieving revision 1.3 diff -u -r1.3 vesa.c --- hw/xfree86/drivers/vesa/vesa.c 30 Jul 2004 20:30:55 -0000 1.3 +++ hw/xfree86/drivers/vesa/vesa.c 2 Aug 2004 05:07:46 -0000 @@ -909,17 +909,17 @@ if (mode->MemoryModel == 3) { /* Planar */ if (pScrn->bitsPerPixel == 8) - update = LoaderSymbol("shadowUpdatePlanar4x8"); + update = shadowUpdatePlanar4x8Weak(); else - update = LoaderSymbol("shadowUpdatePlanar4"); + update = shadowUpdatePlanar4Weak(); window = VESAWindowPlanar; } else if (pVesa->mapPhys == 0xa0000) { /* Windowed */ - update = LoaderSymbol("shadowUpdatePacked"); + update = shadowUpdatePackedWeak(); window = VESAWindowWindowed; } else { /* Linear */ - update = LoaderSymbol("shadowUpdatePacked"); + update = shadowUpdatePackedWeak(); window = VESAWindowLinear; } Index: hw/xfree86/ramdac/IBM.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/ramdac/IBM.c,v retrieving revision 1.2 diff -u -r1.2 IBM.c --- hw/xfree86/ramdac/IBM.c 23 Apr 2004 19:54:13 -0000 1.2 +++ hw/xfree86/ramdac/IBM.c 2 Aug 2004 05:07:47 -0000 @@ -374,6 +374,10 @@ } } +IBMramdac526SetBppProc *IBMramdac526SetBppWeak(void) { + return IBMramdac526SetBpp; +} + void IBMramdac640SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr ramdacReg) { Index: hw/xfree86/ramdac/IBM.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/ramdac/IBM.h,v retrieving revision 1.2 diff -u -r1.2 IBM.h --- hw/xfree86/ramdac/IBM.h 23 Apr 2004 19:54:13 -0000 1.2 +++ hw/xfree86/ramdac/IBM.h 2 Aug 2004 05:07:47 -0000 @@ -18,6 +18,9 @@ void IBMramdac526HWCursorInit(xf86CursorInfoPtr infoPtr); void IBMramdac640HWCursorInit(xf86CursorInfoPtr infoPtr); +typedef void IBMramdac526SetBppProc(ScrnInfoPtr, RamDacRegRecPtr); +IBMramdac526SetBppProc *IBMramdac526SetBppWeak(void); + #define IBM524_RAMDAC ((VENDOR_IBM << 16) | 0x00) #define IBM524A_RAMDAC ((VENDOR_IBM << 16) | 0x01) #define IBM525_RAMDAC ((VENDOR_IBM << 16) | 0x02) Index: hw/xfree86/ramdac/TI.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/ramdac/TI.c,v retrieving revision 1.2 diff -u -r1.2 TI.c --- hw/xfree86/ramdac/TI.c 23 Apr 2004 19:54:13 -0000 1.2 +++ hw/xfree86/ramdac/TI.c 2 Aug 2004 05:07:47 -0000 @@ -711,3 +711,7 @@ } } } + +TIramdacLoadPaletteProc *TIramdacLoadPaletteWeak(void) { + return TIramdacLoadPalette; +} Index: hw/xfree86/ramdac/TI.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/ramdac/TI.h,v retrieving revision 1.2 diff -u -r1.2 TI.h --- hw/xfree86/ramdac/TI.h 23 Apr 2004 19:54:13 -0000 1.2 +++ hw/xfree86/ramdac/TI.h 2 Aug 2004 05:07:47 -0000 @@ -19,6 +19,9 @@ void TIramdacLoadPalette( ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, VisualPtr pVisual); +typedef void TIramdacLoadPaletteProc(ScrnInfoPtr, int, int *, LOCO *, + VisualPtr); +TIramdacLoadPaletteProc *TIramdacLoadPaletteWeak(void); #define TI3030_RAMDAC (VENDOR_TI << 16) | 0x00 #define TI3026_RAMDAC (VENDOR_TI << 16) | 0x01 Index: hw/xfree86/vgahw/vgaHW.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.c,v retrieving revision 1.2 diff -u -r1.2 vgaHW.c --- hw/xfree86/vgahw/vgaHW.c 31 Jul 2004 01:21:19 -0000 1.2 +++ hw/xfree86/vgahw/vgaHW.c 2 Aug 2004 05:07:48 -0000 @@ -596,6 +596,9 @@ } } +vgaHWProtectProc *vgaHWProtectWeak(void) { + return vgaHWProtect; +} /* * vgaHWBlankScreen -- blank the screen. @@ -620,6 +623,9 @@ vgaHWSeqReset(hwp, FALSE); } +vgaHWBlankScreenProc *vgaHWBlankScreenWeak(void) { + return vgaHWBlankScreen; +} /* * vgaHWSaveScreen -- blank the screen. Index: hw/xfree86/vgahw/vgaHW.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/vgahw/vgaHW.h,v retrieving revision 1.2 diff -u -r1.2 vgaHW.h --- hw/xfree86/vgahw/vgaHW.h 31 Jul 2004 01:21:19 -0000 1.2 +++ hw/xfree86/vgahw/vgaHW.h 2 Aug 2004 05:07:48 -0000 @@ -190,11 +190,16 @@ /* vgaHW.c */ +typedef void vgaHWProtectProc(ScrnInfoPtr, Bool); +typedef void vgaHWBlankScreenProc(ScrnInfoPtr, Bool); + void vgaHWSetStdFuncs(vgaHWPtr hwp); void vgaHWSetMmioFuncs(vgaHWPtr hwp, CARD8 *base, int offset); void vgaHWProtect(ScrnInfoPtr pScrn, Bool on); +vgaHWProtectProc *vgaHWProtectWeak(void); Bool vgaHWSaveScreen(ScreenPtr pScreen, int mode); void vgaHWBlankScreen(ScrnInfoPtr pScrn, Bool on); +vgaHWBlankScreenProc *vgaHWBlankScreenWeak(void); void vgaHWSeqReset(vgaHWPtr hwp, Bool start); void vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore); void vgaHWRestoreMode(ScrnInfoPtr scrninfp, vgaRegPtr restore); Index: hw/xfree86/xaa/xaaPCache.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaaPCache.c,v retrieving revision 1.2 diff -u -r1.2 xaaPCache.c --- hw/xfree86/xaa/xaaPCache.c 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaaPCache.c 2 Aug 2004 05:07:48 -0000 @@ -1653,7 +1653,8 @@ return pCache; } - +XAACachePlanarMonoStippleProc * +XAACachePlanarMonoStippleWeak(void) { return XAACachePlanarMonoStipple; } XAACacheInfoPtr XAACacheStipple(ScrnInfoPtr pScrn, PixmapPtr pPix, int fg, int bg) Index: hw/xfree86/xaa/xaaStipple.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaaStipple.c,v retrieving revision 1.2 diff -u -r1.2 xaaStipple.c --- hw/xfree86/xaa/xaaStipple.c 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaaStipple.c 2 Aug 2004 05:07:48 -0000 @@ -15,8 +15,10 @@ #ifdef TRIPLE_BITS #define stipple_scanline_func EXPNAME(XAAStippleScanlineFunc3) +#define stipple_get_scanline_func EXPNAME(XAAGetStippleScanlineFunc3) #else #define stipple_scanline_func EXPNAME(XAAStippleScanlineFunc) +#define stipple_get_scanline_func EXPNAME(XAAGetStippleScanlineFunc) #endif StippleScanlineProcPtr stipple_scanline_func[6] = { @@ -28,6 +30,9 @@ StippleOver32_Inverted }; +StippleScanlineProcPtr *stipple_get_scanline_func(void) { + return stipple_scanline_func; +} #ifdef FIXEDBASE # define DEST(i) *dest Index: hw/xfree86/xaa/xaaTEGlyph.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaaTEGlyph.c,v retrieving revision 1.2 diff -u -r1.2 xaaTEGlyph.c --- hw/xfree86/xaa/xaaTEGlyph.c 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaaTEGlyph.c 2 Aug 2004 05:07:48 -0000 @@ -74,7 +74,7 @@ #endif #define glyph_scanline_func EXPNAME(XAAGlyphScanlineFunc) - +#define glyph_get_scanline_func EXPNAME(XAAGetGlyphScanlineFunc) GlyphScanlineFuncPtr glyph_scanline_func[32] = { @@ -125,6 +125,10 @@ DrawTETextScanlineGeneric, DrawTETextScanlineGeneric }; +GlyphScanlineFuncPtr *glyph_get_scanline_func(void) { + return glyph_scanline_func; +} + /******************************************************************** Index: hw/xfree86/xaa/xaalocal.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaalocal.h,v retrieving revision 1.3 diff -u -r1.3 xaalocal.h --- hw/xfree86/xaa/xaalocal.h 30 Jul 2004 20:30:56 -0000 1.3 +++ hw/xfree86/xaa/xaalocal.h 2 Aug 2004 05:07:49 -0000 @@ -727,6 +727,11 @@ CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width ); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirstFixedBase(void); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirst(void); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirstFixedBase(void); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirst(void); + void XAAFillColorExpandRectsLSBFirst( ScrnInfoPtr pScrn, @@ -1046,6 +1051,11 @@ CARD32* base, CARD32* src, int offset, int width, int dwords ); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirstFixedBase(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirst(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirstFixedBase(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirst(void); + int XAAPolyText8TEColorExpansion( DrawablePtr pDraw, @@ -1506,6 +1516,10 @@ XAACacheInfoPtr XAACachePlanarMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix); +typedef XAACacheInfoPtr *XAACachePlanarMonoStippleProc(ScrnInfoPtr, PixmapPtr); + +XAACachePlanarMonoStippleProc *XAAGetCachePlanarMonoStipple(void); + XAACacheInfoPtr XAACacheStipple(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg); Index: miext/shadow/shadow.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/miext/shadow/shadow.h,v retrieving revision 1.2 diff -u -r1.2 shadow.h --- miext/shadow/shadow.h 23 Apr 2004 19:54:28 -0000 1.2 +++ miext/shadow/shadow.h 2 Aug 2004 05:07:49 -0000 @@ -163,6 +163,13 @@ shadowUpdateRotate32_270 (ScreenPtr pScreen, shadowBufPtr pBuf); +typedef void * shadowUpdateProc(ScreenPtr, shadowBufPtr); + +shadowUpdateProc *shadowUpdatePackedWeak(void); +shadowUpdateProc *shadowUpdatePlanar4Weak(void); +shadowUpdateProc *shadowUpdatePlanar4x8Weak(void); +shadowUpdateProc *shadowUpdateRotatePackedWeak(void); + void shadowWrapGC (GCPtr pGC); Index: miext/shadow/shpacked.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/miext/shadow/shpacked.c,v retrieving revision 1.2 diff -u -r1.2 shpacked.c --- miext/shadow/shpacked.c 23 Apr 2004 19:54:28 -0000 1.2 +++ miext/shadow/shpacked.c 2 Aug 2004 05:07:49 -0000 @@ -106,3 +106,5 @@ pbox++; } } + +shadowUpdateProc *shadowUpdatePackedWeak(void) { return shadowUpdatePacked; } Index: miext/shadow/shplanar.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/miext/shadow/shplanar.c,v retrieving revision 1.2 diff -u -r1.2 shplanar.c --- miext/shadow/shplanar.c 23 Apr 2004 19:54:28 -0000 1.2 +++ miext/shadow/shplanar.c 2 Aug 2004 05:07:49 -0000 @@ -165,4 +165,11 @@ pbox++; } } - + +shadowUpdateProc *shadowUpdatePlanar4Weak(void) { + return shadowUpdatePlanar4; +} + +shadowUpdateProc *shadowUpdatePlanar4x8Weak(void) { + return shadowUpdatePlanar4x8; +} Index: miext/shadow/shrotate.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/miext/shadow/shrotate.c,v retrieving revision 1.2 diff -u -r1.2 shrotate.c --- miext/shadow/shrotate.c 23 Apr 2004 19:54:28 -0000 1.2 +++ miext/shadow/shrotate.c 2 Aug 2004 05:07:49 -0000 @@ -304,3 +304,7 @@ } } } + +shadowUpdateProc *shadowUpdateRotatePackedWeak(void) { + return shadowUpdateRotatePacked; +}