Commit Graph

46 Commits

Author SHA1 Message Date
Mikhail Gusarov
0a4d8cbdcd Remove more superfluous if(p) checks around free(p)
This patch has been generated by the following Coccinelle semantic patch:

@@
expression E;
@@

-if(E) { free(E); }
+free(E);

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Reviewed-by: Matt Turner <mattst88@gmail.com>
2010-06-06 20:27:18 +07:00
Mikhail Gusarov
3f3ff971ec Replace X-allocation functions with their C89 counterparts
The only remaining X-functions used in server are XNF*, the rest is converted to
plain alloc/calloc/realloc/free/strdup.

X* functions are still exported from server and x* macros are still defined in
header file, so both ABI and API are not affected by this change.

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-05-13 00:22:37 +07:00
Dave Airlie
d85ab6b648 loader: actually stat something that has some chance of existing. (v2)
FindModuleInSubdir seems to expect a / at the end of the subdir its
finding for, so we add the / early, the stat will fail if its
not a subdir, I'm leaving the S_ISDIR in just in case there is another
reason it could return 0. This does look a bit silly in strace
but it seems to work fine.

I have a very intermittent issue where drivers loses its / that
I've been seeing on/off for a while, this may or may not fix it.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-11-09 08:24:39 -08:00
Adam Jackson
06a2784232 loader: Remove useless TestFree() macro 2009-07-17 15:03:57 -04:00
Alan Coopersmith
1c101d75d4 Don't leak canonical module name and patterns if module is built-in
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-04-01 15:56:55 -07:00
Adam Jackson
bde028dd8d loader: Remove icache flushes on alpha.
If libdl doesn't already get this right for you, you have two problems.
2009-02-04 22:44:20 -05:00
Matt Turner
15ac25627e Remove extra / from Loading module line
In the X log, upon module load, it prints a line similar to the following.

> (II) Loading /usr/lib64/xorg/modules/extensions//libdbe.so

The attached patch removes the extra / before the module name.

Code already exists in hw/xfree86/loader/loadmod.c:InitPathList to add a
trailing slash if needed, removing the one added by sprintf is harmless.

Signed-off-by: James Cloos <cloos@jhcloos.com>
2009-01-29 14:40:27 -05:00
Paulo Cesar Pereira de Andrade
49f77fff14 Rework symbol visibility for easier maintenance
Save in a few special cases, _X_EXPORT should not be used in C source
files. Instead, it should be used in headers, and the proper C source
include that header. Some special cases are symbols that need to be
shared between modules, but not expected to be used by external drivers,
and symbols that are accessible via LoaderSymbol/dlopen.

  This patch also adds conditionally some new sdk header files, depending
on extensions enabled. These files were added to match pattern for
other extensions/modules, that is, have the headers "deciding" symbol
visibility in the sdk. These headers are:
o Xext/panoramiXsrv.h, Xext/panoramiX.h
o fbpict.h (unconditionally)
o vidmodeproc.h
o mioverlay.h (unconditionally, used only by xaa)
o xfixes.h (unconditionally, symbols required by dri2)

  LoaderSymbol and similar functions now don't have different prototypes,
in loaderProcs.h and xf86Module.h, so that both headers can be included,
without the need of defining IN_LOADER.

  xf86NewInputDevice() device prototype readded to xf86Xinput.h, but
not exported (and with a comment about it).
2008-12-03 05:43:34 -02:00
Paulo Cesar Pereira de Andrade
d6cbd4511e Export symbols defined in the sdk.
This is the biggest "visibility" patch. Instead of doing a "export"
symbol on demand, export everything in the sdk, so that if some module
fails due to an unresolved symbol, it is because it is using a symbol
not in the sdk.

  Most exported symbols shouldn't really be made visible, neither
advertised in the sdk, as they are only used by a single shared object.

  Symbols in the sdk (or referenced in sdk macros), but not defined
anywhere include:
XkbBuildCoreState()
XkbInitialMap
XkbXIUnsupported
XkbCheckActionVMods()
XkbSendCompatNotify()
XkbDDXFakePointerButton()
XkbDDXApplyConfig()
_XkbStrCaseCmp()
_XkbErrMessages[]
_XkbErrCode
_XkbErrLocation
_XkbErrData
XkbAccessXDetailText()
XkbNKNDetailMaskText()
XkbLookupGroupAndLevel()
XkbInitAtoms()
XkbGetOrderedDrawables()
XkbFreeOrderedDrawables()
XkbConvertXkbComponents()
XkbWriteXKBSemantics()
XkbWriteXKBLayout()
XkbWriteXKBKeymap()
XkbWriteXKBFile()
XkbWriteCFile()
XkbWriteXKMFile()
XkbWriteToServer()
XkbMergeFile()
XkmFindTOCEntry()
XkmReadFileSection()
XkmReadFileSectionName()
InitExtInput()
xf86CheckButton()
xf86SwitchCoreDevice()
RamDacSetGamma()
RamDacRestoreDACValues()
xf86Bpp
xf86ConfigPix24
xf86MouseCflags[]
xf86SupportedMouseTypes[]
xf86NumMouseTypes
xf86ChangeBusIndex()
xf86EntityEnter()
xf86EntityLeave()
xf86WrapperInit()
xf86RingBell()
xf86findOptionBoolean()
xf86debugListOptions()
LoadSubModuleLocal()
LoaderSymbolLocal()
getInt10Rec()
xf86CurrentScreen
xf86ReallocatePciResources()
xf86NewSerialNumber()
xf86RandRSetInitialMode()
fbCompositeSolidMask_nx1xn
fbCompositeSolidMask_nx8888x0565C
fbCompositeSolidMask_nx8888x8888C
fbCompositeSolidMask_nx8x0565
fbCompositeSolidMask_nx8x0888
fbCompositeSolidMask_nx8x8888
fbCompositeSrc_0565x0565
fbCompositeSrc_8888x0565
fbCompositeSrc_8888x0888
fbCompositeSrc_8888x8888
fbCompositeSrcAdd_1000x1000
fbCompositeSrcAdd_8000x8000
fbCompositeSrcAdd_8888x8888
fbGeneration
fbIn
fbOver
fbOver24
fbOverlayGeneration
fbRasterizeEdges
fbRestoreAreas
fbSaveAreas
composeFunctions
VBEBuildVbeModeList()
VBECalcVbeModeIndex()
TIramdac3030CalculateMNPForClock()
shadowBufPtr
shadowFindBuf()
miRRGetScreenInfo()
RRSetScreenConfig()
RRModePruneUnused()
PixmanImageFromPicture()
extern int miPointerGetMotionEvents()
miClipPicture()
miRasterizeTriangle()
fbPush1toN()
fbInitializeBackingStore()
ddxBeforeReset()
SetupSprite()
InitSprite()
DGADeliverEvent()

  SPECIAL CASES
o defined as _X_INTERNAL
	xf86NewInputDevice()
o defined as static
	fbGCPrivateKey
	fbOverlayScreenPrivateKey
	fbScreenPrivateKey
	fbWinPrivateKey
o defined in libXfont.so, but declared in xorg/dixfont.h
	GetGlyphs()
	QueryGlyphExtents()
	QueryTextExtents()
	ParseGlyphCachingMode()
	InitGlyphCaching()
	SetGlyphCachingMode()
2008-11-29 23:56:06 -02:00
Adam Jackson
cbaca6ec66 Remove dead FreeModuleDesc. 2008-11-25 15:05:17 -05:00
Julien Cristau
e39a16aa58 xfree86: don't output a spurious newline to the log when loading a module 2008-07-28 17:27:42 +02:00
Adam Jackson
affec10635 Remove loadable font renderer support. 2008-07-16 14:49:36 -04:00
Peter Hutterer
e251c9e75a Remove all traces of #ifdef XINPUT and the matching bits from the configure.ac 2008-04-25 16:49:35 +09:30
Arjan van de Ven
6dc71f6b2c xfree86: plug memory leak in InitPathList.
All the failure paths were very diligent in freeing the "fullpath" temporary
string, but the success case was not. All the content only got strdup()d, so
it's not live memory anymore.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:33 +10:30
Adam Jackson
f750ce53ac Remove some braindamage from ModuleDesc.
Yay dead code elimination.
2008-02-14 08:22:57 +11:00
Julien Goodwin
94f412cb7e Loader: Fix verbosity confusion
'Loading foo' is verbosity 3, whereas 'already built-in' is verbosity 0.
This means that gdm's log would just be full of bare 'module already
built-in' messages.
2008-01-29 14:46:15 +11:00
Brice Goglin
85ed0bb440 Add a missing linebreak after LoadModule: "foo"
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=454742
2007-12-08 02:53:51 +01:00
Adam Jackson
f7f3fe7fe7 Remove the remnants of OS/2 support.
This has never worked in any modular server release, and as far as I know
was never tested in 6.7 through 6.9.
2007-06-28 18:59:05 -04:00
Alan Coopersmith
e523859a95 Include module name in "already built-in" message 2007-06-20 17:54:38 -07:00
Keith Packard
97a2c2579c Using wrong log level in extension to built-in message
was: typo in built-in module log message
(cherry picked from commit 00cfd1f765)
2007-04-16 11:52:58 -07:00
Adam Jackson
9a0f25de7c Static cleanups, dead code deletion. 2007-03-25 12:27:01 -04:00
Dave Airlie
1072b88a8f loader: fix already built-in message 2007-03-25 10:06:00 +10:00
Keith Packard
ae75019ccf Create driver-independent CRTC-based cursor layer.
This moves most of the cursor management code out of the intel driver and
into the general server code. Of course, the hope is that this code will be
useful for other driver writers as well.

Check out xf86Crtc.h for the usage information, making sure you add the
needed hooks to the crtc funcs structure for your driver.
(cherry picked from commit 4d81c99a46)
2007-03-15 00:02:40 -07:00
Keith Packard
d4eb4d0650 Merge crtc/output-based mode selection code.
This code comes from the intel driver, so there's no history in this tree.

As the crtc/output-based mode selection code uses ddc, the ddc and i2c
modules have been merged into the server. Attempts to load them are safely
ignored now.
2007-02-15 20:36:20 -08:00
Alan Coopersmith
cf7ca9d09c Plug memory leak in doLoadModule() 2007-01-24 20:20:48 -08:00
Adam Jackson
1c4f90b1d0 Open-coded path checks make baby Jesus cry. 2006-07-21 23:03:21 -04:00
Daniel Stone
6cf844ab69 loader: walk directory paths with readdir(), don't stat() everything
Walk the directories with readdir, and don't stat everything we can
find.  Thanks to davej for the public humiliation reminding me to go back
and re-fix this one.
2006-07-21 19:58:15 -04:00
Adam Jackson
a28652f9c3 Another round of loader sense-beating. Remove the (unused) server export
lists, a really bad hash table, the last vestiges of the other backends,
and some miscellaneous cleanups.  Good for dropping 300k from the size of
the built server on x86.
2006-06-19 00:57:18 -04:00
Greg Kroah-Hartman
490ffc205a fix compiler warning in hw/xfree86/loader/loadmod.c 2006-06-09 10:44:25 -07:00
Daniel Stone
97203f1cf6 Clean up a warning, and remove excess multiple-suffix code. 2006-06-01 20:41:21 +00:00
Daniel Stone
6d594ebc66 Ditch more alternate-loader braindamage. 2006-06-01 20:22:39 +00:00
Adam Jackson
a68c11bb1d Mark everything in xf86sym.c as _X_EXPORT. 2006-03-25 19:52:05 +00:00
Adam Jackson
460f2ea4a5 Coverity #794: Fix a highly unlikely memory leak. 2006-03-15 16:21:04 +00:00
Adam Jackson
116d158e85 Coverity #269: Compare the requested ABI class against the ABI class of the
module, not the module class.
2006-03-15 16:16:24 +00:00
Adam Jackson
1e5c0842af Coverity #1053: Nuke a dead variable. 2006-03-15 15:34:57 +00:00
Kristian Høgsberg
c3342c8000 Merge accel_indirect branch to HEAD. 2006-03-12 00:11:34 +00:00
Adam Jackson
4ebd26f04b Bug #3196: Fix Load foo.so syntax. 2005-10-19 22:36:22 +00:00
Alan Coopersmith
435e2a09de //bugs.freedesktop.org/show_bug.cgi?id=3950> Xorg prints version numbers in
wrong format for modules compiled for Xorg 6.99 & later (Adam Jackson &
    Alan Coopersmith)
2005-08-09 01:18:04 +00:00
Daniel Stone
0bb669638f Change <X11/misc.h> and <X11/os.h> to "misc.h" and "os.h". 2005-07-03 08:53:54 +00:00
Daniel Stone
e03198972c Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
    source files in the xserver/xorg tree, predicated on defines of
    HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
    <X11/fonts/foo.h>.
2005-07-03 07:02:09 +00:00
Daniel Stone
9b1debcdb6 Change all misc.h and os.h references to <X11/foo.h>. 2005-07-01 22:43:43 +00:00
Adam Jackson
07cc29cf69 Bug #2138: When the server is built with MakeDllModules YES, prefer
dlloader modules to elfloader modules, and vice versa when
    MakeDllModules is NO. Based on 028_loader_speed_hack.diff from Ubuntu
    (Daniel Stone).
2005-04-25 00:25:39 +00:00
Adam Jackson
39eb279718 Bug #3016: Don't complain as loudly about failing to load a module that's
already loaded.
2005-04-23 19:16:10 +00:00
Egbert Eich
2fb5886200 Merging XORG-CURRENT into trunk 2004-04-23 19:54:30 +00:00
Kaleb Keithley
adc7f9a4eb XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks 2003-11-25 19:29:01 +00:00
Kaleb Keithley
9508a382f8 Initial revision 2003-11-14 16:48:57 +00:00