libXfont: Changes to 'master'

Yaakov Selkowitz yselkowitz at kemper.freedesktop.org
Fri Jun 27 16:34:13 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 0dcdd82059c69ec417bb094f4da2afef7cc1426a
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Sun Apr 6 14:18:32 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.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
    Reviewed-by: Colin Harrison <colin.harrison at virgin.net>
    Acked-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Tested-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>



More information about the xorg-commit mailing list