CVS Update: xc (branch: trunk)
David Dawes <[email protected]>
| Newsgroups | gmane.comp.xfree86.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVSROOT: /home/x-cvs Module name: xc Changes by: [email protected]. 06/03/01 19:00:40 Log message: 229. XFree86 loader enhancments: - Per-module export symbol lists. - Improved symbol hash. - A mechanism for specifying the scope of symbols. - Keep track of relocations, and undo them when they become unresolved on module unload, and recalculate them when they change on module load. - Check relocations on each module load/unload, ensuring that function references that are unresolved at any time are always mapped to the catch-all function preventing calls into nowhere. - Efficient handling of invariant relocations. - Cleanup/update the memleak stack trace code, and print a stack trace when an unresolved function is called or when XFree86 aborts. - Update the catch-all function to identify the unresolved function. - Read the XFree86 executable's symbol table in order to get the most useful stack traces, and use dladdr(), where available, for shared library references. - Cleanup and unify debug messages for the loader components. - Allow for module-instance-specific referenced and required symbols lists, so that a module's requirements can be removed when it is unloaded. - Update the ati driver to make use of some of the new loader functionality. - General loader cleanups, including removing some redundancies. - Don't build the coff loader on platforms that it doesn't support. (X-Oz Technologies, David Dawes). Modified files: ./: Imakefile xc/config/cf/: X11.tmpl xfree86.cf xc/programs/Xserver/: Imakefile xc/programs/Xserver/hw/xfree86/: CHANGELOG Imakefile xc/programs/Xserver/hw/xfree86/common/: Imakefile xf86.h xf86DoScanPci.c xf86Events.c xf86Globals.c xf86Helper.c xf86Init.c xf86Module.h xf86str.h xc/programs/Xserver/hw/xfree86/doc/sgml/: DESIGN.sgml xc/programs/Xserver/hw/xfree86/drivers/ati/: atiload.c atimisc.c atimodule.c atiprobe.c r128_driver.c r128_misc.c r128_probe.c r128_probe.h radeon_driver.c radeon_misc.c radeon_probe.c radeon_probe.h xc/programs/Xserver/hw/xfree86/drivers/glide/: glide_driver.c xc/programs/Xserver/hw/xfree86/loader/: Imakefile aoutloader.c aoutloader.h coff.h coffloader.c coffloader.h dixsym.c dlloader.c dlloader.h elfloader.c elfloader.h extsym.c fontsym.c hash.c hash.h loader.c loader.h loaderProcs.h loadext.c loadmod.c misym.c sym.h xf86sym.c xc/programs/Xserver/hw/xfree86/xf86cfg/: Imakefile xc/util/memleak/: Imakefile fmalloc.c getreti386.c getretspar.c stackbottom.c Added files: xc/programs/Xserver/hw/xfree86/common/: loadertest.c loadertest.h xc/programs/Xserver/hw/xfree86/testmod/: Imakefile test2mod1.c testmod1.c xc/util/memleak/: getstack.h stackbottom.h Revision Changes Path 3.34 +6 -2 xc/Imakefile 1.291 +4 -1 xc/config/cf/X11.tmpl 3.506 +14 -10 xc/config/cf/xfree86.cf 3.324 +6 -3 xc/programs/Xserver/Imakefile 3.3681 +27 -1 xc/programs/Xserver/hw/xfree86/CHANGELOG 3.92 +6 -2 xc/programs/Xserver/hw/xfree86/Imakefile 3.164 +21 -6 xc/programs/Xserver/hw/xfree86/common/Imakefile 3.190 +5 -1 xc/programs/Xserver/hw/xfree86/common/xf86.h 1.19 +2 -2 xc/programs/Xserver/hw/xfree86/common/xf86DoScanPci.c 3.171 +36 -4 xc/programs/Xserver/hw/xfree86/common/xf86Events.c 1.47 +1 -7 xc/programs/Xserver/hw/xfree86/common/xf86Globals.c 1.154 +53 -5 xc/programs/Xserver/hw/xfree86/common/xf86Helper.c 3.233 +44 -5 xc/programs/Xserver/hw/xfree86/common/xf86Init.c 1.45 +6 -1 xc/programs/Xserver/hw/xfree86/common/xf86Module.h 1.108 +1 -8 xc/programs/Xserver/hw/xfree86/common/xf86str.h 1.61 +6 -6 xc/programs/Xserver/hw/xfree86/doc/sgml/DESIGN.sgml 1.22 +3 -3 xc/programs/Xserver/hw/xfree86/drivers/ati/atiload.c 1.13 +14 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/atimisc.c 1.20 +24 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/atimodule.c 1.71 +2 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/atiprobe.c 1.93 +14 -13 xc/programs/Xserver/hw/xfree86/drivers/ati/r128_driver.c 1.9 +19 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/r128_misc.c 1.19 +2 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.c 1.8 +9 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/r128_probe.h 1.131 +13 -12 xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_driver.c 1.11 +20 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_misc.c 1.33 +2 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.c 1.16 +9 -2 xc/programs/Xserver/hw/xfree86/drivers/ati/radeon_probe.h 1.31 +2 -2 xc/programs/Xserver/hw/xfree86/drivers/glide/glide_driver.c 1.45 +33 -11 xc/programs/Xserver/hw/xfree86/loader/Imakefile 1.22 +427 -180 xc/programs/Xserver/hw/xfree86/loader/aoutloader.c 1.5 +11 -3 xc/programs/Xserver/hw/xfree86/loader/aoutloader.h 1.7 +7 -1 xc/programs/Xserver/hw/xfree86/loader/coff.h 1.24 +625 -354 xc/programs/Xserver/hw/xfree86/loader/coffloader.c 1.5 +11 -3 xc/programs/Xserver/hw/xfree86/loader/coffloader.h 1.71 +2 -2 xc/programs/Xserver/hw/xfree86/loader/dixsym.c 1.16 +68 -13 xc/programs/Xserver/hw/xfree86/loader/dlloader.c 1.4 +3 -4 xc/programs/Xserver/hw/xfree86/loader/dlloader.h 1.68 +1458 -657 xc/programs/Xserver/hw/xfree86/loader/elfloader.c 1.5 +12 -3 xc/programs/Xserver/hw/xfree86/loader/elfloader.h 1.12 +2 -2 xc/programs/Xserver/hw/xfree86/loader/extsym.c 1.18 +2 -2 xc/programs/Xserver/hw/xfree86/loader/fontsym.c 1.27 +338 -86 xc/programs/Xserver/hw/xfree86/loader/hash.c 1.4 +3 -2 xc/programs/Xserver/hw/xfree86/loader/hash.h 1.76 +892 -210 xc/programs/Xserver/hw/xfree86/loader/loader.c 1.30 +152 -56 xc/programs/Xserver/hw/xfree86/loader/loader.h 1.24 +53 -6 xc/programs/Xserver/hw/xfree86/loader/loaderProcs.h 1.10 +19 -12 xc/programs/Xserver/hw/xfree86/loader/loadext.c 1.77 +84 -28 xc/programs/Xserver/hw/xfree86/loader/loadmod.c 1.41 +2 -2 xc/programs/Xserver/hw/xfree86/loader/misym.c 1.8 +9 -8 xc/programs/Xserver/hw/xfree86/loader/sym.h 1.258 +10 -2 xc/programs/Xserver/hw/xfree86/loader/xf86sym.c 1.34 +8 -2 xc/programs/Xserver/hw/xfree86/xf86cfg/Imakefile 3.7 +60 -31 xc/util/memleak/Imakefile 3.16 +4 -1 xc/util/memleak/fmalloc.c 3.6 +26 -25 xc/util/memleak/getreti386.c 1.4 +29 -20 xc/util/memleak/getretspar.c 3.3 +74 -76 xc/util/memleak/stackbottom.c