[Libreoffice-commits] .: cppu/util
Tor Lillqvist
tml at kemper.freedesktop.org
Sun Jan 16 13:33:18 PST 2011
cppu/util/makefile.mk | 2 ++
cppu/util/purpenvhelper3MSCX.map | 8 ++++++++
2 files changed, 10 insertions(+)
New commits:
commit cf3abb4ad91e2f77f4ca64b012a68001fa0ea8f3
Author: Tor Lillqvist <tlillqvist at novell.com>
Date: Sun Jan 16 22:13:31 2011 +0200
Use separate .map files for 64-bit MSVC build
Unfortunately the C++ name mangling in a 64-bit MSVC compilation is
slightly different from that in a 32-bit one:
-- An 'E' is inserted for pointers to indicate that they are 64
bits. I don't fully understand the rationale for this; isn't that the
only kind of pointer in 64-bit code produced by a C++ compiler anyway?
-- As there is only one calling convention on x64 Windows, __cdecl,
the indications for other calling conventions (here, especially
__thiscall) change to that for __cdecl.
It should be possible to write a tool to at least partially automate
conversion of 32-bit mangled names to 64-bit ones, and thus make it
easy to create mscx map files from the corresponding msci ones in
LibreOffice. Sure, it probably wouldn't work 100% correctly in all
cases, but it would help a lot.
diff --git a/cppu/util/makefile.mk b/cppu/util/makefile.mk
index 5eb7eac..47a3c9a 100644
--- a/cppu/util/makefile.mk
+++ b/cppu/util/makefile.mk
@@ -76,6 +76,8 @@ DEF2NAME := $(SHL2TARGET)
SHL2VERSIONMAP:=uno_purpenvhelper$(COMID).map
.ELIF "$(GUI)"=="OS2"
SHL2VERSIONMAP:=uno_purpenvhelperwntgcc.map
+.ELIF "$(COMNAME)"=="mscx"
+SHL2VERSIONMAP:=$(SHL2TARGET)X.map
.ELSE
SHL2VERSIONMAP:=$(SHL2TARGET).map
.ENDIF # "$(GUI)$(COM)"=="WNTGCC"
diff --git a/cppu/util/purpenvhelper3MSCX.map b/cppu/util/purpenvhelper3MSCX.map
new file mode 100644
index 0000000..2248519
--- /dev/null
+++ b/cppu/util/purpenvhelper3MSCX.map
@@ -0,0 +1,8 @@
+UDK_3_0_0 {
+ global:
+ ?Environment_initWithEnterable at purpenv@helper at cppu@@YAXPEAU_uno_Environment@@PEAVEnterable at 3@@Z;
+ ?createMapping at purpenv@helper at cppu@@YAXPEAPEAU_uno_Mapping@@PEAU_uno_Environment@@1P6AX_NPEAX3PEAU_typelib_TypeDescriptionReference@@PEAU_typelib_MethodParameter@@JPEBU_typelib_TypeDescription@@3QEAPEAXPEAPEAU_uno_Any@@@Z3 at Z;
+
+ local:
+ *;
+};
More information about the Libreoffice-commits
mailing list