libXfont: Changes to 'master'

Alan Coopersmith alanc at kemper.freedesktop.org
Thu May 15 19:30:12 PDT 2014


 src/Makefile.am          |    2 -
 src/bitmap/bitscale.c    |    6 +--
 src/fc/fserve.c          |    8 ++--
 src/fontfile/renderers.c |    6 +--
 src/stubs/Makefile.am    |    2 -
 src/stubs/cauthgen.c     |    1 
 src/stubs/csignal.c      |    1 
 src/stubs/delfntcid.c    |    1 
 src/stubs/errorf.c       |    1 
 src/stubs/fatalerror.c   |   13 -------
 src/stubs/findoldfnt.c   |    1 
 src/stubs/getcres.c      |    1 
 src/stubs/getdefptsize.c |    1 
 src/stubs/getnewfntcid.c |    1 
 src/stubs/gettime.c      |    1 
 src/stubs/initfshdl.c    |    1 
 src/stubs/regfpefunc.c   |    4 ++
 src/stubs/rmfshdl.c      |    1 
 src/stubs/servclient.c   |    9 +++++
 src/stubs/setfntauth.c   |    1 
 src/stubs/stfntcfnt.c    |    1 
 src/stubs/stubs.h        |   49 +++++++++++++++++++++++++++-
 src/stubs/stubsinit.c    |   82 +++++++++++++++++++++++++++++++++++++++++++++++
 src/util/atom.c          |    4 ++
 src/util/miscutil.c      |   12 +++++-
 25 files changed, 182 insertions(+), 28 deletions(-)

New commits:
commit c71c3ed50f1a8c204a988b49f6280944247a0dbe
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Sun Apr 6 14:41:09 2014 -0500

    Make shared library work on Cygwin/MinGW
    
    Weak symbols on PE platforms do not work the same way as on ELF
    platforms, hence we have been unable to have a fully functional shared
    libXfont until now.  This patch works around these issues so that we
    can fix that.
    
    In summary, only when compiling shared libraries on NO_WEAK_SYMBOLS
    platforms, when the first stub is called, the invoking program is first
    checked to determine if it exports the stubbed functions.  Then, for
    every stub call, if the function is exported by the loader, it is called
    instead of the stub code.
    
    serverClient and serverGeneration are data pointers, and therefore are
    replaced by getter functions. ErrorF is variadic, so the override is
    routed through VErrorF instead. FatalError has no va_list equivalent,
    but it is not actually used in libXfont and therefore should be safe to
    remove.
    
    This requires all X servers to export their symbols, which requires
    forthcoming patches for hw/xwin and xfs; the other xservers (including
    tigervnc) already do this via LD_EXPORT_SYMBOLS_FLAG.



More information about the xorg-commit mailing list