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