[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[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: