[SCM] LibreOffice packaging repository branch, debian-experimental-3.5, updated. libreoffice_3.5.4-4-1-gecbf22a
The following commit has been merged in the debian-experimental-3.5 branch:
commit ecbf22a284ead927e78a2fab1987fb200fb4530c
Author: Rene Engelhard <rene@debian.org>
Date: Wed Jun 13 19:40:35 2012 +0200
update to 3.5.5 rc1
diff --git a/changelog b/changelog
index 6f6380a..3919c58 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,9 @@
+libreoffice (1:3.5.5~rc1-1) UNRELEASED; urgency=low
+
+ * new upstream release candidate
+
+ -- Rene Engelhard <rene@debian.org> Wed, 13 Jun 2012 19:25:17 +0200
+
libreoffice (1:3.5.4-4) unstable; urgency=high
* debian/patches/make-shortcuts-in-menus-localized-again.diff:
diff --git a/patches/debian-opt.diff b/patches/debian-opt.diff
index 65435cd..7e1af68 100644
--- a/patches/debian-opt.diff
+++ b/patches/debian-opt.diff
@@ -53,18 +53,6 @@ index d86aab1..a10adb6 100644
.IF "$(GCCNUMVER)" >= "000400050000"
ARCH_FLAGS*=-mtune=atom
.ELSE
-diff --git a/solenv/inc/unxlngm68k.mk b/solenv/inc/unxlngm68k.mk
-index da6ed55..284bfa8 100644
---- libreoffice-3.5.0/solenv/inc/unxlngm68k.mk
-+++ libreoffice-3.5.0/solenv/inc/unxlngm68k.mk
-@@ -27,7 +27,6 @@
-
- # mk file for Unix Linux m68k using GCC, please make generic modifications to unxlng.mk
-
--CDEFAULTOPT=-Os
- PICSWITCH:=-fPIC
- .INCLUDE : unxlng.mk
- CDEFS+=-DM68K
diff --git a/solenv/inc/unxlngmips.mk b/solenv/inc/unxlngmips.mk
index 53c927d..c1b7164 100644
--- libreoffice-3.5.0/solenv/inc/unxlngmips.mk
diff --git a/patches/fix-legacy-report-opening.diff b/patches/fix-legacy-report-opening.diff
deleted file mode 100644
index 2e980a6..0000000
--- a/patches/fix-legacy-report-opening.diff
+++ /dev/null
@@ -1,74 +0,0 @@
-From 3533328aae5f38d6d21c2baee782abc4511bb649 Mon Sep 17 00:00:00 2001
-From: Lionel Elie Mamane <lionel@mamane.lu>
-Date: Tue, 5 Jun 2012 18:40:13 +0200
-Subject: [PATCH] fdo#47325 legacy reports: survive absence of Sorting hidden
- control
-
-Reports created in 3.4 and earlier lack it.
-
-Change-Id: I2cf1cad75fff59f23ad98299c4f94253adf7355b
----
- .../wizards/report/ReportTextImplementation.java | 11 ++++++++++-
- 1 files changed, 10 insertions(+), 1 deletions(-)
-
-From 183ac99a1ceebd08f750963dce6170656a201626 Mon Sep 17 00:00:00 2001
-From: Lionel Elie Mamane <lionel@mamane.lu>
-Date: Tue, 5 Jun 2012 21:30:40 +0200
-Subject: [PATCH] fdo#47473 try to set new order only after field columns are
- available
-
-Change-Id: If8ba8f4e12aaebadec86a7f445a6d32bd363106d
----
- .../wizards/report/ReportTextImplementation.java | 7 ++++++-
- 1 files changed, 6 insertions(+), 1 deletions(-)
-
---- b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
-+++ b/wizards/com/sun/star/wizards/report/ReportTextImplementation.java
-@@ -57,6 +57,7 @@ import com.sun.star.wizards.common.PropertyNames;
- import com.sun.star.wizards.common.SystemDialog;
- import com.sun.star.wizards.db.DBMetaData;
- import com.sun.star.wizards.document.OfficeDocument;
-+import com.sun.star.wizards.document.FormHandler.UnknownHiddenControlException;
- import com.sun.star.wizards.ui.UIConsts;
- import java.util.ArrayList;
- import java.util.Vector;
-@@ -233,7 +234,15 @@ public class ReportTextImplementation extends ReportImplementationHelper impleme
- String sCommandType = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, PropertyNames.COMMAND_TYPE, sMsg);
- String sGroupFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "GroupFieldNames", sMsg);
- String sFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "FieldNames", sMsg);
-- final String sorting = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "Sorting", sMsg);
-+ String sorting;
-+ try
-+ {
-+ sorting = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "Sorting", sMsg);
-+ }
-+ catch (UnknownHiddenControlException exception)
-+ {
-+ sorting = "";
-+ }
- String sRecordFieldNames = getDoc().oFormHandler.getValueofHiddenControl(xNamedForm, "RecordFieldNames", sMsg);
- if (xNamedForm.hasByName("QueryName"))
- {
-@@ -279,7 +279,6 @@
- {
- getRecordParser().Command = (String) oCommand.getPropertySet().getPropertyValue(PropertyNames.COMMAND);
- getRecordParser().getSQLQueryComposer().m_xQueryAnalyzer.setQuery(getRecordParser().Command);
-- getRecordParser().getSQLQueryComposer().prependSortingCriteria();
- getRecordParser().Command = getRecordParser().getSQLQueryComposer().getQuery();
- }
- else
-@@ -292,7 +291,14 @@
- bexecute = getRecordParser().executeCommand(nCommandType); //sMsgQueryCreationImpossible + (char) 13 + sMsgEndAutopilot, sFieldNameList, true);
- if (bexecute)
- {
-+ DBMetaData.CommandObject oCommand = getRecordParser().getQueryByName(sQueryName);
- bexecute = getRecordParser().getFields(sFieldNameList, true);
-+ if (bexecute && getRecordParser().hasEscapeProcessing(oCommand.getPropertySet()))
-+ {
-+ getRecordParser().getSQLQueryComposer().prependSortingCriteria();
-+ getRecordParser().Command = getRecordParser().getSQLQueryComposer().getQuery();
-+ bexecute = getRecordParser().executeCommand(nCommandType);
-+ }
- }
- return bexecute;
- }
diff --git a/patches/fix-signed-char-mess.diff b/patches/fix-signed-char-mess.diff
deleted file mode 100644
index e7e7049..0000000
--- a/patches/fix-signed-char-mess.diff
+++ /dev/null
@@ -1,153 +0,0 @@
-From a7bf1ce30cc49928039cd5dba6293267ed9c35c2 Mon Sep 17 00:00:00 2001
-From: Rene Engelhard <rene@debian.org>
-Date: Wed, 06 Jun 2012 13:49:12 +0000
-Subject: remove -fsigned-char from s390 to fix smoketest..
-
-Change-Id: I66c468e917513cdb096937f9955eb8a41aabaa37
-
-Signed-off-by: Caolán McNamara <caolanm@redhat.com>
----
-diff --git a/solenv/inc/unxlngs390.mk b/solenv/inc/unxlngs390.mk
-index 0eac39a..af2518f 100644
---- a/solenv/inc/unxlngs390.mk
-+++ b/solenv/inc/unxlngs390.mk
-@@ -30,6 +30,4 @@
- PICSWITCH:=-fPIC
- .INCLUDE : unxlng.mk
- CDEFS+=-DS390
--CFLAGS+=-fsigned-char -fno-omit-frame-pointer
--CFLAGSCC+=-fsigned-char
--CFLAGSCXX+=-fsigned-char
-+CFLAGS+=-fno-omit-frame-pointer
---
-cgit v0.9.0.2-2-gbebe
-
-From fb75552a492ab9ff1f2c6c7820a07862d6b88ba6 Mon Sep 17 00:00:00 2001
-From: Rene Engelhard <rene@debian.org>
-Date: Wed, 06 Jun 2012 13:50:48 +0000
-Subject: signed char is default on m68k...
-
-Change-Id: I5b57e8e9a9dce3eacc665979844f8cb29f968368
-(cherry picked from commit c6b5b20d0a9506ae35421836940bbd1b0e86a3d4)
-
-Signed-off-by: Caolán McNamara <caolanm@redhat.com>
----
-diff --git a/solenv/inc/unxlngm68k.mk b/solenv/inc/unxlngm68k.mk
-index b6a018a..7ce4156 100644
---- a/solenv/inc/unxlngm68k.mk
-+++ b/solenv/inc/unxlngm68k.mk
-@@ -31,6 +31,4 @@
- PICSWITCH:=-fPIC
- .INCLUDE : unxlng.mk
- CDEFS+=-DM68K
--CFLAGS+=-fsigned-char -fno-omit-frame-pointer
--CFLAGSCC+=-fsigned-char
--CFLAGSCXX+=-fsigned-char
-+CFLAGS+=-fno-omit-frame-pointer
-
-From 567147acbc8dcbb6c43652ac6b326759b48df9da Mon Sep 17 00:00:00 2001
-From: Caolán McNamara <caolanm@redhat.com>
-Date: Fri, 08 Jun 2012 07:50:50 +0000
-Subject: Resolves: rhbz#826609, rhbz#820554 fix smoketest on ppc[64] and s390[x]
-
-i.e. restore #i81127# to remove -fsigned-char from old-school dmake
-ppc[64] flags, but also remove them from the new-school gbuild ones.
-
-correspondingly remove -fsigned-char from the very similar s390[x]
-arch equivalents and drop them from the very obscure linux ports
-where I just cut and paste them in the first place.
-
-with 6b3bf27cb56d661725ac3fcfb756562e0ad75564 in place this now passes
-smoketestdoc for me on build from scratch on ppc[64] and s390[x]
-
-Change-Id: I3dae70fd7a3d3adc57cf04a02350689ad097e4d3
----
-diff --git a/solenv/gbuild/platform/LINUX_AXP_GCC.mk b/solenv/gbuild/platform/LINUX_AXP_GCC.mk
-index 2c5082e..25edcd7 100644
---- a/solenv/gbuild/platform/LINUX_AXP_GCC.mk
-+++ b/solenv/gbuild/platform/LINUX_AXP_GCC.mk
-@@ -27,8 +27,8 @@
-
- #please make generic modifications to unxgcc.mk or linux.mk
- gb_COMPILERDEFAULTOPTFLAGS := -Os
--gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
--gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
-+gb_CXXFLAGS += -fno-omit-frame-pointer
-+gb_CFLAGS += -fno-omit-frame-pointer
- gb_LinkTarget_LDFLAGS += -Wl,--no-relax
-
- include $(GBUILDDIR)/platform/linux.mk
-diff --git a/solenv/gbuild/platform/LINUX_M68K_GCC.mk b/solenv/gbuild/platform/LINUX_M68K_GCC.mk
-index 99d01fd..55f69a4 100644
---- a/solenv/gbuild/platform/LINUX_M68K_GCC.mk
-+++ b/solenv/gbuild/platform/LINUX_M68K_GCC.mk
-@@ -27,8 +27,8 @@
-
- #please make generic modifications to unxgcc.mk or linux.mk
- gb_COMPILERDEFAULTOPTFLAGS := -Os
--gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
--gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
-+gb_CXXFLAGS += -fno-omit-frame-pointer
-+gb_CFLAGS += -fno-omit-frame-pointer
-
- include $(GBUILDDIR)/platform/linux.mk
-
-diff --git a/solenv/gbuild/platform/LINUX_POWERPC64_GCC.mk b/solenv/gbuild/platform/LINUX_POWERPC64_GCC.mk
-index 33f6bd1..08e7b23 100644
---- a/solenv/gbuild/platform/LINUX_POWERPC64_GCC.mk
-+++ b/solenv/gbuild/platform/LINUX_POWERPC64_GCC.mk
-@@ -28,8 +28,7 @@
- #please make generic modifications to unxgcc.mk or linux.mk
- gb_CPUDEFS += -DPPC
- gb_COMPILERDEFAULTOPTFLAGS := -O2
--gb_CXXFLAGS += -mminimal-toc -fsigned-char
--gb_CFLAGS += -fsigned-char
-+gb_CXXFLAGS += -mminimal-toc
-
- include $(GBUILDDIR)/platform/linux.mk
-
-diff --git a/solenv/gbuild/platform/LINUX_POWERPC_GCC.mk b/solenv/gbuild/platform/LINUX_POWERPC_GCC.mk
-index 1c78df0..6fe92ec 100644
---- a/solenv/gbuild/platform/LINUX_POWERPC_GCC.mk
-+++ b/solenv/gbuild/platform/LINUX_POWERPC_GCC.mk
-@@ -28,8 +28,6 @@
- #please make generic modifications to unxgcc.mk or linux.mk
- gb_CPUDEFS += -DPPC
- gb_COMPILERDEFAULTOPTFLAGS := -O2
--gb_CXXFLAGS += -fsigned-char
--gb_CFLAGS += -fsigned-char
-
- include $(GBUILDDIR)/platform/linux.mk
-
-diff --git a/solenv/gbuild/platform/LINUX_S390X_GCC.mk b/solenv/gbuild/platform/LINUX_S390X_GCC.mk
-index b352572..1d6889e 100644
---- a/solenv/gbuild/platform/LINUX_S390X_GCC.mk
-+++ b/solenv/gbuild/platform/LINUX_S390X_GCC.mk
-@@ -27,8 +27,8 @@
-
- #please make generic modifications to unxgcc.mk or linux.mk
- gb_COMPILERDEFAULTOPTFLAGS := -O2
--gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
--gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
-+gb_CXXFLAGS += -fno-omit-frame-pointer
-+gb_CFLAGS += -fno-omit-frame-pointer
-
- include $(GBUILDDIR)/platform/linux.mk
-
-diff --git a/solenv/gbuild/platform/LINUX_S390_GCC.mk b/solenv/gbuild/platform/LINUX_S390_GCC.mk
-index b352572..1d6889e 100644
---- a/solenv/gbuild/platform/LINUX_S390_GCC.mk
-+++ b/solenv/gbuild/platform/LINUX_S390_GCC.mk
-@@ -27,8 +27,8 @@
-
- #please make generic modifications to unxgcc.mk or linux.mk
- gb_COMPILERDEFAULTOPTFLAGS := -O2
--gb_CXXFLAGS += -fsigned-char -fno-omit-frame-pointer
--gb_CFLAGS += -fsigned-char -fno-omit-frame-pointer
-+gb_CXXFLAGS += -fno-omit-frame-pointer
-+gb_CFLAGS += -fno-omit-frame-pointer
-
- include $(GBUILDDIR)/platform/linux.mk
-
---
-cgit v0.9.0.2-2-gbebe
diff --git a/patches/gcc-4.7-amd64.diff b/patches/gcc-4.7-amd64.diff
deleted file mode 100644
index 32ff244..0000000
--- a/patches/gcc-4.7-amd64.diff
+++ /dev/null
@@ -1,619 +0,0 @@
-m 0fdbb5b0eabbaa571f3747fda12a56c938cba474 Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Thu, 29 Mar 2012 15:50:16 +0000
-Subject: Make cpp_uno/gcc3_linux_x86-64 bridge work with GCC 4.7
-
-See comment in callvirtualmethod.cxx for details.
-
-From fa09866ccb5bc197ad3e1ec1a453d6fab20cd7df Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Fri, 30 Mar 2012 11:58:34 +0000
-Subject: Adapt cpp_uno/gcc3_linux_x86-64 to GCC 4.7 cxxabi.h
-
-...the same way cpp_uno/mingw_intel was already adapted.
-
---- a/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx
-@@ -59,9 +59,9 @@
- OTHER DEALINGS IN THE SOFTWARE.
- ----------------------------------------------------------------------- */
-
--#include <abi.hxx>
-+#include "sal/config.h"
-
--#include <rtl/ustring.hxx>
-+#include "abi.hxx"
-
- using namespace x86_64;
-
-@@ -98,6 +98,7 @@ enum x86_64_reg_class
-
- static enum x86_64_reg_class
- merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
-+ throw ()
- {
- /* Rule #1: If both classes are equal, this is the resulting class. */
- if (class1 == class2)
-@@ -140,7 +141,7 @@ merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
- See the x86-64 PS ABI for details.
- */
- static int
--classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_class classes[], int byteOffset )
-+classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_class classes[], int byteOffset ) throw ()
- {
- switch ( pTypeRef->eTypeClass )
- {
-@@ -262,7 +263,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c
-
- /* Examine the argument and return set number of register required in each
- class. Return 0 iff parameter should be passed in memory. */
--bool x86_64::examine_argument( typelib_TypeDescriptionReference *pTypeRef, bool bInReturn, int &nUsedGPR, int &nUsedSSE )
-+bool x86_64::examine_argument( typelib_TypeDescriptionReference *pTypeRef, bool bInReturn, int &nUsedGPR, int &nUsedSSE ) throw ()
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n;
-@@ -303,14 +304,14 @@ bool x86_64::examine_argument( typelib_TypeDescriptionReference *pTypeRef, bool
- return true;
- }
-
--bool x86_64::return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef )
-+bool x86_64::return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef ) throw ()
- {
- int g, s;
-
- return examine_argument( pTypeRef, true, g, s ) == 0;
- }
-
--void x86_64::fill_struct( typelib_TypeDescriptionReference *pTypeRef, const sal_uInt64 *pGPR, const double *pSSE, void *pStruct )
-+void x86_64::fill_struct( typelib_TypeDescriptionReference *pTypeRef, const sal_uInt64 *pGPR, const double *pSSE, void *pStruct ) throw ()
- {
- enum x86_64_reg_class classes[MAX_CLASSES];
- int n;
-unchanged:
---- a/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.hxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.hxx
-@@ -51,7 +51,7 @@ const sal_uInt32 MAX_SSE_REGS = 8;
-
- Return false iff parameter should be passed in memory.
- */
--bool examine_argument( typelib_TypeDescriptionReference *pTypeRef, bool bInReturn, int &nUsedGPR, int &nUsedSSE );
-+bool examine_argument( typelib_TypeDescriptionReference *pTypeRef, bool bInReturn, int &nUsedGPR, int &nUsedSSE ) throw ();
-
- /** Does function that returns this type use a hidden parameter, or registers?
-
-@@ -59,9 +59,9 @@ bool examine_argument( typelib_TypeDescriptionReference *pTypeRef, bool bInRetur
- pointer to a structure allocated by the caller), or in registers (rax, rdx
- for the integers, xmm0, xmm1 for the floating point numbers).
- */
--bool return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef );
-+bool return_in_hidden_param( typelib_TypeDescriptionReference *pTypeRef ) throw ();
-
--void fill_struct( typelib_TypeDescriptionReference *pTypeRef, const sal_uInt64* pGPR, const double* pSSE, void *pStruct );
-+void fill_struct( typelib_TypeDescriptionReference *pTypeRef, const sal_uInt64* pGPR, const double* pSSE, void *pStruct ) throw ();
-
- } // namespace x86_64
-
-unchanged:
---- /dev/null
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx
-@@ -0,0 +1,170 @@
-+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2000, 2010 Oracle and/or its affiliates.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#include "sal/config.h"
-+
-+#include <cstring>
-+
-+#include "sal/types.h"
-+#include "typelib/typeclass.h"
-+#include "typelib/typedescription.h"
-+
-+#include "abi.hxx"
-+#include "callvirtualmethod.hxx"
-+
-+// The call instruction within the asm block of callVirtualMethod may throw
-+// exceptions. At least GCC 4.7.0 with -O0 would create (unnecessary)
-+// .gcc_exception_table call-site table entries around all other calls in this
-+// function that can throw, leading to std::terminate if the asm call throws an
-+// exception and the unwinding C++ personality routine finds the unexpected hole
-+// in the .gcc_exception_table. Therefore, make sure this function explicitly
-+// only calls nothrow-functions (so GCC 4.7.0 with -O0 happens to not create a
-+// .gcc_exception_table section at all for this function). For some reason,
-+// this also needs to be in a source file of its own.
-+//
-+// Also, this file should be compiled with -fnon-call-exceptions, and ideally
-+// there would be a way to tell the compiler that the asm block contains calls
-+// to functions that can potentially throw; see the mail thread starting at
-+// <http://gcc.gnu.org/ml/gcc/2012-03/msg00454.html> "C++: Letting compiler know
-+// asm block can call function that can throw?"
-+
-+void CPPU_CURRENT_NAMESPACE::callVirtualMethod(
-+ void * pThis, sal_uInt32 nVtableIndex, void * pRegisterReturn,
-+ typelib_TypeDescriptionReference * pReturnTypeRef, bool bSimpleReturn,
-+ sal_uInt64 *pStack, sal_uInt32 nStack, sal_uInt64 *pGPR, sal_uInt32 nGPR,
-+ double * pFPR, sal_uInt32 nFPR)
-+{
-+ // Should not happen, but...
-+ if ( nFPR > x86_64::MAX_SSE_REGS )
-+ nFPR = x86_64::MAX_SSE_REGS;
-+ if ( nGPR > x86_64::MAX_GPR_REGS )
-+ nGPR = x86_64::MAX_GPR_REGS;
-+
-+ // Get pointer to method
-+ sal_uInt64 pMethod = *((sal_uInt64 *)pThis);
-+ pMethod += 8 * nVtableIndex;
-+ pMethod = *((sal_uInt64 *)pMethod);
-+
-+ // Load parameters to stack, if necessary
-+ if ( nStack )
-+ {
-+ // 16-bytes aligned
-+ sal_uInt32 nStackBytes = ( ( nStack + 1 ) >> 1 ) * 16;
-+ sal_uInt64 *pCallStack = (sal_uInt64 *) __builtin_alloca( nStackBytes );
-+ std::memcpy( pCallStack, pStack, nStackBytes );
-+ }
-+
-+ // Return values
-+ sal_uInt64 rax;
-+ sal_uInt64 rdx;
-+ double xmm0;
-+ double xmm1;
-+
-+ asm volatile (
-+
-+ // Fill the xmm registers
-+ "movq %6, %%rax\n\t"
-+
-+ "movsd (%%rax), %%xmm0\n\t"
-+ "movsd 8(%%rax), %%xmm1\n\t"
-+ "movsd 16(%%rax), %%xmm2\n\t"
-+ "movsd 24(%%rax), %%xmm3\n\t"
-+ "movsd 32(%%rax), %%xmm4\n\t"
-+ "movsd 40(%%rax), %%xmm5\n\t"
-+ "movsd 48(%%rax), %%xmm6\n\t"
-+ "movsd 56(%%rax), %%xmm7\n\t"
-+
-+ // Fill the general purpose registers
-+ "movq %5, %%rax\n\t"
-+
-+ "movq (%%rax), %%rdi\n\t"
-+ "movq 8(%%rax), %%rsi\n\t"
-+ "movq 16(%%rax), %%rdx\n\t"
-+ "movq 24(%%rax), %%rcx\n\t"
-+ "movq 32(%%rax), %%r8\n\t"
-+ "movq 40(%%rax), %%r9\n\t"
-+
-+ // Perform the call
-+ "movq %4, %%r11\n\t"
-+ "movq %7, %%rax\n\t"
-+ "call *%%r11\n\t"
-+
-+ // Fill the return values
-+ "movq %%rax, %0\n\t"
-+ "movq %%rdx, %1\n\t"
-+ "movsd %%xmm0, %2\n\t"
-+ "movsd %%xmm1, %3\n\t"
-+ : "=m" ( rax ), "=m" ( rdx ), "=m" ( xmm0 ), "=m" ( xmm1 )
-+ : "m" ( pMethod ), "m" ( pGPR ), "m" ( pFPR ), "m" ( nFPR )
-+ : "rax", "rdi", "rsi", "rdx", "rcx", "r8", "r9", "r11"
-+ );
-+
-+ switch (pReturnTypeRef->eTypeClass)
-+ {
-+ case typelib_TypeClass_HYPER:
-+ case typelib_TypeClass_UNSIGNED_HYPER:
-+ *reinterpret_cast<sal_uInt64 *>( pRegisterReturn ) = rax;
-+ break;
-+ case typelib_TypeClass_LONG:
-+ case typelib_TypeClass_UNSIGNED_LONG:
-+ case typelib_TypeClass_ENUM:
-+ *reinterpret_cast<sal_uInt32 *>( pRegisterReturn ) = *reinterpret_cast<sal_uInt32*>( &rax );
-+ break;
-+ case typelib_TypeClass_CHAR:
-+ case typelib_TypeClass_SHORT:
-+ case typelib_TypeClass_UNSIGNED_SHORT:
-+ *reinterpret_cast<sal_uInt16 *>( pRegisterReturn ) = *reinterpret_cast<sal_uInt16*>( &rax );
-+ break;
-+ case typelib_TypeClass_BOOLEAN:
-+ case typelib_TypeClass_BYTE:
-+ *reinterpret_cast<sal_uInt8 *>( pRegisterReturn ) = *reinterpret_cast<sal_uInt8*>( &rax );
-+ break;
-+ case typelib_TypeClass_FLOAT:
-+ case typelib_TypeClass_DOUBLE:
-+ *reinterpret_cast<double *>( pRegisterReturn ) = xmm0;
-+ break;
-+ default:
-+ {
-+ sal_Int32 const nRetSize = pReturnTypeRef->pType->nSize;
-+ if (bSimpleReturn && nRetSize <= 16 && nRetSize > 0)
-+ {
-+ sal_uInt64 longs[2];
-+ longs[0] = rax;
-+ longs[1] = rdx;
-+
-+ double doubles[2];
-+ doubles[0] = xmm0;
-+ doubles[1] = xmm1;
-+ x86_64::fill_struct( pReturnTypeRef, &longs[0], &doubles[0], pRegisterReturn);
-+ }
-+ break;
-+ }
-+ }
-+}
-+
-+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-unchanged:
---- /dev/null
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.hxx
-@@ -0,0 +1,49 @@
-+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2000, 2010 Oracle and/or its affiliates.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef INCLUDED_BRIDGES_SOURCE_CPP_UNO_GCC3_LINUX_X86_64_CALLVIRTUALMETHOD_HXX
-+#define INCLUDED_BRIDGES_SOURCE_CPP_UNO_GCC3_LINUX_X86_64_CALLVIRTUALMETHOD_HXX
-+
-+#include "sal/config.h"
-+
-+#include "sal/types.h"
-+#include "typelib/typedescription.h"
-+
-+namespace CPPU_CURRENT_NAMESPACE {
-+
-+void callVirtualMethod(
-+ void * pThis, sal_uInt32 nVtableIndex, void * pRegisterReturn,
-+ typelib_TypeDescriptionReference * pReturnTypeRef, bool bSimpleReturn,
-+ sal_uInt64 *pStack, sal_uInt32 nStack, sal_uInt64 *pGPR, sal_uInt32 nGPR,
-+ double * pFPR, sal_uInt32 nFPR);
-+
-+}
-+
-+#endif
-+
-+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff -u b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
---- b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/except.cxx
-@@ -30,7 +30,12 @@
- #include <stdio.h>
- #include <string.h>
- #include <dlfcn.h>
-+
- #include <cxxabi.h>
-+#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h
-+#define _GLIBCXX_CDTOR_CALLABI
-+#endif
-+
- #include <boost/unordered_map.hpp>
-
- #include <rtl/instance.hxx>
-@@ -57,10 +62,6 @@
- namespace CPPU_CURRENT_NAMESPACE
- {
-
--void dummy_can_throw_anything( char const * )
--{
--}
--
- //==================================================================================================
- static OUString toUNOname( char const * p ) SAL_THROW( () )
- {
-@@ -217,7 +218,8 @@
- struct RTTISingleton: public rtl::Static< RTTI, RTTISingleton > {};
-
- //--------------------------------------------------------------------------------------------------
--static void deleteException( void * pExc )
-+extern "C" {
-+static void _GLIBCXX_CDTOR_CALLABI deleteException( void * pExc )
- {
- __cxa_exception const * header = ((__cxa_exception const *)pExc - 1);
- typelib_TypeDescription * pTD = 0;
-@@ -230,6 +232,7 @@
- ::typelib_typedescription_release( pTD );
- }
- }
-+}
-
- //==================================================================================================
- void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
-unchanged:
---- a/bridges/source/cpp_uno/gcc3_linux_x86-64/makefile.mk
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/makefile.mk
-@@ -57,6 +57,7 @@ CFLAGSCXX += -fno-omit-frame-pointer -fno-strict-aliasing
- SLOFILES= \
- $(SLO)$/abi.obj \
- $(SLO)$/except.obj \
-+ $(SLO)$/callvirtualmethod.obj \
- $(SLO)$/cpp2uno.obj \
- $(SLO)$/uno2cpp.obj \
- $(SLO)$/call.obj
-diff -u b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx
---- b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/share.hxx
-@@ -35,8 +35,6 @@
- namespace CPPU_CURRENT_NAMESPACE
- {
-
--void dummy_can_throw_anything( char const * );
--
- // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
-
- struct _Unwind_Exception
-@@ -68,17 +66,26 @@
- _Unwind_Exception unwindHeader;
- };
-
--extern "C" void *__cxa_allocate_exception(
-- std::size_t thrown_size ) throw();
--extern "C" void __cxa_throw (
-- void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ) __attribute__((noreturn));
--
- struct __cxa_eh_globals
- {
- __cxa_exception *caughtExceptions;
- unsigned int uncaughtExceptions;
- };
--extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
-+
-+}
-+
-+extern "C" CPPU_CURRENT_NAMESPACE::__cxa_eh_globals *__cxa_get_globals () throw();
-+
-+// The following are in cxxabi.h since GCC 4.7:
-+#if __GNUC__ == 4 && __GNUC_MINOR__ <= 6
-+extern "C" void *__cxa_allocate_exception(
-+ std::size_t thrown_size ) throw();
-+extern "C" void __cxa_throw (
-+ void *thrown_exception, void *tinfo, void (*dest) (void *) ) __attribute__((noreturn));
-+#endif
-+
-+namespace CPPU_CURRENT_NAMESPACE
-+{
-
- // -----
-
-diff -u b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
---- b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
-@@ -26,12 +26,9 @@
- *
- ************************************************************************/
-
--
-+#include <alloca.h>
- #include <exception>
- #include <typeinfo>
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
-
- #include "rtl/alloc.h"
- #include "rtl/ustrbuf.hxx"
-@@ -46,159 +43,12 @@
- #include "bridges/cpp_uno/shared/vtables.hxx"
-
- #include "abi.hxx"
-+#include "callvirtualmethod.hxx"
- #include "share.hxx"
-
- using namespace ::rtl;
- using namespace ::com::sun::star::uno;
-
--//==================================================================================================
--static void callVirtualMethod(void * pThis, sal_uInt32 nVtableIndex,
-- void * pRegisterReturn, typelib_TypeDescriptionReference * pReturnTypeRef, bool bSimpleReturn,
-- sal_uInt64 *pStack, sal_uInt32 nStack,
-- sal_uInt64 *pGPR, sal_uInt32 nGPR,
-- double *pFPR, sal_uInt32 nFPR) __attribute__((noinline));
--
--static void callVirtualMethod(void * pThis, sal_uInt32 nVtableIndex,
-- void * pRegisterReturn, typelib_TypeDescriptionReference * pReturnTypeRef, bool bSimpleReturn,
-- sal_uInt64 *pStack, sal_uInt32 nStack,
-- sal_uInt64 *pGPR, sal_uInt32 nGPR,
-- double *pFPR, sal_uInt32 nFPR)
--{
--#if OSL_DEBUG_LEVEL > 1
-- // Let's figure out what is really going on here
-- {
-- fprintf( stderr, "= callVirtualMethod() =\nGPR's (%d): ", nGPR );
-- for ( unsigned int i = 0; i < nGPR; ++i )
-- fprintf( stderr, "0x%lx, ", pGPR[i] );
-- fprintf( stderr, "\nFPR's (%d): ", nFPR );
-- for ( unsigned int i = 0; i < nFPR; ++i )
-- fprintf( stderr, "%f, ", pFPR[i] );
-- fprintf( stderr, "\nStack (%d): ", nStack );
-- for ( unsigned int i = 0; i < nStack; ++i )
-- fprintf( stderr, "0x%lx, ", pStack[i] );
-- fprintf( stderr, "\n" );
-- }
--#endif
--
-- // The call instruction within the asm section of callVirtualMethod may throw
-- // exceptions. So that the compiler handles this correctly, it is important
-- // that (a) callVirtualMethod might call dummy_can_throw_anything (although this
-- // never happens at runtime), which in turn can throw exceptions, and (b)
-- // callVirtualMethod is not inlined at its call site (so that any exceptions are
-- // caught which are thrown from the instruction calling callVirtualMethod):
-- if ( !pThis )
-- CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything( "xxx" ); // address something
--
-- // Should not happen, but...
-- if ( nFPR > x86_64::MAX_SSE_REGS )
-- nFPR = x86_64::MAX_SSE_REGS;
-- if ( nGPR > x86_64::MAX_GPR_REGS )
-- nGPR = x86_64::MAX_GPR_REGS;
--
-- // Get pointer to method
-- sal_uInt64 pMethod = *((sal_uInt64 *)pThis);
-- pMethod += 8 * nVtableIndex;
-- pMethod = *((sal_uInt64 *)pMethod);
--
-- // Load parameters to stack, if necessary
-- if ( nStack )
-- {
-- // 16-bytes aligned
-- sal_uInt32 nStackBytes = ( ( nStack + 1 ) >> 1 ) * 16;
-- sal_uInt64 *pCallStack = (sal_uInt64 *) __builtin_alloca( nStackBytes );
-- memcpy( pCallStack, pStack, nStackBytes );
-- }
--
-- // Return values
-- sal_uInt64 rax;
-- sal_uInt64 rdx;
-- double xmm0;
-- double xmm1;
--
-- asm volatile (
--
-- // Fill the xmm registers
-- "movq %6, %%rax\n\t"
--
-- "movsd (%%rax), %%xmm0\n\t"
-- "movsd 8(%%rax), %%xmm1\n\t"
-- "movsd 16(%%rax), %%xmm2\n\t"
-- "movsd 24(%%rax), %%xmm3\n\t"
-- "movsd 32(%%rax), %%xmm4\n\t"
-- "movsd 40(%%rax), %%xmm5\n\t"
-- "movsd 48(%%rax), %%xmm6\n\t"
-- "movsd 56(%%rax), %%xmm7\n\t"
--
-- // Fill the general purpose registers
-- "movq %5, %%rax\n\t"
--
-- "movq (%%rax), %%rdi\n\t"
-- "movq 8(%%rax), %%rsi\n\t"
-- "movq 16(%%rax), %%rdx\n\t"
-- "movq 24(%%rax), %%rcx\n\t"
-- "movq 32(%%rax), %%r8\n\t"
-- "movq 40(%%rax), %%r9\n\t"
--
-- // Perform the call
-- "movq %4, %%r11\n\t"
-- "movq %7, %%rax\n\t"
-- "call *%%r11\n\t"
--
-- // Fill the return values
-- "movq %%rax, %0\n\t"
-- "movq %%rdx, %1\n\t"
-- "movsd %%xmm0, %2\n\t"
-- "movsd %%xmm1, %3\n\t"
-- : "=m" ( rax ), "=m" ( rdx ), "=m" ( xmm0 ), "=m" ( xmm1 )
-- : "m" ( pMethod ), "m" ( pGPR ), "m" ( pFPR ), "m" ( nFPR )
-- : "rax", "rdi", "rsi", "rdx", "rcx", "r8", "r9", "r11"
-- );
--
-- switch (pReturnTypeRef->eTypeClass)
-- {
-- case typelib_TypeClass_HYPER:
-- case typelib_TypeClass_UNSIGNED_HYPER:
-- *reinterpret_cast<sal_uInt64 *>( pRegisterReturn ) = rax;
-- break;
-- case typelib_TypeClass_LONG:
-- case typelib_TypeClass_UNSIGNED_LONG:
-- case typelib_TypeClass_ENUM:
-- *reinterpret_cast<sal_uInt32 *>( pRegisterReturn ) = *reinterpret_cast<sal_uInt32*>( &rax );
-- break;
-- case typelib_TypeClass_CHAR:
-- case typelib_TypeClass_SHORT:
-- case typelib_TypeClass_UNSIGNED_SHORT:
-- *reinterpret_cast<sal_uInt16 *>( pRegisterReturn ) = *reinterpret_cast<sal_uInt16*>( &rax );
-- break;
-- case typelib_TypeClass_BOOLEAN:
-- case typelib_TypeClass_BYTE:
-- *reinterpret_cast<sal_uInt8 *>( pRegisterReturn ) = *reinterpret_cast<sal_uInt8*>( &rax );
-- break;
-- case typelib_TypeClass_FLOAT:
-- case typelib_TypeClass_DOUBLE:
-- *reinterpret_cast<double *>( pRegisterReturn ) = xmm0;
-- break;
-- default:
-- {
-- sal_Int32 const nRetSize = pReturnTypeRef->pType->nSize;
-- if (bSimpleReturn && nRetSize <= 16 && nRetSize > 0)
-- {
-- sal_uInt64 longs[2];
-- longs[0] = rax;
-- longs[1] = rdx;
--
-- double doubles[2];
-- doubles[0] = xmm0;
-- doubles[1] = xmm1;
-- x86_64::fill_struct( pReturnTypeRef, &longs[0], &doubles[0], pRegisterReturn);
-- }
-- break;
-- }
-- }
--}
--
--//==================================================================================================
--
- // Macros for easier insertion of values to registers or stack
- // pSV - pointer to the source
- // nr - order of the value [will be increased if stored to register]
-@@ -384,7 +234,7 @@
- try
- {
- try {
-- callVirtualMethod(
-+ CPPU_CURRENT_NAMESPACE::callVirtualMethod(
- pAdjustedThisPtr, aVtableSlot.index,
- pCppReturn, pReturnTypeRef, bSimpleReturn,
- pStackStart, ( pStack - pStackStart ),
-@@ -450,7 +300,7 @@
- catch (...)
- {
- // fill uno exception
-- fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
-+ fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
-
- // temporary params
- for ( ; nTempIndizes--; )
diff --git a/patches/gcc-4.7-i386.diff b/patches/gcc-4.7-i386.diff
deleted file mode 100644
index 55f341f..0000000
--- a/patches/gcc-4.7-i386.diff
+++ /dev/null
@@ -1,494 +0,0 @@
-From b0515ea5fa6c29faebed616ae3e0213c72d24904 Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Wed, 04 Apr 2012 11:02:44 +0000
-Subject: Adapt cpp_uno/gcc3_linux_intel to GCC 4.7
-
-...the same way cpp_uno/gcc3_linux_x86-64 was already adapted.
----
-diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod.cxx
-new file mode 100644
-index 0000000..4c6370f
---- /dev/null
-+++ b/bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod.cxx
-@@ -0,0 +1,154 @@
-+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2000, 2010 Oracle and/or its affiliates.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#include "sal/config.h"
-+
-+#include <cassert>
-+
-+#include "cppu/macros.hxx"
-+#include "sal/types.h"
-+#include "typelib/typeclass.h"
-+#include "typelib/typedescription.h"
-+
-+#include "callvirtualmethod.hxx"
-+
-+// The call instruction within the asm block of callVirtualMethod may throw
-+// exceptions. At least GCC 4.7.0 with -O0 would create (unnecessary)
-+// .gcc_exception_table call-site table entries around all other calls in this
-+// function that can throw, leading to std::terminate if the asm call throws an
-+// exception and the unwinding C++ personality routine finds the unexpected hole
-+// in the .gcc_exception_table. Therefore, make sure this function explicitly
-+// only calls nothrow-functions (so GCC 4.7.0 with -O0 happens to not create a
-+// .gcc_exception_table section at all for this function). For some reason,
-+// this also needs to be in a source file of its own.
-+//
-+// Also, this file should be compiled with -fnon-call-exceptions, and ideally
-+// there would be a way to tell the compiler that the asm block contains calls
-+// to functions that can potentially throw; see the mail thread starting at
-+// <http://gcc.gnu.org/ml/gcc/2012-03/msg00454.html> "C++: Letting compiler know
-+// asm block can call function that can throw?"
-+
-+void CPPU_CURRENT_NAMESPACE::callVirtualMethod(
-+ void * pAdjustedThisPtr, sal_Int32 nVtableIndex, void * pRegisterReturn,
-+ typelib_TypeDescription * pReturnTypeDescr, bool bSimpleReturn,
-+ sal_Int32 * pStackLongs, sal_Int32 nStackLongs)
-+{
-+ // parameter list is mixed list of * and values
-+ // reference parameters are pointers
-+
-+ assert(pStackLongs && pAdjustedThisPtr);
-+ assert(sizeof (void *) == 4 && sizeof (sal_Int32) == 4);
-+ // unexpected size of int
-+ assert(nStackLongs && pStackLongs); // no stack
-+
-+ volatile long edx = 0, eax = 0; // for register returns
-+ void * stackptr;
-+ asm volatile (
-+ "mov %%esp, %6\n\t"
-+ // preserve potential 128bit stack alignment
-+ "and $0xfffffff0, %%esp\n\t"
-+ "mov %0, %%eax\n\t"
-+ "lea -4(,%%eax,4), %%eax\n\t"
-+ "and $0xf, %%eax\n\t"
-+ "sub $0xc, %%eax\n\t"
-+ "add %%eax, %%esp\n\t"
-+ // copy values
-+ "mov %0, %%eax\n\t"
-+ "mov %%eax, %%edx\n\t"
-+ "dec %%edx\n\t"
-+ "shl $2, %%edx\n\t"
-+ "add %1, %%edx\n"
-+ "Lcopy:\n\t"
-+ "pushl 0(%%edx)\n\t"
-+ "sub $4, %%edx\n\t"
-+ "dec %%eax\n\t"
-+ "jne Lcopy\n\t"
-+ // do the actual call
-+ "mov %2, %%edx\n\t"
-+ "mov 0(%%edx), %%edx\n\t"
-+ "mov %3, %%eax\n\t"
-+ "shl $2, %%eax\n\t"
-+ "add %%eax, %%edx\n\t"
-+ "mov 0(%%edx), %%edx\n\t"
-+ "call *%%edx\n\t"
-+ // save return registers
-+ "mov %%eax, %4\n\t"
-+ "mov %%edx, %5\n\t"
-+ // cleanup stack
-+ "mov %6, %%esp\n\t"
-+ :
-+ : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
-+ "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-+ : "eax", "ecx", "edx" );
-+ switch( pReturnTypeDescr->eTypeClass )
-+ {
-+ case typelib_TypeClass_VOID:
-+ break;
-+ case typelib_TypeClass_HYPER:
-+ case typelib_TypeClass_UNSIGNED_HYPER:
-+ ((long*)pRegisterReturn)[1] = edx;
-+ case typelib_TypeClass_LONG:
-+ case typelib_TypeClass_UNSIGNED_LONG:
-+ case typelib_TypeClass_CHAR:
-+ case typelib_TypeClass_ENUM:
-+ ((long*)pRegisterReturn)[0] = eax;
-+ break;
-+ case typelib_TypeClass_SHORT:
-+ case typelib_TypeClass_UNSIGNED_SHORT:
-+ *(unsigned short*)pRegisterReturn = eax;
-+ break;
-+ case typelib_TypeClass_BOOLEAN:
-+ case typelib_TypeClass_BYTE:
-+ *(unsigned char*)pRegisterReturn = eax;
-+ break;
-+ case typelib_TypeClass_FLOAT:
-+ asm ( "fstps %0" : : "m"(*(char *)pRegisterReturn) );
-+ break;
-+ case typelib_TypeClass_DOUBLE:
-+ asm ( "fstpl %0\n\t" : : "m"(*(char *)pRegisterReturn) );
-+ break;
-+ default:
-+ {
-+#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX) || \
-+ defined(DRAGONFLY)
-+ sal_Int32 const nRetSize = pReturnTypeDescr->nSize;
-+ if (bSimpleReturn && nRetSize <= 8 && nRetSize > 0)
-+ {
-+ if (nRetSize > 4)
-+ static_cast<long *>(pRegisterReturn)[1] = edx;
-+ static_cast<long *>(pRegisterReturn)[0] = eax;
-+ }
-+#else
-+ (void)bSimpleReturn;
-+#endif
-+ break;
-+ }
-+ }
-+}
-+
-+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod.hxx b/bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod.hxx
-new file mode 100644
-index 0000000..de498a3
---- /dev/null
-+++ b/bridges/source/cpp_uno/gcc3_linux_intel/callvirtualmethod.hxx
-@@ -0,0 +1,49 @@
-+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-+/*************************************************************************
-+ *
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * Copyright 2000, 2010 Oracle and/or its affiliates.
-+ *
-+ * OpenOffice.org - a multi-platform office productivity suite
-+ *
-+ * This file is part of OpenOffice.org.
-+ *
-+ * OpenOffice.org is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU Lesser General Public License version 3
-+ * only, as published by the Free Software Foundation.
-+ *
-+ * OpenOffice.org is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU Lesser General Public License version 3 for more details
-+ * (a copy is included in the LICENSE file that accompanied this code).
-+ *
-+ * You should have received a copy of the GNU Lesser General Public License
-+ * version 3 along with OpenOffice.org. If not, see
-+ * <http://www.openoffice.org/license.html>
-+ * for a copy of the LGPLv3 License.
-+ *
-+ ************************************************************************/
-+
-+#ifndef INCLUDED_BRIDGES_SOURCE_CPP_UNO_GCC3_LINUX_X86_64_CALLVIRTUALMETHOD_HXX
-+#define INCLUDED_BRIDGES_SOURCE_CPP_UNO_GCC3_LINUX_X86_64_CALLVIRTUALMETHOD_HXX
-+
-+#include "sal/config.h"
-+
-+#include "cppu/macros.hxx"
-+#include "sal/types.h"
-+#include "typelib/typedescription.h"
-+
-+namespace CPPU_CURRENT_NAMESPACE {
-+
-+void callVirtualMethod(
-+ void * pAdjustedThisPtr, sal_Int32 nVtableIndex, void * pRegisterReturn,
-+ typelib_TypeDescription * pReturnTypeDescr, bool bSimpleReturn,
-+ sal_Int32 * pStackLongs, sal_Int32 nStackLongs);
-+
-+}
-+
-+#endif
-+
-+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
-index c21df26..6515b8f 100644
---- a/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_intel/except.cxx
-@@ -33,6 +33,9 @@
- #include <boost/unordered_map.hpp>
-
- #include <cxxabi.h>
-+#ifndef _GLIBCXX_CDTOR_CALLABI // new in GCC 4.7 cxxabi.h
-+#define _GLIBCXX_CDTOR_CALLABI
-+#endif
-
- #include <rtl/instance.hxx>
- #include <rtl/strbuf.hxx>
-@@ -57,10 +60,6 @@ using namespace ::__cxxabiv1;
- namespace CPPU_CURRENT_NAMESPACE
- {
-
--void dummy_can_throw_anything( char const * )
--{
--}
--
- //==================================================================================================
- static OUString toUNOname( char const * p ) SAL_THROW( () )
- {
-@@ -217,7 +216,8 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
- struct RTTISingleton: public rtl::Static< RTTI, RTTISingleton > {};
-
- //--------------------------------------------------------------------------------------------------
--static void deleteException( void * pExc )
-+extern "C" {
-+static void _GLIBCXX_CDTOR_CALLABI deleteException( void * pExc )
- {
- __cxa_exception const * header = ((__cxa_exception const *)pExc - 1);
- typelib_TypeDescription * pTD = 0;
-@@ -230,6 +230,7 @@ static void deleteException( void * pExc )
- ::typelib_typedescription_release( pTD );
- }
- }
-+}
-
- //==================================================================================================
- void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
-diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk b/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk
-index 10d24a3..c814132 100644
---- a/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk
-+++ b/bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk
-@@ -58,6 +58,7 @@ CFLAGSNOOPT=-O0
-
- SLOFILES= \
- $(SLO)$/except.obj \
-+ $(SLO)$/callvirtualmethod.obj \
- $(SLO)$/cpp2uno.obj \
- $(SLO)$/uno2cpp.obj \
- $(SLO)$/call.obj
-diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx b/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx
-index 8a3e136..2eff557 100644
---- a/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_intel/share.hxx
-@@ -35,8 +35,6 @@
- namespace CPPU_CURRENT_NAMESPACE
- {
-
--void dummy_can_throw_anything( char const * );
--
- // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
-
- struct _Unwind_Exception
-@@ -68,17 +66,30 @@ struct __cxa_exception
- _Unwind_Exception unwindHeader;
- };
-
--extern "C" void *__cxa_allocate_exception(
-- std::size_t thrown_size ) throw();
--extern "C" void __cxa_throw (
-- void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ) __attribute__((noreturn));
--
- struct __cxa_eh_globals
- {
- __cxa_exception *caughtExceptions;
- unsigned int uncaughtExceptions;
- };
--extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
-+
-+}
-+
-+extern "C" CPPU_CURRENT_NAMESPACE::__cxa_eh_globals *__cxa_get_globals () throw();
-+
-+namespace CPPU_CURRENT_NAMESPACE
-+{
-+
-+// The following are in cxxabi.h since GCC 4.7 (they are wrapped in
-+// CPPU_CURRENT_NAMESPACE here as different GCC versions have slightly different
-+// declarations for them, e.g., with or without throw() specification, so would
-+// complain about redeclarations of these somewhat implicitly declared
-+// functions):
-+#if __GNUC__ == 4 && __GNUC_MINOR__ <= 6
-+extern "C" void *__cxa_allocate_exception(
-+ std::size_t thrown_size ) throw();
-+extern "C" void __cxa_throw (
-+ void *thrown_exception, void *tinfo, void (*dest) (void *) ) __attribute__((noreturn));
-+#endif
-
- // -----
-
-diff --git a/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
-index 49bac65..64d401b 100644
---- a/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
-+++ b/bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx
-@@ -30,7 +30,7 @@
- #if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(DRAGONFLY)
- #include <stdlib.h>
- #else
--#include <malloc.h>
-+#include <alloca.h>
- #endif
-
- #include <com/sun/star/uno/genfunc.hxx>
-@@ -42,6 +42,7 @@
- #include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
- #include "bridges/cpp_uno/shared/vtables.hxx"
-
-+#include "callvirtualmethod.hxx"
- #include "share.hxx"
-
- using namespace ::rtl;
-@@ -50,125 +51,6 @@ using namespace ::com::sun::star::uno;
- namespace
- {
-
--//==================================================================================================
--// The call instruction within the asm section of callVirtualMethod may throw
--// exceptions. So that the compiler handles this correctly, it is important
--// that (a) callVirtualMethod might call dummy_can_throw_anything (although this
--// never happens at runtime), which in turn can throw exceptions, and (b)
--// callVirtualMethod is not inlined at its call site (so that any exceptions are
--// caught which are thrown from the instruction calling callVirtualMethod):
--void callVirtualMethod(
-- void * pAdjustedThisPtr,
-- sal_Int32 nVtableIndex,
-- void * pRegisterReturn,
-- typelib_TypeDescription * pReturnTypeDescr, bool bSimpleReturn,
-- sal_Int32 * pStackLongs,
-- sal_Int32 nStackLongs ) __attribute__((noinline));
--
--void callVirtualMethod(
-- void * pAdjustedThisPtr,
-- sal_Int32 nVtableIndex,
-- void * pRegisterReturn,
-- typelib_TypeDescription * pReturnTypeDescr, bool bSimpleReturn,
-- sal_Int32 * pStackLongs,
-- sal_Int32 nStackLongs )
--{
-- // parameter list is mixed list of * and values
-- // reference parameters are pointers
--
-- OSL_ENSURE( pStackLongs && pAdjustedThisPtr, "### null ptr!" );
-- OSL_ENSURE( (sizeof(void *) == 4) && (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
-- OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
--
-- // never called
-- if (! pAdjustedThisPtr) CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
--
-- volatile long edx = 0, eax = 0; // for register returns
-- void * stackptr;
-- asm volatile (
-- "mov %%esp, %6\n\t"
-- // preserve potential 128bit stack alignment
-- "and $0xfffffff0, %%esp\n\t"
-- "mov %0, %%eax\n\t"
-- "lea -4(,%%eax,4), %%eax\n\t"
-- "and $0xf, %%eax\n\t"
-- "sub $0xc, %%eax\n\t"
-- "add %%eax, %%esp\n\t"
-- // copy values
-- "mov %0, %%eax\n\t"
-- "mov %%eax, %%edx\n\t"
-- "dec %%edx\n\t"
-- "shl $2, %%edx\n\t"
-- "add %1, %%edx\n"
-- "Lcopy:\n\t"
-- "pushl 0(%%edx)\n\t"
-- "sub $4, %%edx\n\t"
-- "dec %%eax\n\t"
-- "jne Lcopy\n\t"
-- // do the actual call
-- "mov %2, %%edx\n\t"
-- "mov 0(%%edx), %%edx\n\t"
-- "mov %3, %%eax\n\t"
-- "shl $2, %%eax\n\t"
-- "add %%eax, %%edx\n\t"
-- "mov 0(%%edx), %%edx\n\t"
-- "call *%%edx\n\t"
-- // save return registers
-- "mov %%eax, %4\n\t"
-- "mov %%edx, %5\n\t"
-- // cleanup stack
-- "mov %6, %%esp\n\t"
-- :
-- : "m"(nStackLongs), "m"(pStackLongs), "m"(pAdjustedThisPtr),
-- "m"(nVtableIndex), "m"(eax), "m"(edx), "m"(stackptr)
-- : "eax", "ecx", "edx" );
-- switch( pReturnTypeDescr->eTypeClass )
-- {
-- case typelib_TypeClass_VOID:
-- break;
-- case typelib_TypeClass_HYPER:
-- case typelib_TypeClass_UNSIGNED_HYPER:
-- ((long*)pRegisterReturn)[1] = edx;
-- case typelib_TypeClass_LONG:
-- case typelib_TypeClass_UNSIGNED_LONG:
-- case typelib_TypeClass_CHAR:
-- case typelib_TypeClass_ENUM:
-- ((long*)pRegisterReturn)[0] = eax;
-- break;
-- case typelib_TypeClass_SHORT:
-- case typelib_TypeClass_UNSIGNED_SHORT:
-- *(unsigned short*)pRegisterReturn = eax;
-- break;
-- case typelib_TypeClass_BOOLEAN:
-- case typelib_TypeClass_BYTE:
-- *(unsigned char*)pRegisterReturn = eax;
-- break;
-- case typelib_TypeClass_FLOAT:
-- asm ( "fstps %0" : : "m"(*(char *)pRegisterReturn) );
-- break;
-- case typelib_TypeClass_DOUBLE:
-- asm ( "fstpl %0\n\t" : : "m"(*(char *)pRegisterReturn) );
-- break;
-- default:
-- {
--#if defined (FREEBSD) || defined(NETBSD) || defined(OPENBSD) || defined(MACOSX) || \
-- defined(DRAGONFLY)
-- sal_Int32 const nRetSize = pReturnTypeDescr->nSize;
-- if (bSimpleReturn && nRetSize <= 8 && nRetSize > 0)
-- {
-- if (nRetSize > 4)
-- static_cast<long *>(pRegisterReturn)[1] = edx;
-- static_cast<long *>(pRegisterReturn)[0] = eax;
-- }
--#else
-- (void)bSimpleReturn;
--#endif
-- break;
-- }
-- }
--}
--
--//==================================================================================================
- static void cpp_call(
- bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
- bridges::cpp_uno::shared::VtableSlot aVtableSlot,
-@@ -287,7 +169,7 @@ static void cpp_call(
- try
- {
- OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
-- callVirtualMethod(
-+ CPPU_CURRENT_NAMESPACE::callVirtualMethod(
- pAdjustedThisPtr, aVtableSlot.index,
- pCppReturn, pReturnTypeDescr, bSimpleReturn,
- (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
-@@ -330,7 +212,7 @@ static void cpp_call(
- catch (...)
- {
- // fill uno exception
-- fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
-+ fillUnoException( __cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
-
- // temporary params
- for ( ; nTempIndizes--; )
---
-cgit v0.9.0.2-2-gbebe
diff --git a/patches/gcc-4.7.diff b/patches/gcc-4.7.diff
deleted file mode 100644
index 6a6cf9a..0000000
--- a/patches/gcc-4.7.diff
+++ /dev/null
@@ -1,135 +0,0 @@
-From 31d26fb9b85cd54267e1a5c0d5a3595e8bb4884c Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Thu, 29 Mar 2012 12:03:08 +0000
-Subject: GCC 4.7 -Werror=enum-compare
-
----
-diff --git a/vigra/makefile.mk b/vigra/makefile.mk
-index c8e4f77..6cee4b0 100644
---- a/vigra/makefile.mk
-+++ b/vigra/makefile.mk
-@@ -55,6 +55,13 @@ PATCH_FILES=$(TARFILE_NAME).patch
- TARFILE_MD5=ea91f2fb4212a21d708aced277e6e85a
- PATCH_FILES=$(TARFILE_NAME).patch
-
-+# At least GCC 4.7 treats more correctly now the type of enumerators prior to
-+# the closing brace of the enum-specifier (see [dcl.enum] in the C++ 2003
-+# Standard), leading to "comparison between <enum1> and <enum2> [-Werror=enum-
-+# compare]" and "enumeral mismatch in conditional expression [-Werror]"
-+# warnings:
-+PATCH_FILES += vigra1.4.0-enumwarn.patch
-+
- CONFIGURE_DIR=
- CONFIGURE_ACTION=
-
-diff --git a/vigra/vigra1.4.0-enumwarn.patch b/vigra/vigra1.4.0-enumwarn.patch
-new file mode 100644
-index 0000000..8ea1ed7
---- /dev/null
-+++ b/vigra/vigra1.4.0-enumwarn.patch
-@@ -0,0 +1,13 @@
-+--- misc/vigra1.4.0/include/vigra/sized_int.hxx 2012-03-28 13:36:02.743956393 +0200
-++++ misc/build/vigra1.4.0/include/vigra/sized_int.hxx 2012-03-28 13:35:44.956057143 +0200
-+@@ -80,8 +80,8 @@
-+ template<class LIST>
-+ struct SelectBiggestIntegerType
-+ {
-+- enum { cursize = LIST::size,
-+- nextsize = SelectBiggestIntegerType<typename LIST::next>::size,
-++ enum { cursize = static_cast< int >(LIST::size),
-++ nextsize = static_cast< int >(SelectBiggestIntegerType<typename LIST::next>::size),
-+ size = (cursize < nextsize) ? nextsize : cursize };
-+ typedef typename
-+ IfBool<(cursize < nextsize),
---
-cgit v0.9.0.2-2-gbebe
-From 8431ad2d8b64400052b8e6e218117dd9fb72f316 Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Thu, 29 Mar 2012 11:57:35 +0000
-Subject: Backport some Boost 1.48.0 changes to keep GCC 4.7 -std=c++11 happy
-
----
-diff --git a/boost/boost_1_44_0-gcc4.7.patch b/boost/boost_1_44_0-gcc4.7.patch
-new file mode 100644
-index 0000000..842a92a
---- /dev/null
-+++ b/boost/boost_1_44_0-gcc4.7.patch
-@@ -0,0 +1,49 @@
-+--- misc/boost_1_44_0/boost/smart_ptr/shared_ptr.hpp 2009-12-14 18:44:19.000000000 +0100
-++++ misc/build/boost_1_44_0/boost/smart_ptr/shared_ptr.hpp 2012-03-28 08:32:46.772493003 +0200
-+@@ -207,7 +207,17 @@
-+ boost::detail::sp_enable_shared_from_this( this, p, p );
-+ }
-+
-+-// generated copy constructor, destructor are fine
-++// generated copy constructor, destructor are fine...
-++
-++#if defined( BOOST_HAS_RVALUE_REFS )
-++
-++// ... except in C++0x, move disables the implicit copy
-++
-++ shared_ptr( shared_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
-++ {
-++ }
-++
-++#endif
-+
-+ template<class Y>
-+ explicit shared_ptr(weak_ptr<Y> const & r): pn(r.pn) // may throw
-+--- misc/boost_1_44_0/boost/smart_ptr/weak_ptr.hpp 2009-12-14 18:44:19.000000000 +0100
-++++ misc/build/boost_1_44_0/boost/smart_ptr/weak_ptr.hpp 2012-03-28 10:31:57.607462325 +0200
-+@@ -40,8 +40,24 @@
-+ {
-+ }
-+
-+-// generated copy constructor, assignment, destructor are fine
-++// generated copy constructor, assignment, destructor are fine...
-+
-++#if defined( BOOST_HAS_RVALUE_REFS )
-++
-++// ... except in C++0x, move disables the implicit copy
-++
-++ weak_ptr( weak_ptr const & r ): px( r.px ), pn( r.pn ) // never throws
-++ {
-++ }
-++
-++ weak_ptr & operator=( weak_ptr const & r ) // never throws
-++ {
-++ px = r.px;
-++ pn = r.pn;
-++ return *this;
-++ }
-++
-++#endif
-+
-+ //
-+ // The "obvious" converting constructor implementation:
-diff --git a/boost/makefile.mk b/boost/makefile.mk
-index 093566b..cab945f 100644
---- a/boost/makefile.mk
-+++ b/boost/makefile.mk
-@@ -71,6 +71,9 @@ PATCH_FILES+=boost.windows.patch
-
- PATCH_FILES+=boost.windows.patch
-
-+# Backporting fixes for the GCC 4.7 -std=c++11 mode from Boost 1.48.0:
-+PATCH_FILES += boost_1_44_0-gcc4.7.patch
-+
- ADDITIONAL_FILES= \
- libs/thread/src/win32/makefile.mk \
- libs/date_time/src/gregorian/makefile.mk
---
-cgit v0.9.0.2-2-gbebe
-diff --git a/sal/qa/osl/mutex/osl_Mutex.cxx b/sal/qa/osl/mutex/osl_Mutex.cxx
-index 10a95c1..f4f34d6 100644
---- a/sal/qa/osl/mutex/osl_Mutex.cxx
-+++ b/sal/qa/osl/mutex/osl_Mutex.cxx
-@@ -754,7 +754,7 @@ namespace osl_ClearableGuard
- TimeValue aTimeVal_after;
- osl_getSystemTime( &aTimeVal_after );
- sal_Int32 nSec = aTimeVal_after.Seconds - aTimeVal_befor.Seconds;
-- printf("nSec is %"SAL_PRIdINT32"\n", nSec);
-+ printf("nSec is %" SAL_PRIdINT32 "\n", nSec);
-
- myThread.join();
-
diff --git a/patches/jdk7.diff b/patches/jdk7.diff
deleted file mode 100644
index 30c77ae..0000000
--- a/patches/jdk7.diff
+++ /dev/null
@@ -1,326 +0,0 @@
-From 7e6a58014864ddafe534ed7a08ecca75fa4e4860 Mon Sep 17 00:00:00 2001
-From: Michael Stahl <mstahl@redhat.com>
-Date: Thu, 17 May 2012 22:50:25 +0000
-Subject: codemaker: write version 49 (1.5) class files
-
-The trick of writing generic types into class files of versions < 49
-does no longer work with javac from OpenJDK 7:
-
-/comphelper/qa/complex/comphelper/Map.java:154: error: type Pair does
-not take parameters
- Pair< ?, ? >[] initialMappings = new Pair< ?, ? >[ _keys.length ];
-
-There appears to be a related JDK bug for this, at some time javac had
-an undocumented option to produce similar class files that are also
-rejected now, this has been closed as "Not a Defect":
-
-http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7078419
-
-Change-Id: I8a504f6cbb3bb58cd914aebb88637cc6feb0bd48
-(cherry picked from commit 26643fb59e0005f0bc83708b785d20d62d8e7411)
-
-Signed-off-by: Michael Stahl <mstahl@redhat.com>
-Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
----
-diff --git a/codemaker/source/javamaker/classfile.cxx b/codemaker/source/javamaker/classfile.cxx
-index 4f74781..59d386e 100644
---- a/codemaker/source/javamaker/classfile.cxx
-+++ b/codemaker/source/javamaker/classfile.cxx
-@@ -693,7 +693,7 @@ void ClassFile::addMethod(
- void ClassFile::write(FileStream & file) const {
- writeU4(file, 0xCAFEBABE);
- writeU2(file, 0);
-- writeU2(file, 46);
-+ writeU2(file, 49); // class file version of JRE 1.5
- writeU2(file, m_constantPoolCount);
- writeStream(file, m_constantPool);
- writeU2(file, static_cast< sal_uInt16 >(m_accessFlags));
---
-cgit v0.9.0.2-2-gbebe
-diff --git a/hsqldb/makefile.mk b/hsqldb/makefile.mk
-index 8b3d5b1..2e9fa8a 100755
---- a/hsqldb/makefile.mk
-+++ b/hsqldb/makefile.mk
-@@ -56,7 +56,8 @@ CONVERTFILES=build$/build.xml \
- PATCH_FILES=patches$/i96823.patch \
- patches$/i97032.patch \
- patches$/i103528.patch \
-- patches$/i104901.patch
-+ patches$/i104901.patch \
-+ patches$/jdbc-4.1.patch
-
- .IF "$(JAVACISGCJ)"=="yes"
- JAVA_HOME=
-diff --git a/hsqldb/patches/jdbc-4.1.patch b/hsqldb/patches/jdbc-4.1.patch
-new file mode 100644
-index 0000000..89149c4
---- /dev/null
-+++ b/hsqldb/patches/jdbc-4.1.patch
-@@ -0,0 +1,267 @@
-+--- misc/hsqldb/build/build.xml 2012-02-08 15:14:42.827123541 +0000
-++++ misc/build/hsqldb/build/build.xml 2012-02-08 15:21:43.827722388 +0000
-+@@ -98,7 +98,11 @@
-+ <echo message="ant.java.hasjsse=${ant.java.hasjsse}" />
-+ </target>
-+
-+- <target name="javaversion6">
-++ <target name="javaversion7">
-++ <available classname="java.util.Objects" property="ant.java.iscjava17"/>
-++ </target>
-++
-++ <target name="javaversion6" depends="javaversion7" unless="ant.java.iscjava17">
-+ <available classname="java.net.IDN" property="ant.java.iscjava16"/>
-+ </target>
-+
-+@@ -210,6 +214,7 @@
-+ <arg value="+JAVA2FULL"/>
-+ <arg value="-JAVA4"/>
-+ <arg value="-JAVA6"/>
-++ <arg value="-JAVA7"/>
-+ </java>
-+ </target>
-+
-+@@ -244,6 +249,7 @@
-+ <arg value="+JAVA2FULL"/>
-+ <arg value="+JAVA4"/>
-+ <arg value="-JAVA6"/>
-++ <arg value="-JAVA7"/>
-+ </java>
-+ </target>
-+
-+@@ -279,10 +285,47 @@
-+ <arg value="+JAVA2FULL"/>
-+ <arg value="+JAVA4"/>
-+ <arg value="+JAVA6"/>
-++ <arg value="+JAVA7"/>
-++ </java>
-++ </target>
-++
-++ <target name="switchtojdk17" depends="switchtojdk16"
-++ description="self explanatory" if="ant.java.iscjava17">
-++ <java classname="org.hsqldb.util.CodeSwitcher" classpath="classes" >
-++ <arg file="${src}/org/hsqldb/lib/java/JavaSystem.java"/>
-++ <arg file="${src}/org/hsqldb/lib/HsqlTimer.java"/>
-++ <arg file="${src}/org/hsqldb/jdbcDriver.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcBlob.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcDatabaseMetaData.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcDataSource.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcCallableStatement.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcClob.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcConnection.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcParameterMetaData.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcPreparedStatement.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcResultSet.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcResultSetMetaData.java"/>
-++ <arg file="${src}/org/hsqldb/jdbc/jdbcStatement.java"/>
-++ <arg file="${src}/org/hsqldb/persist/LockFile.java"/>
-++ <arg file="${src}/org/hsqldb/persist/Logger.java"/>
-++ <arg file="${src}/org/hsqldb/persist/ScaledRAFile.java"/>
-++ <arg file="${src}/org/hsqldb/rowio/RowInputTextLog.java"/>
-++ <arg file="${src}/org/hsqldb/util/DatabaseManager.java"/>
-++ <arg file="${src}/org/hsqldb/util/ConnectionDialogCommon.java"/>
-++ <arg file="${src}/org/hsqldb/lib/SimpleLog.java"/>
-++ <arg file="${src}/org/hsqldb/rowio/RowInputTextLog.java"/>
-++ <arg file="${src}/org/hsqldb/lib/SimpleLog.java"/>
-++ <arg file="${src}/org/hsqldb/rowio/RowInputTextLog.java"/>
-++ <arg file="${src}/org/hsqldb/HsqlDateTime.java"/>
-++ <arg value="+JAVA2"/>
-++ <arg value="+JAVA2FULL"/>
-++ <arg value="+JAVA4"/>
-++ <arg value="+JAVA6"/>
-++ <arg value="+JAVA7"/>
-+ </java>
-+ </target>
-+
-+- <target name="store" depends="switchtojdk16"
-++ <target name="store" depends="switchtojdk17"
-+ description="compiles the /store folder">
-+ <javac srcdir="${src}"
-+ destdir="classes"
-+--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcCallableStatement.java 2012-02-08 15:14:42.802123563 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcCallableStatement.java 2012-02-08 15:47:35.842635642 +0000
-+@@ -3375,4 +3375,18 @@
-+ }
-+
-+ //#endif JAVA6
-++
-++//#ifdef JAVA7
-++ public <T> T getObject(String columnLabel, Class<T> type) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public <T> T getObject(int ColumnIndex, Class<T> type) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++
-++//#endif JAVA7
-+ }
-+--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java 2012-02-08 15:14:42.802123563 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java 2012-02-08 15:47:35.851635628 +0000
-+@@ -48,6 +48,12 @@
-+ import java.sql.SQLXML;
-+
-+ //#endif JAVA6
-++
-++//#ifdef JAVA7
-++import java.util.concurrent.Executor;
-++
-++//#endif JAVA7
-++
-+ import java.sql.PreparedStatement;
-+ import java.sql.SQLException;
-+ import java.sql.SQLWarning;
-+@@ -2793,4 +2799,31 @@
-+ }
-+
-+ //#endif JAVA6
-++
-++//#ifdef JAVA7
-++ public int getNetworkTimeout() throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public void setNetworkTimeout(Executor executor, int millis) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public void abort(Executor executor) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public String getSchema() throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public void setSchema(String schema) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++//#endif JAVA7
-+ }
-+--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java 2012-02-08 15:14:42.802123563 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java 2012-02-08 15:47:35.835635654 +0000
-+@@ -5693,4 +5693,21 @@
-+ }
-+
-+ //#endif JAVA6
-++
-++
-++//#ifdef JAVA7
-++ public boolean generatedKeyAlwaysReturned() throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public ResultSet getPseudoColumns(String catalog, String schemaPattern,
-++ String tableNamePattern, String columnNamePattern) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++
-++//#endif JAVA7
-++
-+ }
-+--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java 2012-02-08 15:14:42.802123563 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java 2012-02-08 15:47:35.836635653 +0000
-+@@ -47,6 +47,11 @@
-+ //#endif JAVA4
-+ import org.hsqldb.jdbcDriver;
-+
-++//#ifdef JAVA7
-++import java.sql.SQLFeatureNotSupportedException;
-++import java.util.logging.Logger;
-++//#endif JAVA7
-++
-+ // boucherb@users 20040411 - doc 1.7.2 - javadoc updates toward 1.7.2 final
-+
-+ /**
-+@@ -323,4 +328,12 @@
-+ }
-+
-+ //#endif JAVA6
-++
-++//#ifdef JAVA7
-++ public Logger getParentLogger() throws SQLFeatureNotSupportedException
-++ {
-++ throw new SQLFeatureNotSupportedException("Not supported yet.");
-++ }
-++
-++//#endif JAVA7
-+ }
-+--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java 2012-02-08 15:14:42.802123563 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java 2012-02-08 15:47:35.866635606 +0000
-+@@ -5324,4 +5324,19 @@
-+ }
-+
-+ //#endif JAVA6
-++
-++//#ifdef JAVA7
-++
-++ public <T> T getObject(String columnLabel, Class<T> type) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public <T> T getObject(int columnNum, Class<T> type) throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++//#endif JAVA7
-++
-+ }
-+--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java 2012-02-08 15:14:42.802123563 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java 2012-02-08 15:47:35.872635595 +0000
-+@@ -1608,4 +1608,16 @@
-+ throw new UnsupportedOperationException("Not supported yet.");
-+ }
-+ //#endif JAVA6
-++
-++//#ifdef JAVA7
-++ public boolean isCloseOnCompletion() throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++
-++ public void closeOnCompletion() throws SQLException
-++ {
-++ throw new UnsupportedOperationException("Not supported yet.");
-++ }
-++//#endif JAVA7
-+ }
-+--- misc/hsqldb/src/org/hsqldb/jdbcDriver.java 2012-02-08 15:14:42.800123566 +0000
-++++ misc/build/hsqldb/src/org/hsqldb/jdbcDriver.java 2012-02-08 15:47:35.826635667 +0000
-+@@ -42,6 +42,11 @@
-+ import org.hsqldb.persist.HsqlDatabaseProperties;
-+ import org.hsqldb.persist.HsqlProperties;
-+
-++//#ifdef JAVA7
-++import java.sql.SQLFeatureNotSupportedException;
-++import java.util.logging.Logger;
-++//#endif JAVA7
-++
-+ // fredt@users 20011220 - patch 1.7.0 by fredt
-+ // new version numbering scheme
-+ // fredt@users 20020320 - patch 1.7.0 - JDBC 2 support and error trapping
-+@@ -321,4 +326,12 @@
-+ DriverManager.registerDriver(new jdbcDriver());
-+ } catch (Exception e) {}
-+ }
-++
-++//#ifdef JAVA7
-++ public Logger getParentLogger() throws SQLFeatureNotSupportedException
-++ {
-++ throw new SQLFeatureNotSupportedException("Not supported yet.");
-++ }
-++
-++//#endif JAVA7
-+ }
diff --git a/patches/make-shortcuts-in-menus-localized-again.diff b/patches/make-shortcuts-in-menus-localized-again.diff
deleted file mode 100644
index 7a7752c..0000000
--- a/patches/make-shortcuts-in-menus-localized-again.diff
+++ /dev/null
@@ -1,402 +0,0 @@
-From 002d68826a0655ca05c4ed77e4358f1455b5eb77 Mon Sep 17 00:00:00 2001
-From: Thomas Arnhold <thomas@arnhold.org>
-Date: Tue, 5 Jun 2012 22:26:07 +0200
-Subject: [PATCH] fdo#50415 and fdo#34638 Fix Shortcut names are not localized
- on Linux
-
-This partially reverts commit 2233aa52da14ec85331aee1163b885fe9a9fb507
-and commit 8d9e2d9a211f710e91ac7c607fea25895282d245
-
-Before the keyboard name was used to determine the target language
-for translation of UI shortcuts. With this patch the UI locale
-is used to determine the language.
-
-Related to:
-- 8d9e2d9a211f710e91ac7c607fea25895282d245
-- 04b9c2f633f0be1b676933943bdd0b1dc58b5471
-
-Change-Id: Id7ee05ed4065dd4f0c12d283413e97092e95a15f
----
- vcl/inc/unx/saldisp.hxx | 9 ++
- vcl/unx/generic/app/keysymnames.cxx | 248 +++--------------------------------
- vcl/unx/generic/app/saldisp.cxx | 28 ++--
- 3 files changed, 42 insertions(+), 243 deletions(-)
-
-diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx
-index 83bf9ea..150a100 100644
---- a/vcl/inc/unx/saldisp.hxx
-+++ b/vcl/inc/unx/saldisp.hxx
-@@ -474,6 +474,15 @@ namespace vcl_sal {
- }
-
-
-+
-+// get foreign key names
-+namespace vcl_sal {
-+ rtl::OUString getKeysymReplacementName(
-+ rtl::OUString pLang,
-+ KeySym nSymbol );
-+}
-+
-+
- #endif // _SV_SALDISP_HXX
-
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/vcl/unx/generic/app/keysymnames.cxx b/vcl/unx/generic/app/keysymnames.cxx
-index fa1eafd..bc1d705 100644
---- a/vcl/unx/generic/app/keysymnames.cxx
-+++ b/vcl/unx/generic/app/keysymnames.cxx
-@@ -26,7 +26,6 @@
- *
- ************************************************************************/
-
--
- #if !defined(SOLARIS) && !defined(AIX)
- #include <tools/prex.h>
- #include <X11/XKBlib.h>
-@@ -50,19 +49,8 @@
- #define SunXK_Cut 0x1005FF75
- #endif
-
--#ifdef SOLARIS
--#include <sys/types.h>
--#include <sys/ioctl.h>
--#include <sys/kbio.h>
--#include <sys/kbd.h>
--#include <stdio.h>
--#include <fcntl.h>
--#include <deflt.h>
--#include <unistd.h>
--#include <stdlib.h>
--#endif
--
- #include <string.h>
-+#include <rtl/ustring.hxx>
-
- namespace vcl_sal {
-
-@@ -74,7 +62,7 @@ namespace vcl_sal {
-
- struct KeyboardReplacements
- {
-- const char* pKeyboardName;
-+ const char* pLangName;
- const KeysymNameReplacement* pReplacements;
- int nReplacements;
- };
-@@ -340,243 +328,45 @@ namespace vcl_sal {
-
- static const struct KeyboardReplacements aKeyboards[] =
- {
--#ifdef SOLARIS
-- { "Germany5", aImplReplacements_German, SAL_N_ELEMENTS(aImplReplacements_German) },
-- { "Germany4", aImplReplacements_German, SAL_N_ELEMENTS(aImplReplacements_German) },
-- { "France5", aImplReplacements_French, SAL_N_ELEMENTS(aImplReplacements_French) },
-- { "France6", aImplReplacements_French, SAL_N_ELEMENTS(aImplReplacements_French) },
-- { "France_x86", aImplReplacements_French, SAL_N_ELEMENTS(aImplReplacements_French) },
-- { "Italy5", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-- { "Italy5-Hobo", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-- { "Italy4", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-- { "Italy6", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-- { "Italy_x86", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-- { "Netherland4", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- { "Netherland5", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- { "Netherland5-Hobo", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- { "Netherland6", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- { "Netherland_x86", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- { "Norway5", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-- { "Norway5-Hobo", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-- { "Norway4", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-- { "Norway6", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-- { "Norway_x86", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-- { "Portugal5", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-- { "Portugal5-Hobo", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-- { "Portugal4", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-- { "Portugal6", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-- { "Portugal_x86", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-- { "Spain5", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- { "Spain5-Hobo", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- { "Spain4", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- { "Spain6", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- { "Spain_x86", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- { "Sweden5", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
-- { "Sweden5-Hobo", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
-- { "Sweden4", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
-- { "Sweden6", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
-- { "Sweden_x86", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
--#endif
-- { "U.S. English", aImplReplacements_English, SAL_N_ELEMENTS(aImplReplacements_English) },
-- { "United Kingdom", aImplReplacements_English, SAL_N_ELEMENTS(aImplReplacements_English) },
-- // Germany, German
-- { "German", aImplReplacements_German, SAL_N_ELEMENTS(aImplReplacements_German) },
-- { "France", aImplReplacements_French, SAL_N_ELEMENTS(aImplReplacements_French) },
-- { "French", aImplReplacements_French, SAL_N_ELEMENTS(aImplReplacements_French) },
-- // Italy, Italian
-- { "Ital", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-- // Norway, Norwegian
-- { "Norw", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-- // Portugal, Portuguese
-- { "Portu", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-- { "Spain", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- { "Spanish", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-- // Sweden, Swedish
-- { "Swed", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
-- { "Netherland", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- { "Dutch", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-- // Turkish, Turkey
-- { "Turk", aImplReplacements_Turkish, SAL_N_ELEMENTS(aImplReplacements_Turkish) },
-- // Russian, Russia
-- { "Russia", aImplReplacements_Russian, SAL_N_ELEMENTS(aImplReplacements_Russian) },
-- { "English", aImplReplacements_English, SAL_N_ELEMENTS(aImplReplacements_English) }
-+ { "de", aImplReplacements_German, SAL_N_ELEMENTS(aImplReplacements_German) },
-+ { "es", aImplReplacements_Spanish, SAL_N_ELEMENTS(aImplReplacements_Spanish) },
-+ { "fr", aImplReplacements_French, SAL_N_ELEMENTS(aImplReplacements_French) },
-+ { "it", aImplReplacements_Italian, SAL_N_ELEMENTS(aImplReplacements_Italian) },
-+ { "nl", aImplReplacements_Dutch, SAL_N_ELEMENTS(aImplReplacements_Dutch) },
-+ { "no", aImplReplacements_Norwegian, SAL_N_ELEMENTS(aImplReplacements_Norwegian) },
-+ { "pt", aImplReplacements_Portuguese, SAL_N_ELEMENTS(aImplReplacements_Portuguese) },
-+ { "ru", aImplReplacements_Russian, SAL_N_ELEMENTS(aImplReplacements_Russian) },
-+ { "sv", aImplReplacements_Swedish, SAL_N_ELEMENTS(aImplReplacements_Swedish) },
-+ { "tr", aImplReplacements_Turkish, SAL_N_ELEMENTS(aImplReplacements_Turkish) },
- };
-
-- rtl::OUString getKeysymReplacementName( const char* pKeyboard, KeySym nSymbol )
-+ // translate keycodes, used within the displayed menu shortcuts
-+ rtl::OUString getKeysymReplacementName( rtl::OUString pLang, KeySym nSymbol )
- {
- for( unsigned int n = 0; n < SAL_N_ELEMENTS(aKeyboards); n++ )
- {
-- if( ! strncasecmp( pKeyboard, aKeyboards[n].pKeyboardName, strlen( aKeyboards[n].pKeyboardName ) ) )
-+ if( pLang.equalsAscii( aKeyboards[n].pLangName ) )
- {
- const struct KeysymNameReplacement* pRepl = aKeyboards[n].pReplacements;
- for( int m = aKeyboards[n].nReplacements ; m ; )
- {
- if( nSymbol == pRepl[--m].aSymbol )
-- return String( pRepl[m].pName, RTL_TEXTENCODING_UTF8 );
-+ return rtl::OUString( pRepl[m].pName, strlen(pRepl[m].pName), RTL_TEXTENCODING_UTF8 );
- }
- }
- }
-+
- // try english fallbacks
- const struct KeysymNameReplacement* pRepl = aImplReplacements_English;
- for( int m = SAL_N_ELEMENTS(aImplReplacements_English); m ; )
- {
- if( nSymbol == pRepl[--m].aSymbol )
-- return String( pRepl[m].pName, RTL_TEXTENCODING_UTF8 );
-+ return rtl::OUString( pRepl[m].pName, strlen(pRepl[m].pName), RTL_TEXTENCODING_UTF8 );
- }
-+
- return rtl::OUString();
- }
-
- }
-
--#ifdef SOLARIS
--typedef struct {
-- int n_layout;
-- const char* p_description;
--} keyboard_layout;
--
--static const keyboard_layout type0_layout[] =
--{
-- { 0, "US4" },
-- { -1, NULL }
--};
--
--static const keyboard_layout type3_layout[] =
--{
-- { 0, "US3" },
-- { -1, NULL }
--};
--
--static const keyboard_layout type4_layout[] =
--{
-- { 0, "US4" },
-- { 1, "US4" },
-- { 2, "FranceBelg4" },
-- { 3, "Canada4" },
-- { 4, "Denmark4" },
-- { 5, "Germany4" },
-- { 6, "Italy4" },
-- { 7, "Netherland4" },
-- { 8, "Norway4" },
-- { 9, "Portugal4" },
-- { 10, "SpainLatAm4" },
-- { 11, "SwedenFin4" },
-- { 12, "Switzer_Fr4" },
-- { 13, "Switzer_Ge4" },
-- { 14, "UK4" },
-- { 16, "Korea4" },
-- { 17, "Taiwan4" },
-- { 19, "US101A_PC" },
-- { 19, "US101A_Sun" },
-- { 32, "Japan4" },
-- { 33, "US5" },
-- { 34, "US_UNIX5" },
-- { 35, "France5" },
-- { 36, "Denmark5" },
-- { 37, "Germany5" },
-- { 38, "Italy5" },
-- { 39, "Netherland5" },
-- { 40, "Norway5" },
-- { 41, "Portugal5" },
-- { 42, "Spain5" },
-- { 43, "Sweden5" },
-- { 44, "Switzer_Fr5" },
-- { 45, "Switzer_Ge5" },
-- { 46, "UK5" },
-- { 47, "Korea5" },
-- { 48, "Taiwan5" },
-- { 49, "Japan5" },
-- { 50, "Canada_Fr5" },
-- { 51, "Hungary5" },
-- { 52, "Poland5" },
-- { 53, "Czech5" },
-- { 54, "Russia5" },
-- { 55, "Latvia5" },
-- { 56, "Turkey5" },
-- { 57, "Greece5" },
-- { 58, "Estonia5" },
-- { 59, "Lithuania5" },
-- { 63, "Canada_Fr5_TBITS5" },
-- { 80, "US5_Hobo" },
-- { 81, "US_UNIX5_Hobo" },
-- { 82, "France5_Hobo" },
-- { 83, "Denmark5_Hobo" },
-- { 84, "Germany5_Hobo" },
-- { 85, "Italy5_Hobo" },
-- { 86, "Netherland5_Hobo" },
-- { 87, "Norway5_Hobo" },
-- { 88, "Portugal5_Hobo" },
-- { 89, "Spain5_Hobo" },
-- { 90, "Sweden5_Hobo" },
-- { 91, "Switzer_Fr5_Hobo" },
-- { 92, "Switzer_Ge5_Hobo" },
-- { 93, "UK5_Hobo" },
-- { 94, "Korea5_Hobo" },
-- { 95, "Taiwan5_Hobo" },
-- { 96, "Japan5_Hobo" },
-- { 97, "Canada_Fr5_Hobo" },
-- { -1, NULL }
--};
--
--static const keyboard_layout type101_layout[] =
--{
-- { 0, "US101A_x86" },
-- { 1, "US101A_x86" },
-- { 34, "J3100_x86" },
-- { 35, "France_x86" },
-- { 36, "Denmark_x86" },
-- { 37, "Germany_x86" },
-- { 38, "Italy_x86" },
-- { 39, "Netherland_x86" },
-- { 40, "Norway_x86" },
-- { 41, "Portugal_x86" },
-- { 42, "Spain_x86" },
-- { 43, "Sweden_x86" },
-- { 44, "Switzer_Fr_x86" },
-- { 45, "Switzer_Ge_x86" },
-- { 46, "UK_x86" },
-- { 47, "Korea_x86" },
-- { 48, "Taiwan_x86" },
-- { 49, "Japan_x86" },
-- { 50, "Canada_Fr2_x86" },
-- { 51, "Hungary_x86" },
-- { 52, "Poland_x86" },
-- { 53, "Czech_x86" },
-- { 54, "Russia_x86" },
-- { 55, "Latvia_x86" },
-- { 56, "Turkey_x86" },
-- { 57, "Greece_x86" },
-- { 59, "Lithuania_x86" },
-- { 1001, "MS_US101A_x86" },
-- { -1, NULL }
--};
--
--static const keyboard_layout type6_layout[] =
--{
-- { 0, "US6" },
-- { 6, "Denmark6" },
-- { 7, "Finnish6" },
-- { 8, "France6" },
-- { 9, "Germany6" },
-- { 14, "Italy6" },
-- { 15, "Japan6" },
-- { 16, "Korea6" },
-- { 18, "Netherland6" },
-- { 19, "Norway6" },
-- { 22, "Portugal6" },
-- { 25, "Spain6" },
-- { 26, "Sweden6" },
-- { 27, "Switzer_Fr6" },
-- { 28, "Switzer_Ge6" },
-- { 30, "Taiwan6" },
-- { 32, "UK6" },
-- { 33, "US6" },
-- { -1, NULL }
--};
--#endif
--
--
--#if OSL_DEBUG_LEVEL > 1
--#include <stdio.h>
--#endif
--
- /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
-diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx
-index 33f94b2..e2b05e2 100644
---- a/vcl/unx/generic/app/saldisp.cxx
-+++ b/vcl/unx/generic/app/saldisp.cxx
-@@ -70,6 +70,8 @@ Status XineramaGetInfo(Display*, int, XRectangle*, unsigned char*, int*);
-
- #include <tools/postx.h>
-
-+#include <vcl/svapp.hxx>
-+
- #include <unx/salunx.h>
- #include <sal/types.h>
- #include "unx/i18n_im.hxx"
-@@ -936,6 +939,7 @@ sal_uInt16 SalDisplay::GetIndicatorState() const
-
- rtl::OUString SalDisplay::GetKeyNameFromKeySym( KeySym nKeySym ) const
- {
-+ rtl::OUString aLang = Application::GetSettings().GetUILocale().Language;
- rtl::OUString aRet;
-
- // return an empty string for keysyms that are not bound to
-@@ -947,20 +951,16 @@ rtl::OUString SalDisplay::GetKeyNameFromKeySym( KeySym nKeySym ) const
- aRet = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "???" ) );
- else
- {
-- // lp#818761: removing the problematic call to GetKeyboardName() as
-- // getKeysymReplacementName only provides the name of the key named
-- // as given by the l10n of the _keyboard_ (not the locale) e.g. a
-- // german keyboard would name "Ctrl" instead as "Strg". Assuming
-- // this change to be safe as getKeysymReplacementName falls back to
-- // English names anyway.
-- // this code is completely removed on master/3.6 anyway, see
-- // commit 2233aa52da14ec85331aee1163b885fe9a9fb507
-- const char *pString = XKeysymToString( nKeySym );
-- int n = strlen( pString );
-- if( n > 2 && pString[n-2] == '_' )
-- aRet = rtl::OUString( pString, n-2, RTL_TEXTENCODING_ISO_8859_1 );
-- else
-- aRet = rtl::OUString( pString, n, RTL_TEXTENCODING_ISO_8859_1 );
-+ aRet = ::vcl_sal::getKeysymReplacementName( aLang, nKeySym );
-+ if( aRet.isEmpty() )
-+ {
-+ const char *pString = XKeysymToString( nKeySym );
-+ int n = strlen( pString );
-+ if( n > 2 && pString[n-2] == '_' )
-+ aRet = rtl::OUString( pString, n-2, RTL_TEXTENCODING_ISO_8859_1 );
-+ else
-+ aRet = rtl::OUString( pString, n, RTL_TEXTENCODING_ISO_8859_1 );
-+ }
- }
- }
- return aRet;
---
-1.7.10.3
-
diff --git a/patches/series b/patches/series
index e29998d..89cfeb9 100644
--- a/patches/series
+++ b/patches/series
@@ -27,16 +27,8 @@ move-binfilter-mimetypes-in-extra-desktop-file.diff
pythonloader.uno.so-libpyuno-and-pyuno-are-duplicate.diff
debian-hardened-buildflags.diff
gtk3-hack-explicit-gmodule.diff
-gcc-4.7.diff
-gcc-4.7-i386.diff
-gcc-4.7-amd64.diff
-jdk7.diff
lp-926940-visio-mime-for-draw.diff
gcc-4.4.diff
lp-904212-add-missing-mimetypes-to-impress.desktop.diff
ignore-sc_cellrangesbase-fails.diff
fix-Test-BigPtrArray-on-64bit-bigendian.diff
-yyinput-fix-for-unsigned-char.diff
-fix-signed-char-mess.diff
-make-shortcuts-in-menus-localized-again.diff
-fix-legacy-report-opening.diff
diff --git a/patches/yyinput-fix-for-unsigned-char.diff b/patches/yyinput-fix-for-unsigned-char.diff
deleted file mode 100644
index 2a8f154..0000000
--- a/patches/yyinput-fix-for-unsigned-char.diff
+++ /dev/null
@@ -1,91 +0,0 @@
-From 6b3bf27cb56d661725ac3fcfb756562e0ad75564 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
-Date: Mon, 14 May 2012 14:00:59 +0100
-Subject: [PATCH] ppc: yyinput returns a int, truncating to (unsigned)char
- does't work
-
-retain this as an int so that on platforms where char is unsigned
-we don't mangle the value and get this all wrong.
-
-Fixes database opening tables on ppc if -fsigned-char is removed
-
-Change-Id: I66f0c6b1b19191595f8b348377579f2daabf7ada
----
- connectivity/source/parse/sqlflex.l | 18 +++++++++---------
- 1 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/connectivity/source/parse/sqlflex.l b/connectivity/source/parse/sqlflex.l
-index d5b2f14..fd27cb8 100755
---- a/connectivity/source/parse/sqlflex.l
-+++ b/connectivity/source/parse/sqlflex.l
-@@ -76,7 +76,7 @@ using namespace connectivity;
-
- static ::rtl::OUString aEmptyString;
-
--static sal_Int32 gatherString(sal_Int32 delim, sal_Int32 nTyp);
-+static sal_Int32 gatherString(int delim, sal_Int32 nTyp);
- static sal_Int32 gatherName(const sal_Char*);
- static sal_Int32 gatherNamePre(const sal_Char* );
- // has to be set before the parser starts
-@@ -94,8 +94,8 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL;
-
- #define YY_INPUT(buf,result,max_size) \
- { \
-- buf[0] = xxx_pGLOBAL_SQLSCAN->SQLyygetc(); \
-- result = buf[0] != -1; \
-+ int c = xxx_pGLOBAL_SQLSCAN->SQLyygetc(); \
-+ result = (c == EOF) ? YY_NULL : (buf[0] = c, 1);\
- }
-
- #define YY_FATAL_ERROR(msg) \
-@@ -518,9 +518,9 @@ inline bool checkeof(int c) { return c == 0 || c == EOF; }
- * nTyp == 1 -> SQL_NODE_STRING
- * nTyp == 2 -> SQL_NODE_ACCESS_DATE
- */
--sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
-+sal_Int32 gatherString(int delim, sal_Int32 nTyp)
- {
-- sal_Char ch;
-+ int ch;
- ::rtl::OStringBuffer sBuffer(256);
-
- while (!checkeof(ch = yyinput()))
-@@ -547,7 +547,7 @@ sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
- }
- else
- {
-- sBuffer.append(ch);
-+ sBuffer.append(static_cast<sal_Char>(ch));
- }
-
- }
-@@ -555,7 +555,7 @@ sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
- break;
- else
- {
-- sBuffer.append(ch);
-+ sBuffer.append(static_cast<sal_Char>(ch));
- }
- }
- YY_FATAL_ERROR("Unterminated name string");
-@@ -746,7 +746,7 @@ void OSQLScanner::SQLyyerror(sal_Char *fmt)
-
- sal_Char *s = Buffer;
- sal_Int32 nPos = 1;
-- sal_Int32 ch = SQLyytext ? (SQLyytext[0] == 0 ? ' ' : SQLyytext[0]): ' ';
-+ int ch = SQLyytext ? (SQLyytext[0] == 0 ? ' ' : SQLyytext[0]): ' ';
- *s++ = ch;
- while (!checkeof(ch = yyinput()))
- {
-@@ -800,7 +800,7 @@ void OSQLScanner::prepareScan(const ::rtl::OUString & rNewStatement, const IPars
- //------------------------------------------------------------------------------
- sal_Int32 OSQLScanner::SQLyygetc(void)
- {
-- sal_Int32 nPos = (m_nCurrentPos >= m_sStatement.getLength()) ? -1 : m_sStatement.getStr()[m_nCurrentPos];
-+ sal_Int32 nPos = (m_nCurrentPos >= m_sStatement.getLength()) ? EOF : m_sStatement.getStr()[m_nCurrentPos];
- m_nCurrentPos++;
- return nPos;
- }
---
-1.7.7.6
-
--
LibreOffice packaging repository
Reply to: