libXt: Changes to 'master'

Jon TURNEY jturney at kemper.freedesktop.org
Tue Apr 21 05:51:05 PDT 2015


 include/X11/IntrinsicP.h |    7 ++++++-
 src/Initialize.c         |    9 +++++++++
 src/Makefile.am          |    2 +-
 3 files changed, 16 insertions(+), 2 deletions(-)

New commits:
commit 0c2c7562426aec7bdf9b54a7d6993153e0bce489
Author: Yaakov Selkowitz <yselkowitz at users.sourceforge.net>
Date:   Sun Aug 10 12:44:26 2014 -0500

    Fix _XtInherit on x86_64 Windows
    
    As noted in Initialize.c, _XtInherit needs special treatment as it's both called
    as a function, and used as a value to compare with.
    
    We need to change this trickery for x86_64, as the symbols are no longer
    underscore prefixed, and the address is 64 bits.
    
    We also cannot place the trampoline in the .data section, as it may be marked
    no-execute, so we use a special section for it instead.
    
    v2: Uses of XtInherit must also be marked dllimport, so that they do not use a
    thunk, but instead indirect via the __imp_XtInherit auto-import. This avoids
    problems with an incorrect relocation being calculated in the case where libXt
    and a library using it (e.g. libXaw/libXaw3d/libXm/etc.) are loaded more than
    2GiB apart from each other.
    
    This is enough to build a working libXt for Cygwin x86_64, because it uses the
    LP64 data model.  I believe that more patches are needed for libXt to work
    correctly when built for the Windows LLP64 data model.
    
    Signed-off-by: Yaakov Selkowitz <yselkowitz at cygwin.com>
    Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>
    Reviewed-by: Colin Harrison <colin.harrison at virgin.net>



More information about the xorg-commit mailing list