You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openoffice.apache.org by ji...@apache.org on 2020/12/20 13:40:27 UTC

[openoffice] branch AOO42X updated: macOS reset back to s5abi and older version removed

This is an automated email from the ASF dual-hosted git repository.

jim pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/AOO42X by this push:
     new 809f422  macOS reset back to s5abi and older version removed
809f422 is described below

commit 809f4227ac53c43e645845f1f79ac54e906b6918
Author: Jim Jagielski <ji...@gmail.com>
AuthorDate: Sun Dec 20 08:37:57 2020 -0500

    macOS reset back to s5abi and older version removed
    
    (cherry picked from commit b682cb1878f75d5a69d02f8b5a3182ad77159d98)
---
 main/Repository.mk                                 |   1 +
 main/bridges/Library_cpp_uno.mk                    |  43 +-
 .../source/cpp_uno/gcc3_macosx_intel/call.s        | 323 ---------
 .../source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx   | 515 ---------------
 .../source/cpp_uno/gcc3_macosx_intel/except.cxx    | 325 ---------
 .../source/cpp_uno/gcc3_macosx_intel/makefile.mk   |  72 --
 .../source/cpp_uno/gcc3_macosx_intel/share.hxx     |  88 ---
 .../source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx   | 495 --------------
 .../source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx | 726 ---------------------
 .../source/cpp_uno/gcc3_macosx_powerpc/except.cxx  | 282 --------
 .../source/cpp_uno/gcc3_macosx_powerpc/makefile.mk |  74 ---
 .../source/cpp_uno/gcc3_macosx_powerpc/share.hxx   |  87 ---
 .../source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx | 630 ------------------
 .../abi.cxx                                        |   0
 .../abi.hxx                                        |   0
 .../cpp2uno.cxx                                    |   0
 .../except.cxx                                     |   0
 .../makefile.mk                                    |   0
 .../share.hxx                                      |   0
 .../uno2cpp.cxx                                    |   0
 main/configure.ac                                  |  12 +-
 main/odk/setsdkenv_unix.sh.in                      |   2 +-
 main/odk/settings/settings.mk                      |   4 +-
 main/solenv/gbuild/platform/macosx.mk              |   2 +-
 24 files changed, 20 insertions(+), 3661 deletions(-)

diff --git a/main/Repository.mk b/main/Repository.mk
index ed868e5..18ce170 100644
--- a/main/Repository.mk
+++ b/main/Repository.mk
@@ -217,6 +217,7 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_URE, \
 	jpipx \
 	msci_uno \
 	mscx_uno \
+	s5abi_uno \
 	sunjavaplugin \
 	sunpro5_uno \
 	xmlreader \
diff --git a/main/bridges/Library_cpp_uno.mk b/main/bridges/Library_cpp_uno.mk
index eae2759..2277051 100644
--- a/main/bridges/Library_cpp_uno.mk
+++ b/main/bridges/Library_cpp_uno.mk
@@ -416,48 +416,15 @@ $(eval $(call gb_Library_add_libs,$(COMNAME)_uno,\
 	-ldl \
 ))
 
-#########################################################
-else ifeq ($(OS)-$(CPUNAME)-$(COMNAME),MACOSX-INTEL-gcc3)
-#########################################################
-
-$(eval $(call gb_Library_add_exception_objects,$(COMNAME)_uno,\
-	bridges/source/cpp_uno/gcc3_macosx_intel/except \
-	bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno \
-	bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp \
-))
-
-$(eval $(call gb_Library_add_asmobjects,$(COMNAME)_uno,\
-	bridges/source/cpp_uno/gcc3_macosx_intel/call \
-))
-
-###########################################################
-else ifeq ($(OS)-$(CPUNAME)-$(COMNAME),MACOSX-POWERPC-gcc3)
-###########################################################
-
-$(eval $(call gb_Library_add_exception_objects,$(COMNAME)_uno,\
-	bridges/source/cpp_uno/gcc3_macosx_powerpc/except \
-	bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno \
-	bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp \
-))
-
-$(eval $(call gb_LinkTarget_set_cxx_optimization, \
-	bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp \
-, $(gb_COMPILERNOOPTFLAGS) \
-))
-
-$(eval $(call gb_Library_add_linked_libs,$(COMNAME)_uno,\
-        dl \
-))
-
 ###########################################################
-else ifeq ($(OS)-$(CPUNAME)-$(COMNAME),MACOSX-X86_64-gcc3)
+else ifeq ($(OS)-$(CPUNAME)-$(COMNAME),MACOSX-X86_64-s5abi)
 ###########################################################
 
 $(eval $(call gb_Library_add_exception_objects,$(COMNAME)_uno,\
-	bridges/source/cpp_uno/gcc3_macosx_x86-64/abi \
-	bridges/source/cpp_uno/gcc3_macosx_x86-64/except \
-	bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno \
-	bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp \
+	bridges/source/cpp_uno/s5abi_macosx_x86-64/abi \
+	bridges/source/cpp_uno/s5abi_macosx_x86-64/except \
+	bridges/source/cpp_uno/s5abi_macosx_x86-64/cpp2uno \
+	bridges/source/cpp_uno/s5abi_macosx_x86-64/uno2cpp \
 ))
 
 #########################################################
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_intel/call.s b/main/bridges/source/cpp_uno/gcc3_macosx_intel/call.s
deleted file mode 100644
index 8bda382..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_intel/call.s
+++ /dev/null
@@ -1,323 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-    .text
-
-.align 1, 0x90
-.globl _privateSnippetExecutorGeneral
-_privateSnippetExecutorGeneral:
-LFBg:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIg0:
-    movl    %esp,%ebp
-LCFIg1:
-    subl    $0x8,%esp         # padding + 32bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    movl    16(%esp),%eax     # 32bit returnValue
-    leave
-    ret
-LFEg:
-    .long   .-_privateSnippetExecutorGeneral
-
-.align 1, 0x90
-.globl _privateSnippetExecutorVoid
-_privateSnippetExecutorVoid:
-LFBv:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIv0:
-    movl    %esp,%ebp
-LCFIv1:
-    sub     $8,%esp           # padding
-    pushl   $0                # 32bit null pointer (returnValue not used)
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    leave
-    ret
-LFEv:
-    .long   .-_privateSnippetExecutorVoid
-
-.align 1, 0x90
-.globl _privateSnippetExecutorHyper
-_privateSnippetExecutorHyper:
-LFBh:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIh0:
-    movl    %esp,%ebp
-LCFIh1:
-    subl    $0x8,%esp         # 64bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    movl    16(%esp),%eax     # 64bit returnValue, lower half
-    movl    20(%esp),%edx     # 64bit returnValue, upper half
-    leave
-    ret
-LFEh:
-    .long   .-_privateSnippetExecutorHyper
-
-.align 1, 0x90
-.globl _privateSnippetExecutorFloat
-_privateSnippetExecutorFloat:
-LFBf:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIf0:
-    movl    %esp,%ebp
-LCFIf1:
-    subl    $0x8,%esp         # padding + 32bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    flds    16(%esp)          # 32bit returnValue
-    leave
-    ret
-LFEf:
-    .long   .-_privateSnippetExecutorFloat
-
-.align 1, 0x90
-.globl _privateSnippetExecutorDouble
-_privateSnippetExecutorDouble:
-LFBd:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFId0:
-    movl    %esp,%ebp
-LCFId1:
-    subl    $0x8,%esp         # 64bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    fldl    16(%esp)          # 64bit returnValue
-    leave
-    ret
-LFEd:
-    .long   .-_privateSnippetExecutorDouble
-
-.align 1, 0x90
-.globl _privateSnippetExecutorClass
-_privateSnippetExecutorClass:
-LFBc:
-    movl    %esp,%ecx
-    pushl   %ebp              # proper stack frame needed for exception handling
-LCFIc0:
-    movl    %esp,%ebp
-LCFIc1:
-    subl    $0x8,%esp         # padding + 32bit returnValue
-    pushl   %esp              # 32bit &returnValue
-    pushl   %ecx              # 32bit pCallStack
-    pushl   %edx              # 32bit nVtableOffset
-    pushl   %eax              # 32bit nFunctionIndex
-    call    L_cpp_vtable_call$stub
-    movl    16(%esp),%eax     # 32bit returnValue
-    leave
-    ret     $4
-LFEc:
-    .long   .-_privateSnippetExecutorClass
-
-    .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support
-EH_frame1:
-    .set L$set$frame1,LECIE1-LSCIE1
-    .long   L$set$frame1      # length
-LSCIE1:
-    .long   0                 # CIE_ID
-    .byte   1                 # version
-    .ascii  "zPR\0"           # augmentation
-    .byte   1                 # code_alignment_factor (.uleb128 1)
-    .byte   0x7c              # data_alignment_factor (.sleb128 -4)
-    .byte   8                 # return_address_register
-    .byte   0x6               # augmentation size 7:
-    .byte   0x9b              #  ???
-    .long   L___gxx_personality_v0$non_lazy_ptr-.
-    .byte   0x10
-                              # initial_instructions:
-    .byte   0x0C              #  DW_CFA_def_cfa %esp, 4
-    .byte   5
-    .byte   4
-    .byte   0x88              #  DW_CFA_offset ret, 1
-    .byte   1
-    .align 2
-LECIE1:
-    .globl _privateSnippetExecutorGeneral.eh
-_privateSnippetExecutorGeneral.eh:
-LSFDEg:
-    .set L$set$g1,LEFDEg-LASFDEg
-    .long   L$set$g1          # length
-LASFDEg:
-    .long   LASFDEg-EH_frame1 # CIE_pointer
-    .long   LFBg-.            # initial_location
-    .long   LFEg-LFBg         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIg0-LFBg
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIg1-LCFIg0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEg:
-    .globl _privateSnippetExecutorVoid.eh
-_privateSnippetExecutorVoid.eh:
-LSFDEv:
-    .set L$set$v1,LEFDEv-LASFDEv
-    .long   L$set$v1          # length
-LASFDEv:
-    .long   LASFDEv-EH_frame1 # CIE_pointer
-    .long   LFBv-.            # initial_location
-    .long   LFEv-LFBv         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIv0-LFBv
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIv1-LCFIv0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEv:
-    .globl _privateSnippetExecutorHyper.eh
-_privateSnippetExecutorHyper.eh:
-LSFDEh:
-    .set L$set$h1,LEFDEh-LASFDEh
-    .long   L$set$h1          # length
-LASFDEh:
-    .long   LASFDEh-EH_frame1 # CIE_pointer
-    .long   LFBh-.            # initial_location
-    .long   LFEh-LFBh         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIh0-LFBh
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIh1-LCFIh0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEh:
-    .globl _privateSnippetExecutorFloat.eh
-_privateSnippetExecutorFloat.eh:
-LSFDEf:
-    .set L$set$f1,LEFDEf-LASFDEf
-    .long   L$set$f1          # length
-LASFDEf:
-    .long   LASFDEf-EH_frame1 # CIE_pointer
-    .long   LFBf-.            # initial_location
-    .long   LFEf-LFBf         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIf0-LFBf
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIf1-LCFIf0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEf:
-    .globl _privateSnippetExecutorDouble.eh
-_privateSnippetExecutorDouble.eh:
-LSFDEd:
-    .set L$set$d1,LEFDEd-LASFDEd
-    .long   L$set$d1          # length
-LASFDEd:
-    .long   LASFDEd-EH_frame1 # CIE_pointer
-    .long   LFBd-.            # initial_location
-    .long   LFEd-LFBd         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFId0-LFBd
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFId1-LCFId0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEd:
-    .globl _privateSnippetExecutorClass.eh
-_privateSnippetExecutorClass.eh:
-LSFDEc:
-    .set L$set$c1,LEFDEc-LASFDEc
-    .long   L$set$c1          # length
-LASFDEc:
-    .long   LASFDEc-EH_frame1 # CIE_pointer
-    .long   LFBc-.            # initial_location
-    .long   LFEc-LFBc         # address_range
-    .byte   0                 # augmentation size 0
-                              # instructions:
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIc0-LFBc
-    .byte   0x0E              #  DW_CFA_def_cfa_offset 8
-    .byte   8
-    .byte   0x84              #  DW_CFA_offset %ebp, 2
-    .byte   2
-    .byte   0x04              #  DW_CFA_advance_loc4
-    .long   LCFIc1-LCFIc0
-    .byte   0x0D              #  DW_CFA_def_cfa_register %ebp
-    .byte   4
-    .align 2
-LEFDEc:
-    .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5
-L_cpp_vtable_call$stub:
-    .indirect_symbol _cpp_vtable_call
-    hlt ; hlt ; hlt ; hlt ; hlt
-    .section __IMPORT,__pointers,non_lazy_symbol_pointers
-L___gxx_personality_v0$non_lazy_ptr:
-    .indirect_symbol ___gxx_personality_v0
-    .long 0
-    .constructor
-    .destructor
-    .align 1
-    .subsections_via_symbols
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx b/main/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
deleted file mode 100644
index 44f5eb9..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
+++ /dev/null
@@ -1,515 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_bridges.hxx"
-
-#include <com/sun/star/uno/genfunc.hxx>
-#include "com/sun/star/uno/RuntimeException.hpp"
-#include "com/sun/star/uno/Sequence.hxx"
-#include <uno/data.h>
-#include <typelib/typedescription.hxx>
-
-#include "bridges/cpp_uno/shared/bridge.hxx"
-#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
-#include "bridges/cpp_uno/shared/types.hxx"
-#include "bridges/cpp_uno/shared/vtablefactory.hxx"
-
-#include "share.hxx"
-
-#include "boost/static_assert.hpp"
-#include <stdio.h>
-
-using namespace ::com::sun::star::uno;
-
-namespace
-{
-
-//==================================================================================================
-void cpp2uno_call(
-	bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
-	const typelib_TypeDescription * pMemberTypeDescr,
-	typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
-	sal_Int32 nParams, typelib_MethodParameter * pParams,
-	void ** pCallStack,
-	void * pReturnValue )
-{
-	// pCallStack: ret, [return ptr], this, params
-	char * pCppStack = (char *)(pCallStack +1);
-
-	// return
-	typelib_TypeDescription * pReturnTypeDescr = 0;
-	if (pReturnTypeRef)
-		TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
-	
-	void * pUnoReturn = 0;
-	void * pCppReturn = 0; // complex return ptr: if != 0 && != pUnoReturn, reconversion need
-	
-	if (pReturnTypeDescr)
-	{
-        // xxx todo: test PolyStructy<STRUCT<long>> foo()
-		if (CPPU_CURRENT_NAMESPACE::isSimpleReturnType( pReturnTypeDescr ))
-		{
-			pUnoReturn = pReturnValue; // direct way for simple types
-		}
-		else // complex return via ptr (pCppReturn)
-		{
-            pCppReturn = *(void **)pCppStack;
-            pCppStack += sizeof(void *);
-			pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
-                              pReturnTypeDescr )
-						  ? alloca( pReturnTypeDescr->nSize )
-						  : pCppReturn); // direct way
-		}
-	}
-	// pop this
-	pCppStack += sizeof( void* );
-
-	// stack space
-	OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
-	// parameters
-	void ** pUnoArgs = (void **)alloca( 4 * sizeof(void *) * nParams );
-	void ** pCppArgs = pUnoArgs + nParams;
-	// indizes of values this have to be converted (interface conversion cpp<=>uno)
-	sal_Int32 * pTempIndizes = (sal_Int32 *)(pUnoArgs + (2 * nParams));
-	// type descriptions for reconversions
-	typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pUnoArgs + (3 * nParams));
-	
-	sal_Int32 nTempIndizes   = 0;
-	
-	for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
-	{
-		const typelib_MethodParameter & rParam = pParams[nPos];
-		typelib_TypeDescription * pParamTypeDescr = 0;
-		TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
-
-		if (!rParam.bOut
-            && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
-            // value
-		{
-			pCppArgs[nPos] = pCppStack;
-			pUnoArgs[nPos] = pCppStack;
-			switch (pParamTypeDescr->eTypeClass)
-			{
-			case typelib_TypeClass_HYPER:
-			case typelib_TypeClass_UNSIGNED_HYPER:
-			case typelib_TypeClass_DOUBLE:
-				pCppStack += sizeof(sal_Int32); // extra long
-            default:
-                break;
-			}
-			// no longer needed
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		else // ptr to complex value | ref
-		{
-			pCppArgs[nPos] = *(void **)pCppStack;
-
-			if (! rParam.bIn) // is pure out
-			{
-				// uno out is unconstructed mem!
-				pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize );
-				pTempIndizes[nTempIndizes] = nPos;
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			// is in/inout
-			else if (bridges::cpp_uno::shared::relatesToInterfaceType(
-                         pParamTypeDescr ))
-			{
-				uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
-										*(void **)pCppStack, pParamTypeDescr,
-										pThis->getBridge()->getCpp2Uno() );
-				pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			else // direct way
-			{
-				pUnoArgs[nPos] = *(void **)pCppStack;
-				// no longer needed
-				TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-			}
-		}
-		pCppStack += sizeof(sal_Int32); // standard parameter length
-	}
-	
-	// ExceptionHolder
-	uno_Any aUnoExc; // Any will be constructed by callee
-	uno_Any * pUnoExc = &aUnoExc;
-
-	// invoke uno dispatch call
-	(*pThis->getUnoI()->pDispatcher)(
-        pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
-	
-	// in case an exception occurred...
-	if (pUnoExc)
-	{
-		// destruct temporary in/inout params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			
-			if (pParams[nIndex].bIn) // is in/inout => was constructed
-				uno_destructData( pUnoArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], 0 );
-			TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
-		}
-		if (pReturnTypeDescr)
-			TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-		
-		CPPU_CURRENT_NAMESPACE::raiseException(
-            &aUnoExc, pThis->getBridge()->getUno2Cpp() );
-            // has to destruct the any
-	}
-	else // else no exception occurred...
-	{
-		// temporary params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
-			
-			if (pParams[nIndex].bOut) // inout/out
-			{
-				// convert and assign
-				uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
-				uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
-										pThis->getBridge()->getUno2Cpp() );
-			}
-			// destroy temp uno param
-			uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
-			
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		// return
-		if (pCppReturn) // has complex return
-		{
-			if (pUnoReturn != pCppReturn) // needs reconversion
-			{
-				uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
-										pThis->getBridge()->getUno2Cpp() );
-				// destroy temp uno return
-				uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
-			}
-            if (pReturnValue != pCppReturn) {
-                // complex return ptr is set to eax if return value
-                // is not transferred via eax[/edx]:
-                *static_cast< void ** >(pReturnValue) = pCppReturn;
-            }
-		}
-		if (pReturnTypeDescr)
-		{
-			TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-		}
-	}
-}
-
-
-//==================================================================================================
-extern "C" void cpp_vtable_call(
-    int nFunctionIndex, int nVtableOffset, void** pCallStack,
-    void * pReturnValue )
-{
-	OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
-	
-	// pCallStack: ret adr, [ret *], this, params
-    void * pThis;
-	if( nFunctionIndex & 0x80000000 )
-	{
-		nFunctionIndex &= 0x7fffffff;
-        pThis = pCallStack[2];
-	}
-	else
-    {
-        pThis = pCallStack[1];
-    }
-    pThis = static_cast< char * >(pThis) - nVtableOffset;
-	bridges::cpp_uno::shared::CppInterfaceProxy * pCppI
-        = bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(
-            pThis);
-#if OSL_DEBUG_LEVEL > 1
-    fprintf( stderr, "%p %p %p pThis=%p, pCppI=%p, function index=%d, vtable offset=%d\n", pCallStack[0], pCallStack[1], pCallStack[2], pThis, pCppI, nFunctionIndex, nVtableOffset );
-#endif    
-	typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
-#if OSL_DEBUG_LEVEL > 1
-    fprintf( stderr, "name=%s\n", rtl::OUStringToOString(pTypeDescr->aBase.pTypeName, RTL_TEXTENCODING_UTF8).getStr() );
-#endif	
-	OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
-	if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
-	{
-		throw RuntimeException(
-            rtl::OUString::createFromAscii("illegal vtable index!"),
-            (XInterface *)pThis );
-	}
-	
-	// determine called method
-	sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
-	OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
-
-	TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
-#if OSL_DEBUG_LEVEL > 1
-    fprintf(stderr, "calling %s\n", rtl::OUStringToOString(aMemberDescr.get()->pTypeName, RTL_TEXTENCODING_UTF8).getStr());
-#endif    
-	switch (aMemberDescr.get()->eTypeClass)
-	{
-	case typelib_TypeClass_INTERFACE_ATTRIBUTE:
-	{
-		if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
-		{
-			// is GET method
-			cpp2uno_call(
-				pCppI, aMemberDescr.get(),
-				((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef,
-				0, 0, // no params
-				pCallStack, pReturnValue );
-		}
-		else
-		{
-			// is SET method
-			typelib_MethodParameter aParam;
-			aParam.pTypeRef =
-				((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef;
-			aParam.bIn		= sal_True;
-			aParam.bOut		= sal_False;
-			
-			cpp2uno_call(
-				pCppI, aMemberDescr.get(),
-				0, // indicates void return
-				1, &aParam,
-				pCallStack, pReturnValue );
-		}
-		break;
-	}
-	case typelib_TypeClass_INTERFACE_METHOD:
-	{
-		// is METHOD
-		switch (nFunctionIndex)
-		{
-		case 1: // acquire()
-			pCppI->acquireProxy(); // non virtual call!
-			break;
-		case 2: // release()
-			pCppI->releaseProxy(); // non virtual call!
-			break;
-		case 0: // queryInterface() opt
-		{
-			typelib_TypeDescription * pTD = 0;
-			TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pCallStack[3] )->getTypeLibType() );
-			if (pTD)
-			{
-                XInterface * pInterface = 0;
-                (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
-                    pCppI->getBridge()->getCppEnv(),
-                    (void **)&pInterface, pCppI->getOid().pData,
-                    (typelib_InterfaceTypeDescription *)pTD );
-			
-                if (pInterface)
-                {
-                    ::uno_any_construct(
-                        reinterpret_cast< uno_Any * >( pCallStack[1] ),
-                        &pInterface, pTD, cpp_acquire );
-                    pInterface->release();
-                    TYPELIB_DANGER_RELEASE( pTD );
-                    *static_cast< void ** >(pReturnValue) = pCallStack[1];
-                    break;
-                }
-                TYPELIB_DANGER_RELEASE( pTD );
-            }
-		} // else perform queryInterface()
-		default:
-			cpp2uno_call(
-				pCppI, aMemberDescr.get(),
-				((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef,
-				((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams,
-				((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams,
-				pCallStack, pReturnValue );
-		}
-		break;
-	}
-	default:
-	{
-		throw RuntimeException(
-            rtl::OUString::createFromAscii("no member description found!"),
-            (XInterface *)pThis );
-	}
-	}
-}
-
-//==================================================================================================
-extern "C" void privateSnippetExecutorGeneral();
-extern "C" void privateSnippetExecutorVoid();
-extern "C" void privateSnippetExecutorHyper();
-extern "C" void privateSnippetExecutorFloat();
-extern "C" void privateSnippetExecutorDouble();
-extern "C" void privateSnippetExecutorClass();
-extern "C" typedef void (*PrivateSnippetExecutor)();
-
-int const codeSnippetSize = 16;
-
-unsigned char * codeSnippet(
-    unsigned char * code, sal_Int32 functionIndex, sal_Int32 vtableOffset,
-    typelib_TypeDescriptionReference * pReturnTypeRef)
-{
-    PrivateSnippetExecutor exec;
-    if (pReturnTypeRef == 0) {
-        exec = privateSnippetExecutorVoid;
-    }
-    else {
-        switch (pReturnTypeRef->eTypeClass) {
-        case typelib_TypeClass_VOID:
-            exec = privateSnippetExecutorVoid;
-            break;
-        case typelib_TypeClass_HYPER:
-        case typelib_TypeClass_UNSIGNED_HYPER:
-            exec = privateSnippetExecutorHyper;
-            break;
-        case typelib_TypeClass_FLOAT:
-            exec = privateSnippetExecutorFloat;
-            break;
-        case typelib_TypeClass_DOUBLE:
-            exec = privateSnippetExecutorDouble;
-            break;
-        case typelib_TypeClass_STRUCT:
-        case typelib_TypeClass_EXCEPTION: {
-            typelib_TypeDescription * pReturnTypeDescr = 0;
-            TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
-            bool const bSimpleReturnStruct =
-                CPPU_CURRENT_NAMESPACE::isSimpleReturnType(pReturnTypeDescr);
-            sal_Int32 const nRetSize = pReturnTypeDescr->nSize;
-            TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-            if (bSimpleReturnStruct && nRetSize <= 8) {
-                exec = privateSnippetExecutorGeneral; // fills eax
-                if (nRetSize > 4)
-                    exec = privateSnippetExecutorHyper; // fills eax/edx
-                break;
-            }
-        }
-        case typelib_TypeClass_STRING:
-        case typelib_TypeClass_TYPE:
-        case typelib_TypeClass_SEQUENCE:
-        case typelib_TypeClass_INTERFACE:
-        case typelib_TypeClass_ANY:
-            functionIndex |= 0x80000000;
-            exec = privateSnippetExecutorClass;
-            break;
-        default:
-            exec = privateSnippetExecutorGeneral;
-            break;
-        }
-    }
-    unsigned char * p = code;
-    OSL_ASSERT(sizeof (sal_Int32) == 4);
-    // mov function_index, %eax:
-    *p++ = 0xB8;
-    *reinterpret_cast< sal_Int32 * >(p) = functionIndex;
-    p += sizeof (sal_Int32);
-    // mov vtable_offset, %edx:
-    *p++ = 0xBA;
-    *reinterpret_cast< sal_Int32 * >(p) = vtableOffset;
-    p += sizeof (sal_Int32);
-    // jmp privateSnippetExecutor:
-    *p++ = 0xE9;
-    *reinterpret_cast< sal_Int32 * >(p)
-        = ((unsigned char *) exec) - p - sizeof (sal_Int32);
-    p += sizeof (sal_Int32);
-    OSL_ASSERT(p - code <= codeSnippetSize);
-    return code + codeSnippetSize;
-}
-
-}
-
-struct bridges::cpp_uno::shared::VtableFactory::Slot { void * fn; };
-
-bridges::cpp_uno::shared::VtableFactory::Slot *
-bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(void * block)
-{
-    return static_cast< Slot * >(block) + 2;
-}
-
-sal_Size bridges::cpp_uno::shared::VtableFactory::getBlockSize(
-    sal_Int32 slotCount)
-{
-    return (slotCount + 2) * sizeof (Slot) + slotCount * codeSnippetSize;
-}
-
-bridges::cpp_uno::shared::VtableFactory::Slot *
-bridges::cpp_uno::shared::VtableFactory::initializeBlock(
-    void * block, sal_Int32 slotCount)
-{
-    Slot * slots = mapBlockToVtable(block);
-    slots[-2].fn = 0;
-    slots[-1].fn = 0;
-    return slots + slotCount;
-}
-
-unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
-    Slot ** slots, unsigned char * code,
-    typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
-    sal_Int32 functionCount, sal_Int32 vtableOffset)
-{
-    (*slots) -= functionCount;
-    Slot * s = *slots;
-    for (sal_Int32 i = 0; i < type->nMembers; ++i) {
-        typelib_TypeDescription * member = 0;
-        TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
-        OSL_ASSERT(member != 0);
-        switch (member->eTypeClass) {
-        case typelib_TypeClass_INTERFACE_ATTRIBUTE:
-            // Getter:
-            (s++)->fn = code;
-            code = codeSnippet(
-                code, functionOffset++, vtableOffset,
-                reinterpret_cast< typelib_InterfaceAttributeTypeDescription * >(
-                    member)->pAttributeTypeRef);
-            // Setter:
-            if (!reinterpret_cast<
-                typelib_InterfaceAttributeTypeDescription * >(
-                    member)->bReadOnly)
-            {
-                (s++)->fn = code;
-                code = codeSnippet(
-                    code, functionOffset++, vtableOffset,
-                    0 /* indicates VOID */);
-            }
-            break;
-
-        case typelib_TypeClass_INTERFACE_METHOD:
-            (s++)->fn = code;
-            code = codeSnippet(
-                code, functionOffset++, vtableOffset,
-                reinterpret_cast< typelib_InterfaceMethodTypeDescription * >(
-                    member)->pReturnTypeRef);
-            break;
-
-        default:
-            OSL_ASSERT(false);
-            break;
-        }
-        TYPELIB_DANGER_RELEASE(member);
-    }
-    return code;
-}
-
-void bridges::cpp_uno::shared::VtableFactory::flushCode(
-    unsigned char const *, unsigned char const *)
-{}
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_intel/except.cxx b/main/bridges/source/cpp_uno/gcc3_macosx_intel/except.cxx
deleted file mode 100644
index 4b525ca..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_intel/except.cxx
+++ /dev/null
@@ -1,325 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_bridges.hxx"
-
-#include <stdio.h>
-#include <dlfcn.h>
-#include <cxxabi.h>
-#include <hash_map>
-
-#include <rtl/strbuf.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-
-#include <com/sun/star/uno/genfunc.hxx>
-#include "com/sun/star/uno/RuntimeException.hpp"
-#include <typelib/typedescription.hxx>
-#include <uno/any2.h>
-
-#include "share.hxx"
-
-
-using namespace ::std;
-using namespace ::osl;
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::__cxxabiv1;
-
-
-namespace CPPU_CURRENT_NAMESPACE
-{
-
-void dummy_can_throw_anything( char const * )
-{
-}
-
-//==================================================================================================
-static OUString toUNOname( char const * p ) SAL_THROW( () )
-{
-#if OSL_DEBUG_LEVEL > 1
-    char const * start = p;
-#endif
-
-    // example: N3com3sun4star4lang24IllegalArgumentExceptionE
-
-	OUStringBuffer buf( 64 );
-    OSL_ASSERT( 'N' == *p );
-    ++p; // skip N
-
-    while ('E' != *p)
-    {
-        // read chars count
-        long n = (*p++ - '0');
-        while ('0' <= *p && '9' >= *p)
-        {
-            n *= 10;
-            n += (*p++ - '0');
-        }
-        buf.appendAscii( p, n );
-        p += n;
-        if ('E' != *p)
-            buf.append( (sal_Unicode)'.' );
-    }
-
-#if OSL_DEBUG_LEVEL > 1
-    OUString ret( buf.makeStringAndClear() );
-    OString c_ret( OUStringToOString( ret, RTL_TEXTENCODING_ASCII_US ) );
-    fprintf( stderr, "> toUNOname(): %s => %s\n", start, c_ret.getStr() );
-    return ret;
-#else
-    return buf.makeStringAndClear();
-#endif
-}
-
-//==================================================================================================
-class RTTI
-{
-    typedef hash_map< OUString, type_info *, OUStringHash > t_rtti_map;
-
-    Mutex m_mutex;
-	t_rtti_map m_rttis;
-    t_rtti_map m_generatedRttis;
-
-    void * m_hApp;
-
-public:
-    RTTI() SAL_THROW( () );
-    ~RTTI() SAL_THROW( () );
-
-    type_info * getRTTI( typelib_CompoundTypeDescription * ) SAL_THROW( () );
-};
-//__________________________________________________________________________________________________
-RTTI::RTTI() SAL_THROW( () )
-    : m_hApp( dlopen( 0, RTLD_LAZY ) )
-{
-}
-//__________________________________________________________________________________________________
-RTTI::~RTTI() SAL_THROW( () )
-{
-    dlclose( m_hApp );
-}
-
-//__________________________________________________________________________________________________
-type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THROW( () )
-{
-    type_info * rtti;
-
-    OUString const & unoName = *(OUString const *)&pTypeDescr->aBase.pTypeName;
-
-    MutexGuard guard( m_mutex );
-    t_rtti_map::const_iterator iFind( m_rttis.find( unoName ) );
-    if (iFind == m_rttis.end())
-    {
-        // RTTI symbol
-        OStringBuffer buf( 64 );
-        buf.append( RTL_CONSTASCII_STRINGPARAM("_ZTIN") );
-        sal_Int32 index = 0;
-        do
-        {
-            OUString token( unoName.getToken( 0, '.', index ) );
-            buf.append( token.getLength() );
-            OString c_token( OUStringToOString( token, RTL_TEXTENCODING_ASCII_US ) );
-            buf.append( c_token );
-        }
-        while (index >= 0);
-        buf.append( 'E' );
-
-        OString symName( buf.makeStringAndClear() );
-        rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
-
-        if (rtti)
-        {
-            pair< t_rtti_map::iterator, bool > insertion(
-                m_rttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
-            OSL_ENSURE( insertion.second, "### inserting new rtti failed?!" );
-        }
-        else
-        {
-            // try to lookup the symbol in the generated rtti map
-            t_rtti_map::const_iterator iFind2( m_generatedRttis.find( unoName ) );
-            if (iFind2 == m_generatedRttis.end())
-            {
-                // we must generate it !
-                // symbol and rtti-name is nearly identical,
-                // the symbol is prefixed with _ZTI
-                char const * rttiName = symName.getStr() +4;
-#if OSL_DEBUG_LEVEL > 1
-                fprintf( stderr,"generated rtti for %s\n", rttiName );
-#endif
-                if (pTypeDescr->pBaseTypeDescription)
-                {
-                    // ensure availability of base
-                    type_info * base_rtti = getRTTI(
-                        (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
-                    rtti = new __si_class_type_info(
-                        strdup( rttiName ), (__class_type_info *)base_rtti );
-                }
-                else
-                {
-                    // this class has no base class
-                    rtti = new __class_type_info( strdup( rttiName ) );
-                }
-
-                pair< t_rtti_map::iterator, bool > insertion(
-                    m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
-                OSL_ENSURE( insertion.second, "### inserting new generated rtti failed?!" );
-            }
-            else // taking already generated rtti
-            {
-                rtti = iFind2->second;
-            }
-        }
-    }
-    else
-    {
-        rtti = iFind->second;
-    }
-
-    return rtti;
-}
-
-//--------------------------------------------------------------------------------------------------
-static void deleteException( void * pExc )
-{
-    __cxa_exception const * header = ((__cxa_exception const *)pExc - 1);
-    typelib_TypeDescription * pTD = 0;
-    OUString unoName( toUNOname( header->exceptionType->name() ) );
-    ::typelib_typedescription_getByName( &pTD, unoName.pData );
-    OSL_ENSURE( pTD, "### unknown exception type! leaving out destruction => leaking!!!" );
-    if (pTD)
-    {
-		::uno_destructData( pExc, pTD, cpp_release );
-		::typelib_typedescription_release( pTD );
-	}
-}
-
-//==================================================================================================
-void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
-{
-#if OSL_DEBUG_LEVEL > 1
-    OString cstr(
-        OUStringToOString(
-            *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
-            RTL_TEXTENCODING_ASCII_US ) );
-    fprintf( stderr, "> uno exception occurred: %s\n", cstr.getStr() );
-#endif
-    void * pCppExc;
-    type_info * rtti;
-
-    {
-    // construct cpp exception object
-	typelib_TypeDescription * pTypeDescr = 0;
-	TYPELIB_DANGER_GET( &pTypeDescr, pUnoExc->pType );
-    OSL_ASSERT( pTypeDescr );
-    if (! pTypeDescr)
-    {
-        throw RuntimeException(
-            OUString( RTL_CONSTASCII_USTRINGPARAM("cannot get typedescription for type ") ) +
-            *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
-            Reference< XInterface >() );
-    }
-
-	pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
-	::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
-
-	// destruct uno exception
-	::uno_any_destruct( pUnoExc, 0 );
-    // avoiding locked counts
-    static RTTI * s_rtti = 0;
-    if (! s_rtti)
-    {
-        MutexGuard guard( Mutex::getGlobalMutex() );
-        if (! s_rtti)
-        {
-#ifdef LEAK_STATIC_DATA
-            s_rtti = new RTTI();
-#else
-            static RTTI rtti_data;
-            s_rtti = &rtti_data;
-#endif
-        }
-    }
-	rtti = (type_info *)s_rtti->getRTTI( (typelib_CompoundTypeDescription *) pTypeDescr );
-    TYPELIB_DANGER_RELEASE( pTypeDescr );
-    OSL_ENSURE( rtti, "### no rtti for throwing exception!" );
-    if (! rtti)
-    {
-        throw RuntimeException(
-            OUString( RTL_CONSTASCII_USTRINGPARAM("no rtti for type ") ) +
-            *reinterpret_cast< OUString const * >( &pUnoExc->pType->pTypeName ),
-            Reference< XInterface >() );
-    }
-    }
-
-	__cxa_throw( pCppExc, rtti, deleteException );
-}
-
-//==================================================================================================
-void fillUnoException( __cxa_exception * header, uno_Any * pUnoExc, uno_Mapping * pCpp2Uno )
-{
-    if (! header)
-    {
-        RuntimeException aRE(
-            OUString( RTL_CONSTASCII_USTRINGPARAM("no exception header!") ),
-            Reference< XInterface >() );
-        Type const & rType = ::getCppuType( &aRE );
-        uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
-#if OSL_DEBUG_LEVEL > 0
-        OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
-        OSL_ENSURE( 0, cstr.getStr() );
-#endif
-        return;
-    }
-
-	typelib_TypeDescription * pExcTypeDescr = 0;
-    OUString unoName( toUNOname( header->exceptionType->name() ) );
-#if OSL_DEBUG_LEVEL > 1
-    OString cstr_unoName( OUStringToOString( unoName, RTL_TEXTENCODING_ASCII_US ) );
-    fprintf( stderr, "> c++ exception occurred: %s\n", cstr_unoName.getStr() );
-#endif
-	typelib_typedescription_getByName( &pExcTypeDescr, unoName.pData );
-    if (0 == pExcTypeDescr)
-    {
-        RuntimeException aRE(
-            OUString( RTL_CONSTASCII_USTRINGPARAM("exception type not found: ") ) + unoName,
-            Reference< XInterface >() );
-        Type const & rType = ::getCppuType( &aRE );
-        uno_type_any_constructAndConvert( pUnoExc, &aRE, rType.getTypeLibType(), pCpp2Uno );
-#if OSL_DEBUG_LEVEL > 0
-        OString cstr( OUStringToOString( aRE.Message, RTL_TEXTENCODING_ASCII_US ) );
-        OSL_ENSURE( 0, cstr.getStr() );
-#endif
-    }
-    else
-    {
-        // construct uno exception any
-        uno_any_constructAndConvert( pUnoExc, header->adjustedPtr, pExcTypeDescr, pCpp2Uno );
-        typelib_typedescription_release( pExcTypeDescr );
-    }
-}
-
-}
-
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_intel/makefile.mk b/main/bridges/source/cpp_uno/gcc3_macosx_intel/makefile.mk
deleted file mode 100644
index eba88d8..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_intel/makefile.mk
+++ /dev/null
@@ -1,72 +0,0 @@
-#**************************************************************
-#  
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#  
-#    http://www.apache.org/licenses/LICENSE-2.0
-#  
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#  
-#**************************************************************
-
-
-
-PRJ=..$/..$/..
-
-PRJNAME=bridges
-TARGET=$(COMNAME)_uno
-LIBTARGET=no
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-# --- Files --------------------------------------------------------
-
-.IF "$(OS)$(CPU)" == "MACOSXI"
-
-.IF "$(cppu_no_leak)" == ""
-CFLAGS += -DLEAK_STATIC_DATA
-.ENDIF
-
-CFLAGSNOOPT=-O0
-
-SLOFILES= \
-	$(SLO)$/except.obj		\
-	$(SLO)$/cpp2uno.obj		\
-    $(SLO)$/uno2cpp.obj \
-    $(SLO)$/call.obj
-
-SHL1TARGET= $(TARGET)
-
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-SHL1IMPLIB=i$(TARGET)
-SHL1VERSIONMAP=..$/..$/bridge_exports.map
-
-SHL1OBJS = $(SLOFILES)
-SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
-SHL1RPATH = URELIB
-
-SHL1STDLIBS= \
-	$(CPPULIB)			\
-	$(SALLIB)
-.ENDIF
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE :  target.mk
-
-$(SLO)$/%.obj: %.s
-    $(CC) -c -o $(SLO)$/$(@:b).o $<
-    touch $@
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx b/main/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx
deleted file mode 100644
index 6f5f15f..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_intel/share.hxx
+++ /dev/null
@@ -1,88 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-#include "uno/mapping.h"
-
-#include <typeinfo>
-#include <exception>
-#include <cstddef>
-
-namespace CPPU_CURRENT_NAMESPACE
-{
-
-bool isSimpleReturnType(typelib_TypeDescription * pTD, bool recursive = false);
-
-void dummy_can_throw_anything( char const * );
-
-// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
-
-struct _Unwind_Exception
-{
-    unsigned exception_class __attribute__((__mode__(__DI__)));
-    void * exception_cleanup;
-    unsigned private_1 __attribute__((__mode__(__word__)));
-    unsigned private_2 __attribute__((__mode__(__word__)));
-} __attribute__((__aligned__));
-
-struct __cxa_exception
-{ 
-    ::std::type_info *exceptionType;
-    void (*exceptionDestructor)(void *); 
-    
-    ::std::unexpected_handler unexpectedHandler;
-    ::std::terminate_handler terminateHandler;
-    
-    __cxa_exception *nextException;
-    
-    int handlerCount;
-    
-    int handlerSwitchValue;
-    const unsigned char *actionRecord;
-    const unsigned char *languageSpecificData;
-    void *catchTemp;
-    void *adjustedPtr;
-    
-    _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();
-
-// -----
-
-//==================================================================================================
-void raiseException(
-    uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
-//==================================================================================================
-void fillUnoException(
-    __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
-}
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx b/main/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
deleted file mode 100644
index c16fcbc..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_intel/uno2cpp.cxx
+++ /dev/null
@@ -1,495 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_bridges.hxx"
-
-#include <stdio.h>
-
-// #include <malloc.h>
-
-#include <com/sun/star/uno/genfunc.hxx>
-#include "com/sun/star/uno/RuntimeException.hpp"
-#include <uno/data.h>
-
-#include "bridges/cpp_uno/shared/bridge.hxx"
-#include "bridges/cpp_uno/shared/types.hxx"
-#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
-#include "bridges/cpp_uno/shared/vtables.hxx"
-
-#include "share.hxx"
-
-using namespace ::rtl;
-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
-
-	// see the function call convention for IA32 apps on OSX at
-	// http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/LowLevelABI/130-IA-32_Function_Calling_Conventions/IA32.html
-	// though it mentions that virtual functions may use something different in practice both gcc and clang use the stdcall convention
-	volatile long edx = 0, eax = 0; // for register returns
-    void * stackptr;
-	asm volatile (
-		"mov   %%esp, %6\n\t"
-		"mov   %0, %%eax\n\t"
-		"mov   %%eax, %%edx\n\t"
-                // padding to keep stack 16-byte aligned
-		"shl   $2, %%eax\n\t"
-		"neg   %%eax\n\t"
-		"add   %%esp, %%eax\n\t"
-		"and   $0xf, %%eax\n\t"
-		"sub   %%eax, %%esp\n\t"
-                // push the arguments onto the stack
-		"mov   %%edx, %%eax\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"	    // edx = this
-		"mov   0(%%edx), %%edx\n\t" // edx = vtable
-		"mov   %3, %%eax\n\t"
-		"shl   $2, %%eax\n\t"
-		"add   %%eax, %%edx\n\t"    // func** edx = vtable[n]
-		"mov   0(%%edx), %%edx\n\t" // func* edx
-		"call  *%%edx\n\t"
-		// save return registers
- 		"mov   %%eax, %4\n\t"
- 		"mov   %%edx, %5\n\t"
-		// restore 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;
-	// fall through
-    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: {
-        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;
-        }
-        break;
-    }
-	}
-}
-
-//================================================================================================== 
-static void cpp_call(
-	bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
-    bridges::cpp_uno::shared::VtableSlot aVtableSlot,
-	typelib_TypeDescriptionReference * pReturnTypeRef,
-	sal_Int32 nParams, typelib_MethodParameter * pParams,
-	void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
-{
-  	// max space for: [complex ret ptr], values|ptr ...
-  	char * pCppStack		=
-  		(char *)alloca( sizeof(sal_Int32) + ((nParams+2) * sizeof(sal_Int64)) );
-  	char * pCppStackStart	= pCppStack;
-	
-	// return
-	typelib_TypeDescription * pReturnTypeDescr = 0;
-	TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
-	OSL_ENSURE( pReturnTypeDescr, "### expected return type description!" );
-	
-	void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion
-	bool bSimpleReturn = true;
-    
-	if (pReturnTypeDescr)
-	{
-        bSimpleReturn = CPPU_CURRENT_NAMESPACE::isSimpleReturnType(
-            pReturnTypeDescr);
-		if (bSimpleReturn)
-		{
-			pCppReturn = pUnoReturn; // direct way for simple types
-		}
-		else
-		{
-            pCppReturn = (bridges::cpp_uno::shared::relatesToInterfaceType(
-                              pReturnTypeDescr )
-                          ? alloca( pReturnTypeDescr->nSize )
-                          : pUnoReturn); // direct way
-            // complex return via ptr
-            *(void **)pCppStack = pCppReturn;
-            pCppStack += sizeof(void *);
-		}
-	}
-	// push this
-    void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
-        + aVtableSlot.offset;
-	*(void**)pCppStack = pAdjustedThisPtr;
-	pCppStack += sizeof( void* );
-
-	// stack space
-	OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
-	// args
-	void ** pCppArgs  = (void **)alloca( 3 * sizeof(void *) * nParams );
-	// indizes of values this have to be converted (interface conversion cpp<=>uno)
-	sal_Int32 * pTempIndizes = (sal_Int32 *)(pCppArgs + nParams);
-	// type descriptions for reconversions
-	typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pCppArgs + (2 * nParams));
-	
-	sal_Int32 nTempIndizes   = 0;
-	
-	for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
-	{
-		const typelib_MethodParameter & rParam = pParams[nPos];
-		typelib_TypeDescription * pParamTypeDescr = 0;
-		TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
-		
-		if (!rParam.bOut
-            && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
-		{
-			uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
-									pThis->getBridge()->getUno2Cpp() );
-			
-			switch (pParamTypeDescr->eTypeClass)
-			{
-			case typelib_TypeClass_HYPER:
-			case typelib_TypeClass_UNSIGNED_HYPER:
-			case typelib_TypeClass_DOUBLE:
-				pCppStack += sizeof(sal_Int32); // extra long
-            default:
-                break;
-			}
-			// no longer needed
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		else // ptr to complex value | ref
-		{
-			if (! rParam.bIn) // is pure out
-			{
-				// cpp out is constructed mem, uno out is not!
-				uno_constructData(
-					*(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
-					pParamTypeDescr );
-				pTempIndizes[nTempIndizes] = nPos; // default constructed for cpp call
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			// is in/inout
-			else if (bridges::cpp_uno::shared::relatesToInterfaceType(
-                         pParamTypeDescr ))
-			{
-				uno_copyAndConvertData(
-					*(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
-					pUnoArgs[nPos], pParamTypeDescr,
-                    pThis->getBridge()->getUno2Cpp() );
-				
-				pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			else // direct way
-			{
-				*(void **)pCppStack = pCppArgs[nPos] = pUnoArgs[nPos];
-				// no longer needed
-				TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-			}
-		}
-		pCppStack += sizeof(sal_Int32); // standard parameter length
-	}
-
-	try
-	{
-		OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
-		callVirtualMethod(
-			pAdjustedThisPtr, aVtableSlot.index,
-			pCppReturn, pReturnTypeDescr, bSimpleReturn,
-			(sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
-		// NO exception occurred...
-		*ppUnoExc = 0;
-		
-		// reconvert temporary params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
-			
-			if (pParams[nIndex].bIn)
-			{
-				if (pParams[nIndex].bOut) // inout
-				{
-					uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
-					uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
-											pThis->getBridge()->getCpp2Uno() );
-				}
-			}
-			else // pure out
-			{
-				uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
-										pThis->getBridge()->getCpp2Uno() );
-			}
-			// destroy temp cpp param => cpp: every param was constructed
-			uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
-			
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		// return value
-		if (pCppReturn && pUnoReturn != pCppReturn)
-		{
-			uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
-									pThis->getBridge()->getCpp2Uno() );
-			uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
-		}
-	}
- 	catch (...)
- 	{
-#if OSL_DEBUG_LEVEL > 1
-	fprintf( stderr, "caught C++ exception\n" );
-#endif
-  		// fill uno exception
-		fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
-        
-		// temporary params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			// destroy temp cpp param => cpp: every param was constructed
-			uno_destructData( pCppArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], cpp_release );
-			TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
-		}
-		// return type
-		if (pReturnTypeDescr)
-			TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-	}
-}
-
-}
-
-namespace CPPU_CURRENT_NAMESPACE {
-bool isSimpleReturnType(typelib_TypeDescription * pTD, bool recursive)
-{
-    if (bridges::cpp_uno::shared::isSimpleType( pTD ))
-        return true;
-    // Only structs of exactly 1, 2, 4, or 8 bytes are returned through
-    // registers, see <http://developer.apple.com/documentation/DeveloperTools/
-    // Conceptual/LowLevelABI/Articles/IA32.html>:
-    if (pTD->eTypeClass == typelib_TypeClass_STRUCT &&
-        (recursive || pTD->nSize <= 2 || pTD->nSize == 4 || pTD->nSize == 8))
-    {
-        typelib_CompoundTypeDescription *const pCompTD =
-            (typelib_CompoundTypeDescription *) pTD;
-        for ( sal_Int32 pos = pCompTD->nMembers; pos--; ) {
-            typelib_TypeDescription * pMemberTD = 0;
-            TYPELIB_DANGER_GET( &pMemberTD, pCompTD->ppTypeRefs[pos] );
-            bool const b = isSimpleReturnType(pMemberTD, true);
-            TYPELIB_DANGER_RELEASE( pMemberTD );
-            if (! b)
-                return false;
-        }
-        return true;
-    }
-    return false;
-}
-}
-
-//==================================================================================================
-
-namespace bridges { namespace cpp_uno { namespace shared {
-void unoInterfaceProxyDispatch(
-	uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
-	void * pReturn, void * pArgs[], uno_Any ** ppException )
-{
-	// is my surrogate
-	bridges::cpp_uno::shared::UnoInterfaceProxy * pThis
-        = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * >(pUnoI);
-	
-	switch (pMemberDescr->eTypeClass)
-	{
-	case typelib_TypeClass_INTERFACE_ATTRIBUTE:
-	{
-        VtableSlot aVtableSlot(
-            getVtableSlot(
-                reinterpret_cast<
-                    typelib_InterfaceAttributeTypeDescription const * >(
-                        pMemberDescr)));
-		if (pReturn)
-		{
-			// dependent dispatch
-			cpp_call(
-				pThis, aVtableSlot,
-				((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
-				0, 0, // no params
-				pReturn, pArgs, ppException );
-		}
-		else
-		{
-			// is SET
-			typelib_MethodParameter aParam;
-			aParam.pTypeRef =
-				((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef;
-			aParam.bIn		= sal_True;
-			aParam.bOut		= sal_False;
-
-			typelib_TypeDescriptionReference * pReturnTypeRef = 0;
-			OUString aVoidName( RTL_CONSTASCII_USTRINGPARAM("void") );
-			typelib_typedescriptionreference_new(
-				&pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
-			
-			// dependent dispatch
-            aVtableSlot.index += 1; // get, then set method
-			cpp_call(
-				pThis, aVtableSlot,
-				pReturnTypeRef,
-				1, &aParam,
-				pReturn, pArgs, ppException );
-			
-			typelib_typedescriptionreference_release( pReturnTypeRef );
-		}
-		
-		break;
-	}
-	case typelib_TypeClass_INTERFACE_METHOD:
-	{
-        VtableSlot aVtableSlot(
-            getVtableSlot(
-                reinterpret_cast<
-                    typelib_InterfaceMethodTypeDescription const * >(
-                        pMemberDescr)));
-		switch (aVtableSlot.index)
-		{
-			// standard calls
-		case 1: // acquire uno interface
-			(*pUnoI->acquire)( pUnoI );
-			*ppException = 0;
-			break;
-		case 2: // release uno interface
-			(*pUnoI->release)( pUnoI );
-			*ppException = 0;
-			break;
-		case 0: // queryInterface() opt
-		{
-			typelib_TypeDescription * pTD = 0;
-			TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() );
-			if (pTD)
-			{
-                uno_Interface * pInterface = 0;
-                (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
-                    pThis->pBridge->getUnoEnv(),
-                    (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
-			
-                if (pInterface)
-                {
-                    ::uno_any_construct(
-                        reinterpret_cast< uno_Any * >( pReturn ),
-                        &pInterface, pTD, 0 );
-                    (*pInterface->release)( pInterface );
-                    TYPELIB_DANGER_RELEASE( pTD );
-                    *ppException = 0;
-                    break;
-                }
-                TYPELIB_DANGER_RELEASE( pTD );
-            }
-		} // else perform queryInterface()
-		default:
-			// dependent dispatch
-			cpp_call(
-				pThis, aVtableSlot,
-				((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
-				((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
-				((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
-				pReturn, pArgs, ppException );
-		}
-		break;
-	}
-	default:
-	{
-		::com::sun::star::uno::RuntimeException aExc(
-			OUString( RTL_CONSTASCII_USTRINGPARAM("illegal member type description!") ),
-			::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
-		
-		Type const & rExcType = ::getCppuType( &aExc );
-		// binary identical null reference
-		::uno_type_any_construct( *ppException, &aExc, rExcType.getTypeLibType(), 0 );
-	}
-	}
-}
-
-} } }
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx b/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx
deleted file mode 100644
index b79d155..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx
+++ /dev/null
@@ -1,726 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_bridges.hxx"
-
-#include <com/sun/star/uno/genfunc.hxx>
-#include <uno/data.h>
-#include <typelib/typedescription.hxx>
-
-#include "bridges/cpp_uno/shared/bridge.hxx"
-#include "bridges/cpp_uno/shared/cppinterfaceproxy.hxx"
-#include "bridges/cpp_uno/shared/types.hxx"
-#include "bridges/cpp_uno/shared/vtablefactory.hxx"
-
-#include "share.hxx"
-
-using namespace ::com::sun::star::uno;
-
-namespace
-{
-
-//==================================================================================================
-static typelib_TypeClass cpp2uno_call(
-	bridges::cpp_uno::shared::CppInterfaceProxy * pThis,
-	const typelib_TypeDescription * pMemberTypeDescr,
-	typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
-	sal_Int32 nParams, typelib_MethodParameter * pParams,
-        void ** gpreg, void ** fpreg, void ** ovrflw,
-	sal_Int64 * pRegisterReturn /* space for register return */ )
-{
-       
-        // gpreg:  [ret *], this, [gpr params]
-        // fpreg:  [fpr params]
-        // ovrflw: [gpr or fpr params (space for entire parameter list in structure format properly aligned)]
-
-	// return
-	typelib_TypeDescription * pReturnTypeDescr = 0;
-	if (pReturnTypeRef)
-		TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
-	
-	void * pUnoReturn = 0;
-	void * pCppReturn = 0; // complex return ptr: if != 0 && != pUnoReturn, reconversion need
-	
-	sal_Int32 ngpreg = 0;
-	sal_Int32 nfpreg = 0;
-
-
-	if (pReturnTypeDescr)
-	{
-		if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
-			pUnoReturn = pRegisterReturn; // direct way for simple types
-		else // complex return via ptr (pCppReturn)
-		{
-			pCppReturn = *gpreg;
-			ngpreg++;
-			++ovrflw;
-			
-			pUnoReturn = (bridges::cpp_uno::shared::relatesToInterfaceType( pReturnTypeDescr )
-						  ? alloca( pReturnTypeDescr->nSize )
-						  : pCppReturn); // direct way
-		}
-	}
-	// pop this
-	ngpreg++;
-	++ovrflw;
-
-        // after handling optional return pointer and "this"
-        // make use of the space that is allocated to store all parameters in the callers stack
-        // by comying the proper registers filled with parameters to that space 
-	char * pCppStack = (char *)ovrflw;
-
-
-	sal_Int32 nPos;
-
-	for ( nPos = 0; nPos < nParams; ++nPos )
-	{
-		const typelib_MethodParameter & rParam = pParams[nPos];
-		if (rParam.bOut)
-		{
-			if (ngpreg < 8)
-			{
-				*(sal_Int32 *)pCppStack = ((sal_Int32 *)gpreg)[ngpreg++];
-			}
-			pCppStack += sizeof (sal_Int32);
-		}
-		else
-		{
-		switch (rParam.pTypeRef->eTypeClass)
-		{
-		case typelib_TypeClass_FLOAT:
-			if (nfpreg < 13)
-			{
-				*(float *)pCppStack = ((double *)fpreg)[nfpreg++];
-			}
-			pCppStack += sizeof (float);
-			ngpreg += 1;
-			break;	
-		case typelib_TypeClass_DOUBLE:
-			if (nfpreg < 13)
-			{
-				*(double *)pCppStack = ((double *)fpreg)[nfpreg++];
-			}
-			pCppStack += sizeof (double);
-			ngpreg += 2;
-			break;	
-		case typelib_TypeClass_UNSIGNED_HYPER:
-		case typelib_TypeClass_HYPER:
-			if (ngpreg < 8)
-			{
-				*(sal_Int32 *)pCppStack = ((sal_Int32 *)gpreg)[ngpreg++];
-			}
-			pCppStack += sizeof (sal_Int32);
-                        // fall through on purpose
-		default:
-			if (ngpreg < 8)
-			{
-				*(sal_Int32 *)pCppStack = ((sal_Int32 *)gpreg)[ngpreg++];
-			}
-			pCppStack += sizeof (sal_Int32);
-		}
-		}
-	}
-
-        // now the stack has all of the parameters stored in it ready to be processed
-        // so we are ready to build the uno call stack
-	pCppStack = (char *)ovrflw;
-
-	// stack space
-	OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
-
-	// parameters
-	void ** pUnoArgs = (void **)alloca( 4 * sizeof(void *) * nParams );
-	void ** pCppArgs = pUnoArgs + nParams;
-
-	// indizes of values this have to be converted (interface conversion cpp<=>uno)
-	sal_Int32 * pTempIndizes = (sal_Int32 *)(pUnoArgs + (2 * nParams));
-
-	// type descriptions for reconversions
-	typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pUnoArgs + (3 * nParams));
-	
-	sal_Int32 nTempIndizes   = 0;
-	
-	for ( nPos = 0; nPos < nParams; ++nPos )
-	{
-		const typelib_MethodParameter & rParam = pParams[nPos];
-		typelib_TypeDescription * pParamTypeDescr = 0;
-		TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
-
-		if (!rParam.bOut && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr )) 
-                // value
-		{
-			switch (pParamTypeDescr->eTypeClass)
-			{
-			case typelib_TypeClass_BOOLEAN:
-			case typelib_TypeClass_BYTE:
-				pCppArgs[nPos] = pCppStack +3;
-				pUnoArgs[nPos] = pCppStack +3;
-				break;
-			case typelib_TypeClass_CHAR:
-			case typelib_TypeClass_SHORT:
-			case typelib_TypeClass_UNSIGNED_SHORT:
-				pCppArgs[nPos] = pCppStack +2;
-				pUnoArgs[nPos] = pCppStack +2;
-				break;
-			case typelib_TypeClass_HYPER:
-			case typelib_TypeClass_UNSIGNED_HYPER:
-			case typelib_TypeClass_DOUBLE:
-				pCppArgs[nPos] = pCppStack;
-				pUnoArgs[nPos] = pCppStack;
-				pCppStack += sizeof(sal_Int32); // extra long (two regs)
-				break;
-			default:
-				pCppArgs[nPos] = pCppStack;
-				pUnoArgs[nPos] = pCppStack;
-			}
-			// no longer needed
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		else // ptr to complex value | ref
-		{
-			pCppArgs[nPos] = *(void **)pCppStack;
-
-			if (! rParam.bIn) // is pure out
-			{
-				// uno out is unconstructed mem!
-				pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize );
-				pTempIndizes[nTempIndizes] = nPos;
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			// is in/inout
-			else if (bridges::cpp_uno::shared::relatesToInterfaceType( pParamTypeDescr ))
-			{
-				uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
-										*(void **)pCppStack, pParamTypeDescr,
-										pThis->getBridge()->getCpp2Uno() );
-				pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			else // direct way
-			{
-				pUnoArgs[nPos] = *(void **)pCppStack;
-				// no longer needed
-				TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-			}
-		}
-		pCppStack += sizeof(sal_Int32); // standard parameter length
-	}
-	
-	
-	// ExceptionHolder
-	uno_Any aUnoExc; // Any will be constructed by callee
-	uno_Any * pUnoExc = &aUnoExc;
-
-	// invoke uno dispatch call
-	(*pThis->getUnoI()->pDispatcher)( 
-         pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
-	
-	// in case an exception occurred...
-	if (pUnoExc)
-	{
-		// destruct temporary in/inout params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			
-			if (pParams[nIndex].bIn) // is in/inout => was constructed
-				uno_destructData( pUnoArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], 0 );
-			TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
-		}
-		if (pReturnTypeDescr)
-			TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-		
-		CPPU_CURRENT_NAMESPACE::raiseException( 
-                    &aUnoExc, pThis->getBridge()->getUno2Cpp() ); 
-                // has to destruct the any
-		// is here for dummy
-		return typelib_TypeClass_VOID;
-	}
-	else // else no exception occurred...
-	{
-		// temporary params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
-			
-			if (pParams[nIndex].bOut) // inout/out
-			{
-				// convert and assign
-				uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
-				uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
-										pThis->getBridge()->getUno2Cpp() );
-			}
-			// destroy temp uno param
-			uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
-			
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		// return
-		if (pCppReturn) // has complex return
-		{
-			if (pUnoReturn != pCppReturn) // needs reconversion
-			{
-				uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
-										pThis->getBridge()->getUno2Cpp() );
-				// destroy temp uno return
-				uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
-			}
-			// complex return ptr is set to return reg
-			*(void **)pRegisterReturn = pCppReturn;
-		}
-		if (pReturnTypeDescr)
-		{
-			typelib_TypeClass eRet = (typelib_TypeClass)pReturnTypeDescr->eTypeClass;
-			TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-			return eRet;
-		}
-		else
-			return typelib_TypeClass_VOID;
-	}
-}
-
-
-//==================================================================================================
-static typelib_TypeClass cpp_mediate(
-	sal_Int32 nFunctionIndex,
-        sal_Int32 nVtableOffset,
-        void ** gpreg, void ** fpreg, void ** ovrflw,
-	sal_Int64 * pRegisterReturn /* space for register return */ )
-{
-	OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
-	
-	// gpreg:  [ret *], this, [other gpr params]
-	// fpreg:  [fpr params]
-	// ovrflw: [gpr or fpr params (in space allocated for all params properly aligned)]
-
-        void * pThis;
-	if( nFunctionIndex & 0x80000000 )
-	{
-		nFunctionIndex &= 0x7fffffff;
-		pThis = gpreg[1];
-	}
-	else
-        {
-		pThis = gpreg[0];
-        }
-	
-        pThis = static_cast< char * >(pThis) - nVtableOffset;
-        bridges::cpp_uno::shared::CppInterfaceProxy * pCppI 
-	= bridges::cpp_uno::shared::CppInterfaceProxy::castInterfaceToProxy(pThis);
-
-    
-	typelib_InterfaceTypeDescription * pTypeDescr = pCppI->getTypeDescr();
-	
-	OSL_ENSURE( nFunctionIndex < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
-	if (nFunctionIndex >= pTypeDescr->nMapFunctionIndexToMemberIndex)
-	{
-		throw RuntimeException(
-            rtl::OUString::createFromAscii("illegal vtable index!"),
-            (XInterface *)pThis );
-	}
-	
-	// determine called method
-	sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nFunctionIndex];
-	OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
-
-	TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
-    
-	typelib_TypeClass eRet;
-	switch (aMemberDescr.get()->eTypeClass)
-	{
-	case typelib_TypeClass_INTERFACE_ATTRIBUTE:
-	{
-		if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nFunctionIndex)
-		{
-			// is GET method
-			eRet = cpp2uno_call(
-				pCppI, aMemberDescr.get(),
-				((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef,
-				0, 0, // no params
-				gpreg, fpreg, ovrflw, pRegisterReturn );
-		}
-		else
-		{
-			// is SET method
-			typelib_MethodParameter aParam;
-			aParam.pTypeRef =
-				((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef;
-			aParam.bIn		= sal_True;
-			aParam.bOut		= sal_False;
-			
-			eRet = cpp2uno_call(
-				pCppI, aMemberDescr.get(),
-				0, // indicates void return
-				1, &aParam,
-				gpreg, fpreg, ovrflw, pRegisterReturn );
-		}
-		break;
-	}
-	case typelib_TypeClass_INTERFACE_METHOD:
-	{
-		// is METHOD
-		switch (nFunctionIndex)
-		{
-		case 1: // acquire()
-			pCppI->acquireProxy(); // non virtual call!
-			eRet = typelib_TypeClass_VOID;
-			break;
-		case 2: // release()
-			pCppI->releaseProxy(); // non virtual call!
-			eRet = typelib_TypeClass_VOID;
-			break;
-		case 0: // queryInterface() opt
-		{
-			typelib_TypeDescription * pTD = 0;
-			TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( gpreg[2] )->getTypeLibType() );
-			if (pTD)
-			{
-                XInterface * pInterface = 0;
-                (*pCppI->getBridge()->getCppEnv()->getRegisteredInterface)(
-                    pCppI->getBridge()->getCppEnv(),
-                    (void **)&pInterface, pCppI->getOid().pData, (typelib_InterfaceTypeDescription *)pTD );
-			
-                if (pInterface)
-                {
-                    ::uno_any_construct(
-                        reinterpret_cast< uno_Any * >( gpreg[0] ),
-                        &pInterface, pTD, cpp_acquire );
-                    pInterface->release();
-                    TYPELIB_DANGER_RELEASE( pTD );
-                    *(void **)pRegisterReturn = gpreg[0];
-                    eRet = typelib_TypeClass_ANY;
-                    break;
-                }
-                TYPELIB_DANGER_RELEASE( pTD );
-            }
-		} // else perform queryInterface()
-		default:
-			eRet = cpp2uno_call(
-				pCppI, aMemberDescr.get(),
-				((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef,
-				((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams,
-				((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams,
-				gpreg, fpreg, ovrflw, pRegisterReturn );
-		}
-		break;
-	}
-	default:
-	{
-		throw RuntimeException(
-            rtl::OUString::createFromAscii("no member description found!"),
-            (XInterface *)pThis );
-		// is here for dummy
-		eRet = typelib_TypeClass_VOID;
-	}
-	}
-
-	return eRet;
-}
-
-//==================================================================================================
-/**
- * is called on incoming vtable calls
- * (called by asm snippets)
- */
-static void cpp_vtable_call( int nFunctionIndex, int nVtableOffset, void** gpregptr, void** fpregptr, void** ovrflw)
-{
-        sal_Int32     gpreg[8];
-        double        fpreg[13];
-       
-        // FIXME: why are we restoring the volatile ctr register here
-	sal_Int32   ctrsave = ((sal_Int32*)gpregptr)[-1];
-
-        memcpy( gpreg, gpregptr, 32);
-        memcpy( fpreg, fpregptr, 104);
-
-	volatile long nRegReturn[2];
-
-        // sal_Bool bComplex = nFunctionIndex & 0x80000000 ? sal_True : sal_False;
-
-	typelib_TypeClass aType = 
-             cpp_mediate( nFunctionIndex, nVtableOffset, (void**)gpreg, (void**)fpreg, ovrflw, (sal_Int64*)nRegReturn );
-    
-        // FIXME: why are we restoring the volatile ctr register here
-        // FIXME: and why are we putting back the values for r4, r5, and r6 as well
-        // FIXME: this makes no sense to me, all of these registers are volatile!
-	__asm__( "lwz r4, %0\n\t"
-		"mtctr r4\n\t"
-		"lwz r4, %1\n\t"
-		"lwz r5, %2\n\t"
-		"lwz r6, %3\n\t"
-		 : : "m"(ctrsave), "m"(gpreg[1]), "m"(gpreg[2]), "m"(gpreg[3]) );
-
-	switch( aType )
-	{
-
-                // move return value into register space
-                // (will be loaded by machine code snippet)
-
-                case typelib_TypeClass_BOOLEAN:
-                case typelib_TypeClass_BYTE:
-                  __asm__( "lbz r3,%0\n\t" : :
-			   "m"(nRegReturn[0]) );
-                  break;
- 
-                case typelib_TypeClass_CHAR:
-                case typelib_TypeClass_SHORT:
-                case typelib_TypeClass_UNSIGNED_SHORT:
-                  __asm__( "lhz r3,%0\n\t" : :
-			   "m"(nRegReturn[0]) );
-                  break;
-
-		case typelib_TypeClass_FLOAT:
-                  __asm__( "lfs f1,%0\n\t" : :
-                           "m" (*((float*)nRegReturn)) );
-		  break;
-
-		case typelib_TypeClass_DOUBLE:
-		  __asm__( "lfd f1,%0\n\t" : :
-                           "m" (*((double*)nRegReturn)) );
-		  break;
-
-		case typelib_TypeClass_HYPER:
-		case typelib_TypeClass_UNSIGNED_HYPER:
-		  __asm__( "lwz r4,%0\n\t" : :
-                           "m"(nRegReturn[1]) );  // fall through
-
-		default:
-		  __asm__( "lwz r3,%0\n\t" : :
-                           "m"(nRegReturn[0]) );
-		  break;
-	}
-}
-
-
-int const codeSnippetSize = 136;
-
-unsigned char * codeSnippet( unsigned char * code, sal_Int32 functionIndex, 
-                  sal_Int32 vtableOffset, bool simpleRetType )
-{
-    if (! simpleRetType )
-        functionIndex |= 0x80000000;
-
-    // OSL_ASSERT( sizeof (long) == 4 );
-
-    // FIXME: why are we leaving an 8k gap in the stack here
-    // FIXME: is this to allow room for signal handling frames?
-    // FIXME: seems like overkill here but this is what was done for Mac OSX for gcc2
-    // FIXME: also why no saving of the non-volatile CR pieces here, to be safe
-    // FIXME: we probably should 
-
-    /* generate this code */
-
-    // # so first save gpr 3 to gpr 10 (aligned to 4)
-    //  stw   r3, -8000(r1)
-    //  stw   r4, -7996(r1)
-    //  stw   r5, -7992(r1) 
-    //  stw   r6, -7988(r1)
-    //  stw   r7, -7984(r1)
-    //  stw   r8, -7980(r1) 
-    //  stw   r9, -7976(r1)
-    //  stw   r10,-7972(r1)
-
-    // # next save fpr 1 to fpr 13 (aligned to 8)
-    //  stfd  f1, -7968(r1)
-    //  stfd  f2, -7960(r1)
-    //  stfd  f3, -7952(r1)
-    //  stfd  f4, -7944(r1)
-    //  stfd  f5, -7936(r1)
-    //  stfd  f6, -7928(r1)
-    //  stfd  f7, -7920(r1)
-    //  stfd  f8, -7912(r1)
-    //  stfd  f9, -7904(r1)
-    //  stfd  f10,-7896(r1)
-    //  stfd  f11,-7888(r1)
-    //  stfd  f12,-7880(r1)
-    //  stfd  f13,-7872(r1)
-
-    // FIXME: ctr is volatile, while are we saving it and not CR?
-    // mfctr r3
-    // stw r3, -8004(r1)
-
-    // # now here is where cpp_vtable_call must go
-    // lis r3,0xdead
-    // ori r3,r3,0xbeef
-    // mtctr r3
-
-    // # now load up the functionIndex number
-    // lis r3, 0xdead
-    // ori r3,r3,0xbeef
-
-    // # now load up the vtableOffset
-    // lis r4, 0xdead
-    // ori r4,r4,0xbeef
-	
-    // #now load up the pointer to the saved gpr registers
-    // addi r5,r1,-8000
-
-    // #now load up the pointer to the saved fpr registers
-    // addi r6,r1,-7968
-	
-    // #now load up the pointer to the overflow call stack
-    // addi r7,r1,24 # frame pointer plus 24	
-
-    // bctr
-	
-    unsigned long * p = (unsigned long *) code;
-
-    * p++ = 0x9061e0c0;
-    * p++ = 0x9081e0c4;
-    * p++ = 0x90a1e0c8;
-    * p++ = 0x90c1e0cc;
-    * p++ = 0x90e1e0d0;
-    * p++ = 0x9101e0d4;
-    * p++ = 0x9121e0d8;
-    * p++ = 0x9141e0dc;
-    * p++ = 0xd821e0e0;
-    * p++ = 0xd841e0e8;
-    * p++ = 0xd861e0f0;
-    * p++ = 0xd881e0f8;
-    * p++ = 0xd8a1e100;
-    * p++ = 0xd8c1e108;
-    * p++ = 0xd8e1e110;
-    * p++ = 0xd901e118;
-    * p++ = 0xd921e120;
-    * p++ = 0xd941e128;
-    * p++ = 0xd961e130;
-    * p++ = 0xd981e138;
-    * p++ = 0xd9a1e140;
-    * p++ = 0x7c6902a6;
-    * p++ = 0x9061e0bc;
-    * p++ = 0x3c600000 | (((unsigned long)cpp_vtable_call) >> 16);
-    * p++ = 0x60630000 | (((unsigned long)cpp_vtable_call) & 0x0000FFFF);
-    * p++ = 0x7c6903a6;
-    * p++ = 0x3c600000 | (((unsigned long)functionIndex) >> 16);
-    * p++ = 0x60630000 | (((unsigned long)functionIndex) & 0x0000FFFF);
-    * p++ = 0x3c800000 | (((unsigned long)vtableOffset) >> 16);
-    * p++ = 0x60840000 | (((unsigned long)vtableOffset) & 0x0000FFFF);
-    * p++ = 0x38a1e0c0;
-    * p++ = 0x38c1e0e0;
-    * p++ = 0x38e10018;
-    * p++ = 0x4e800420;
-
-    return (code + codeSnippetSize);
-
-}
-
-
-}
-
-void bridges::cpp_uno::shared::VtableFactory::flushCode(unsigned char const * bptr, unsigned char const * eptr)
-{
-    int const lineSize = 32;
-    for (unsigned char const * p = bptr; p < eptr + lineSize; p += lineSize) {
-        __asm__ volatile ("dcbst 0, %0" : : "r"(p) : "memory");
-    }
-    __asm__ volatile ("sync" : : : "memory");
-    for (unsigned char const * p = bptr; p < eptr + lineSize; p += lineSize) {
-        __asm__ volatile ("icbi 0, %0" : : "r"(p) : "memory");
-    }
-    __asm__ volatile ("isync" : : : "memory");
-}
-
-struct bridges::cpp_uno::shared::VtableFactory::Slot { void * fn; };
-
-bridges::cpp_uno::shared::VtableFactory::Slot *
-bridges::cpp_uno::shared::VtableFactory::mapBlockToVtable(void * block)
-{
-    return static_cast< Slot * >(block) + 2;
-}
-
-sal_Size bridges::cpp_uno::shared::VtableFactory::getBlockSize(
-    sal_Int32 slotCount)
-{
-    return (slotCount + 2) * sizeof (Slot) + slotCount * codeSnippetSize;
-}
-
-bridges::cpp_uno::shared::VtableFactory::Slot *
-bridges::cpp_uno::shared::VtableFactory::initializeBlock(
-    void * block, sal_Int32 slotCount)
-{
-    Slot * slots = mapBlockToVtable(block);
-    slots[-2].fn = 0;
-    slots[-1].fn = 0;
-    return slots + slotCount;
-}
-
-unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
-    Slot ** slots, unsigned char * code,
-    typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
-    sal_Int32 functionCount, sal_Int32 vtableOffset)
-{
-    (*slots) -= functionCount;
-    Slot * s = *slots;
-
-  // fprintf(stderr, "in addLocalFunctions functionOffset is %x\n",functionOffset);
-  // fprintf(stderr, "in addLocalFunctions vtableOffset is %x\n",vtableOffset);
-  // fflush(stderr);
-
-    for (sal_Int32 i = 0; i < type->nMembers; ++i) {
-        typelib_TypeDescription * member = 0;
-        TYPELIB_DANGER_GET(&member, type->ppMembers[i]);
-        OSL_ASSERT(member != 0);
-        switch (member->eTypeClass) {
-        case typelib_TypeClass_INTERFACE_ATTRIBUTE:
-            // Getter:
-            (s++)->fn = code;
-            code = codeSnippet(
-                code, functionOffset++, vtableOffset,
-                bridges::cpp_uno::shared::isSimpleType(
-                    reinterpret_cast<
-                    typelib_InterfaceAttributeTypeDescription * >(
-                        member)->pAttributeTypeRef));
-
-            // Setter:
-            if (!reinterpret_cast<
-                typelib_InterfaceAttributeTypeDescription * >(
-                    member)->bReadOnly)
-            {
-                (s++)->fn = code;
-                code = codeSnippet(code, functionOffset++, vtableOffset, true);
-            }
-            break;
-
-        case typelib_TypeClass_INTERFACE_METHOD:
-            (s++)->fn = code;
-            code = codeSnippet(
-                code, functionOffset++, vtableOffset,
-                bridges::cpp_uno::shared::isSimpleType(
-                    reinterpret_cast<
-                    typelib_InterfaceMethodTypeDescription * >(
-                        member)->pReturnTypeRef));
-            break;
-
-        default:
-            OSL_ASSERT(false);
-            break;
-        }
-        TYPELIB_DANGER_RELEASE(member);
-    }
-    return code;
-}
-
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/except.cxx b/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/except.cxx
deleted file mode 100644
index 947938c..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/except.cxx
+++ /dev/null
@@ -1,282 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_bridges.hxx"
-
-#include <stdio.h>
-#include <dlfcn.h>
-#include <cxxabi.h>
-#include <hash_map>
-
-#include <rtl/strbuf.hxx>
-#include <rtl/ustrbuf.hxx>
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-
-#include <com/sun/star/uno/genfunc.hxx>
-#include <typelib/typedescription.hxx>
-#include <uno/any2.h>
-
-#include "share.hxx"
-
-
-using namespace ::std;
-using namespace ::osl;
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-using namespace ::__cxxabiv1;
-
-
-namespace CPPU_CURRENT_NAMESPACE
-{
-    
-void dummy_can_throw_anything( char const * )
-{
-}
-
-//==================================================================================================
-static OUString toUNOname( char const * p ) SAL_THROW( () )
-{
-#ifdef DEBUG
-    char const * start = p;
-#endif
-    
-    // example: N3com3sun4star4lang24IllegalArgumentExceptionE
-    
-	OUStringBuffer buf( 64 );
-    OSL_ASSERT( 'N' == *p );
-    ++p; // skip N
-    
-    while ('E' != *p)
-    {
-        // read chars count
-        long n = (*p++ - '0');
-        while ('0' <= *p && '9' >= *p)
-        {
-            n *= 10;
-            n += (*p++ - '0');
-        }
-        buf.appendAscii( p, n );
-        p += n;
-        if ('E' != *p)
-            buf.append( (sal_Unicode)'.' );
-    }
-    
-#ifdef DEBUG
-    OUString ret( buf.makeStringAndClear() );
-    OString c_ret( OUStringToOString( ret, RTL_TEXTENCODING_ASCII_US ) );
-    fprintf( stderr, "> toUNOname(): %s => %s\n", start, c_ret.getStr() );
-    return ret;
-#else
-    return buf.makeStringAndClear();
-#endif
-}
-
-//==================================================================================================
-class RTTI
-{
-    typedef hash_map< OUString, type_info *, OUStringHash > t_rtti_map;
-    
-    Mutex m_mutex;
-	t_rtti_map m_rttis;
-    t_rtti_map m_generatedRttis;
-
-    void * m_hApp;
-    
-public:
-    RTTI() SAL_THROW( () );
-    ~RTTI() SAL_THROW( () );
-    
-    type_info * getRTTI( typelib_CompoundTypeDescription * ) SAL_THROW( () );
-};
-//__________________________________________________________________________________________________
-RTTI::RTTI() SAL_THROW( () )
-    : m_hApp( dlopen( 0, RTLD_LAZY ) )
-{
-}
-//__________________________________________________________________________________________________
-RTTI::~RTTI() SAL_THROW( () )
-{
-    dlclose( m_hApp );
-}
-
-//__________________________________________________________________________________________________
-type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THROW( () )
-{
-    type_info * rtti;
-    
-    OUString const & unoName = *(OUString const *)&pTypeDescr->aBase.pTypeName;
-    
-    MutexGuard guard( m_mutex );
-    t_rtti_map::const_iterator iFind( m_rttis.find( unoName ) );
-    if (iFind == m_rttis.end())
-    {
-        // RTTI symbol
-        OStringBuffer buf( 64 );
-        buf.append( RTL_CONSTASCII_STRINGPARAM("_ZTIN") );
-        sal_Int32 index = 0;
-        do
-        {
-            OUString token( unoName.getToken( 0, '.', index ) );
-            buf.append( token.getLength() );
-            OString c_token( OUStringToOString( token, RTL_TEXTENCODING_ASCII_US ) );
-            buf.append( c_token );
-        }
-        while (index >= 0);
-        buf.append( 'E' );
-        
-        OString symName( buf.makeStringAndClear() );
-        rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
-
-        if (rtti)
-        {
-            pair< t_rtti_map::iterator, bool > insertion(
-                m_rttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
-            OSL_ENSURE( insertion.second, "### inserting new rtti failed?!" );
-        }
-        else
-        {
-            // try to lookup the symbol in the generated rtti map
-            t_rtti_map::const_iterator iiFind( m_generatedRttis.find( unoName ) );
-            if (iiFind == m_generatedRttis.end())
-            {
-                // we must generate it !
-                // symbol and rtti-name is nearly identical,
-                // the symbol is prefixed with _ZTI
-                char const * rttiName = symName.getStr() +4;
-#ifdef DEBUG
-                fprintf( stderr,"generated rtti for %s\n", rttiName );
-#endif
-                if (pTypeDescr->pBaseTypeDescription)
-                {
-                    // ensure availability of base
-                    type_info * base_rtti = getRTTI(
-                        (typelib_CompoundTypeDescription *)pTypeDescr->pBaseTypeDescription );
-                    rtti = new __si_class_type_info(
-                        strdup( rttiName ), (__class_type_info *)base_rtti );
-                }
-                else
-                {
-                    // this class has no base class
-                    rtti = new __class_type_info( strdup( rttiName ) );
-                }
-                
-                pair< t_rtti_map::iterator, bool > insertion(
-                    m_generatedRttis.insert( t_rtti_map::value_type( unoName, rtti ) ) );
-                OSL_ENSURE( insertion.second, "### inserting new generated rtti failed?!" );
-            }
-            else // taking already generated rtti
-            {
-                rtti = iiFind->second;
-            }
-        }
-    }
-    else
-    {
-        rtti = iFind->second;
-    }
-    
-    return rtti;
-}
-
-//--------------------------------------------------------------------------------------------------
-static void deleteException( void * pExc )
-{
-    __cxa_exception const * header = ((__cxa_exception const *)pExc - 1);
-    typelib_TypeDescription * pTD = 0;
-    OUString unoName( toUNOname( header->exceptionType->name() ) );
-    ::typelib_typedescription_getByName( &pTD, unoName.pData );
-    OSL_ENSURE( pTD, "### unknown exception type! leaving out destruction => leaking!!!" );
-    if (pTD)
-    {
-		::uno_destructData( pExc, pTD, cpp_release );
-		::typelib_typedescription_release( pTD );
-	}
-}
-
-//==================================================================================================
-void raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
-{
-    void * pCppExc;
-    type_info * rtti;
-
-    {
-    // construct cpp exception object
-	typelib_TypeDescription * pTypeDescr = 0;
-	TYPELIB_DANGER_GET( &pTypeDescr, pUnoExc->pType );
-    OSL_ASSERT( pTypeDescr );
-    if (! pTypeDescr)
-        terminate();
-    
-	pCppExc = __cxa_allocate_exception( pTypeDescr->nSize );
-	::uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
-	
-	// destruct uno exception
-	::uno_any_destruct( pUnoExc, 0 );
-    // avoiding locked counts
-    static RTTI * s_rtti = 0;
-    if (! s_rtti)
-    {
-        MutexGuard guard( Mutex::getGlobalMutex() );
-        if (! s_rtti)
-        {
-#ifdef LEAK_STATIC_DATA
-            s_rtti = new RTTI();
-#else
-            static RTTI rtti_data;
-            s_rtti = &rtti_data;
-#endif
-        }
-    }
-	rtti = (type_info *)s_rtti->getRTTI( (typelib_CompoundTypeDescription *) pTypeDescr );
-    TYPELIB_DANGER_RELEASE( pTypeDescr );
-    OSL_ENSURE( rtti, "### no rtti for throwing exception!" );
-    if (! rtti)
-        terminate();
-    }
-    
-	__cxa_throw( pCppExc, rtti, deleteException );
-}
-
-//==================================================================================================
-void fillUnoException( __cxa_exception * header, uno_Any * pExc, uno_Mapping * pCpp2Uno )
-{
-    OSL_ENSURE( header, "### no exception header!!!" );
-    if (! header)
-        terminate();
-    
-	typelib_TypeDescription * pExcTypeDescr = 0;
-    OUString unoName( toUNOname( header->exceptionType->name() ) );
-	::typelib_typedescription_getByName( &pExcTypeDescr, unoName.pData );
-    OSL_ENSURE( pExcTypeDescr, "### can not get type description for exception!!!" );
-    if (! pExcTypeDescr)
-        terminate();
-    
-    // construct uno exception any
-    ::uno_any_constructAndConvert( pExc, header->adjustedPtr, pExcTypeDescr, pCpp2Uno );
-    ::typelib_typedescription_release( pExcTypeDescr );
-}
-
-}
-
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/makefile.mk b/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/makefile.mk
deleted file mode 100644
index eca21e7..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/makefile.mk
+++ /dev/null
@@ -1,74 +0,0 @@
-#**************************************************************
-#  
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#  
-#    http://www.apache.org/licenses/LICENSE-2.0
-#  
-#  Unless required by applicable law or agreed to in writing,
-#  software distributed under the License is distributed on an
-#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-#  KIND, either express or implied.  See the License for the
-#  specific language governing permissions and limitations
-#  under the License.
-#  
-#**************************************************************
-
-
-
-PRJ=..$/..$/..
-
-PRJNAME=bridges
-TARGET=gcc3_uno
-LIBTARGET=no
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE :  settings.mk
-
-# --- Files --------------------------------------------------------
-
-.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCMACOSXPgcc3"
-
-.IF "$(cppu_no_leak)" == ""
-CFLAGS += -DLEAK_STATIC_DATA
-.ENDIF
-
-NOOPTFILES= \
-	$(SLO)$/uno2cpp.obj
-
-
-CFLAGSNOOPT=-O0
-
-SLOFILES= \
-	$(SLO)$/except.obj		\
-	$(SLO)$/cpp2uno.obj		\
-	$(SLO)$/uno2cpp.obj
-
-SHL1TARGET= $(TARGET)
-
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-SHL1IMPLIB=i$(TARGET)
-SHL1VERSIONMAP=..$/..$/bridge_exports.map
-SHL1RPATH=URELIB
-
-SHL1OBJS= $(SLOFILES)
-SHL1LIBS = $(SLB)$/cpp_uno_shared.lib
-
-SHL1STDLIBS= \
-	$(CPPULIB)			\
-	$(SALLIB)			\
-	-ldl
-
-.ENDIF
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE :  target.mk
-
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/share.hxx b/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/share.hxx
deleted file mode 100644
index 0f0e577..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/share.hxx
+++ /dev/null
@@ -1,87 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-#include "uno/mapping.h"
-
-#include <typeinfo>
-#include <exception>
-#include <cstddef>
-
-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
-{
-    unsigned exception_class __attribute__((__mode__(__DI__)));
-    void * exception_cleanup;
-    unsigned private_1 __attribute__((__mode__(__word__)));
-    unsigned private_2 __attribute__((__mode__(__word__)));
-} __attribute__((__aligned__));
-
-struct __cxa_exception
-{ 
-    ::std::type_info *exceptionType;
-    void (*exceptionDestructor)(void *); 
-    
-    ::std::unexpected_handler unexpectedHandler;
-    ::std::terminate_handler terminateHandler;
-    
-    __cxa_exception *nextException;
-    
-    int handlerCount;
-    
-    int handlerSwitchValue;
-    const unsigned char *actionRecord;
-    const unsigned char *languageSpecificData;
-    void *catchTemp;
-    void *adjustedPtr;
-    
-    _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();
-
-// -----
-
-//==================================================================================================
-void raiseException(
-    uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
-//==================================================================================================
-void fillUnoException(
-    __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
-}
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx b/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx
deleted file mode 100644
index 10b10de..0000000
--- a/main/bridges/source/cpp_uno/gcc3_macosx_powerpc/uno2cpp.cxx
+++ /dev/null
@@ -1,630 +0,0 @@
-/**************************************************************
- * 
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- * 
- *************************************************************/
-
-
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_bridges.hxx"
-
-#include <sys/types.h>
-#include <sys/malloc.h>
-
-#include <com/sun/star/uno/genfunc.hxx>
-#include <uno/data.h>
-
-#include "bridges/cpp_uno/shared/bridge.hxx"
-#include "bridges/cpp_uno/shared/types.hxx"
-#include "bridges/cpp_uno/shared/unointerfaceproxy.hxx"
-#include "bridges/cpp_uno/shared/vtables.hxx"
-
-#include "share.hxx"
-
-
-using namespace ::rtl;
-using namespace ::com::sun::star::uno;
-
-namespace
-{
-
-//==================================================================================================
-static void callVirtualMethod(
-    void * pAdjustedThisPtr,
-    sal_Int32 nVtableIndex,
-    void * pRegisterReturn,
-    typelib_TypeClass eReturnType,
-    char * pPT,
-    sal_Int32 * pStackLongs,
-    sal_Int32 /* nStackLongs */)
-{
-
-  // parameter list is mixed list of * and values
-  // reference parameters are pointers
-
-  // the basic idea here is to use gpr[8] as a storage area for
-  // the future values of registers r3 to r10 needed for the call, 
-  // and similarly fpr[13] as a storage area for the future values
-  // of floating point registers f1 to f13
-
-     unsigned long * mfunc;        // actual function to be invoked
-     void (*ptr)();
-     int gpr[8];                   // storage for gpregisters, map to r3-r10
-     int off;                      // offset used to find function
-     double fpr[13];               // storage for fpregisters, map to f1-f13
-     int n;                        // number of gprs mapped so far
-     int f;                        // number of fprs mapped so far
-     volatile long *p;             // pointer to parameter overflow area
-     int c;                        // character of parameter type being decoded
-     volatile double dret;         // temporary function return values
-     volatile int iret, iret2;
-
-     // Because of the Power PC calling conventions we could be passing
-     // parameters in both register types and on the stack. To create the
-     // stack parameter area we need we now simply allocate local
-     // variable storage param[] that is at least the size of the parameter stack
-     // (more than enough space) which we can overwrite the parameters into.
-
-     // Note: This keeps us from having to decode the signature twice and
-     // prevents problems with later local variables.
-
-     // FIXME: I do not believe the following is true but we will keep the
-     // FIXME: extra space just to be safe until proven otherwise
- 
-     // Note: could require up to  2*nStackLongs words of parameter stack area 
-     // if the call has many float parameters (i.e. floats take up only 1 
-     // word on the stack but take 2 words in parameter area in the 
-     // stack frame .
-
-
-     // unsigned long param[(2*nStackLongs)];
-
-     /* now begin to load the C++ function arguments into storage */
-     n = 0;
-     f = 0;
-
-
-     /* set up a pointer to the stack parameter area */
-     __asm__ ( "addi %0,r1,24" : "=r" (p) : /* no inputs */ );
-
-     // #i94421#, work around compiler error:
-     volatile long * pCopy = p;
-     (void) pCopy; // avoid warning about unused variable
-
-     // never called
-     // if (! pAdjustedThisPtr )CPPU_CURRENT_NAMESPACE::dummy_can_throw_anything("xxx"); // address something
-
-
-     // now we need to parse the entire signature string
-     // until we get the END indicator 
-
-     // treat complex return pointer like any other parameter
-
-     // parse the argument list up to the ending )
- 
-     while (*pPT != 'X') {
-       c = *pPT;
-       switch (c) {
-
-       case 'D':                   /* type is double */
-            if (f < 13) {
-               fpr[f++] = *((double *)pStackLongs);   /* store in register */
-               n+=2;
-               p+=2;
-            } else {
-               *p++ = *pStackLongs;       /* or on the parameter stack */
-               *p++ = *(pStackLongs + 1);
-            }
-            pStackLongs += 2;
-            break;
-
-       case 'F':                   /* type is float */
-         /* floats are stored as 1 32 bit word on param stack */
-            if (f < 13) {
-               fpr[f++] = *((float *)pStackLongs);
-               n+=1;
-	       p++;
-            } else {
-               *((float *)p) = *((float *)pStackLongs);
-               p += 1;
-            }
-            pStackLongs += 1;
-            break;
-
-       case 'H':                /* type is long long */
-            if (n < 8)
-            {
-               gpr[n++] = *pStackLongs;
-               p++;
-            }
-	    else
-               *p++ = *pStackLongs;
-            if(n < 8)
-            {
-               gpr[n++] = *(pStackLongs+1);
-               p++;
-            }
-            else
-               *p++ = *(pStackLongs+1);
-            pStackLongs += 2;
-            break;
-
-       case 'S':
-            if (n < 8) {
-               gpr[n++] = *((unsigned short*)pStackLongs);
-               p++;
-            } else {
-               *p++ = *((unsigned short *)pStackLongs);
-            }
-            pStackLongs += 1;
-            break;
-
-       case 'B':
-            if (n < 8) {
-               gpr[n++] = *((char *)pStackLongs);
-               p++;
-            } else {
-               *p++ = *((char *)pStackLongs);
-            }
-            pStackLongs += 1;
-            break;
-
-       default:
-            if (n < 8) {
-               gpr[n++] = *pStackLongs;
-               p++;
-            } else {
-               *p++ = *pStackLongs;
-            }
-            pStackLongs += 1;
-            break;
-       }
-       pPT++;
-     }
-
-
-     /* figure out the address of the function we need to invoke */
-     off = nVtableIndex; 
-     off = off * 4;                         // 4 bytes per slot
-     mfunc = *((unsigned long **)pAdjustedThisPtr);    // get the address of the vtable
-     mfunc = (unsigned long *)((char *)mfunc + off); // get the address from the vtable entry at offset 
-     mfunc = *((unsigned long **)mfunc);                 // the function is stored at the address
-     ptr = (void (*)())mfunc;   
-
-    /* Set up the machine registers and invoke the function */
-
-    __asm__ __volatile__ (
-                "lwz     r3,      0(%0)\n\t"
-                "lwz     r4,      4(%0)\n\t"
-                "lwz     r5,      8(%0)\n\t"
-                "lwz     r6,      12(%0)\n\t"
-                "lwz     r7,      16(%0)\n\t"
-                "lwz     r8,      20(%0)\n\t"
-                "lwz     r9,      24(%0)\n\t"
-                "lwz     r10,     28(%0)\n\t"
-                "lfd     f1,      0(%1)\n\t"
-                "lfd     f2,      8(%1)\n\t"
-                "lfd     f3,      16(%1)\n\t"
-                "lfd     f4,      24(%1)\n\t"
-                "lfd     f5,      32(%1)\n\t"
-                "lfd     f6,      40(%1)\n\t"
-                "lfd     f7,      48(%1)\n\t"
-                "lfd     f8,      56(%1)\n\t"
-                "lfd     f9,      64(%1)\n\t"
-                "lfd     f10,     72(%1)\n\t"
-                "lfd     f11,     80(%1)\n\t"
-                "lfd     f12,     88(%1)\n\t"
-                "lfd     f13,     96(%1)\n\t"
-          : : "r" (gpr), "r" (fpr)
-          : "r0", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",
-			"f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9",
-			"f10", "f11", "f12", "f13"
-    );
-
-    (*ptr)();
-
-
-    __asm__ __volatile__ (
-                "stw     r3,      %1\n\t"
-                "stw     r4,      %2\n\t"
-                "stfd    f1,      %0\n\t"
-        : : "m" (dret), "m" (iret), "m" (iret2)
-    );
-
-
-    switch( eReturnType )
-	{
-		case typelib_TypeClass_HYPER:
-		case typelib_TypeClass_UNSIGNED_HYPER:
-			((long*)pRegisterReturn)[1] = iret2;
-                        // fall through on purpose
-		case typelib_TypeClass_LONG:
-		case typelib_TypeClass_UNSIGNED_LONG:
-		case typelib_TypeClass_ENUM:
-			((long*)pRegisterReturn)[0] = iret;
-			break;
-
-		case typelib_TypeClass_CHAR:
-		case typelib_TypeClass_SHORT:
-		case typelib_TypeClass_UNSIGNED_SHORT:
-		        *(unsigned short*)pRegisterReturn = (unsigned short)iret;
-			break;
-
-		case typelib_TypeClass_BOOLEAN:
-		case typelib_TypeClass_BYTE:
-		        *(unsigned char*)pRegisterReturn = (unsigned char)iret;
-			break;
-
-		case typelib_TypeClass_FLOAT:
-		        *(float*)pRegisterReturn = (float)dret;
-			break;
-
-		case typelib_TypeClass_DOUBLE:
-			*(double*)pRegisterReturn = dret;
-			break;
-		default:
-			break;
-	}
-}
-
-
-//================================================================================================== 
-static void cpp_call(
-	bridges::cpp_uno::shared::UnoInterfaceProxy * pThis,
-	bridges::cpp_uno::shared::VtableSlot aVtableSlot,
-	typelib_TypeDescriptionReference * pReturnTypeRef,
-	sal_Int32 nParams, typelib_MethodParameter * pParams,
-	void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
-{
-  	// max space for: [complex ret ptr], values|ptr ...
-  	char * pCppStack		=
-  		(char *)alloca( sizeof(sal_Int32) + ((nParams+2) * sizeof(sal_Int64)) );
-  	char * pCppStackStart	= pCppStack;
-	
-        // need to know parameter types for callVirtualMethod so generate a signature string
-        char * pParamType = (char *) alloca(nParams+2);
-        char * pPT = pParamType;
-
-	// return
-	typelib_TypeDescription * pReturnTypeDescr = 0;
-	TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
-	OSL_ENSURE( pReturnTypeDescr, "### expected return type description!" );
-	
-	void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion
-	
-	if (pReturnTypeDescr)
-	{
-		if (bridges::cpp_uno::shared::isSimpleType( pReturnTypeDescr ))
-		{
-			pCppReturn = pUnoReturn; // direct way for simple types
-		}
-		else
-		{
-			// complex return via ptr
-			pCppReturn = *(void **)pCppStack 
-                           = (bridges::cpp_uno::shared::relatesToInterfaceType( pReturnTypeDescr )
-			   ? alloca( pReturnTypeDescr->nSize )
-			   : pUnoReturn); // direct way
-                        *pPT++ = 'C'; //signify that a complex return type on stack
-			pCppStack += sizeof(void *);
-		}
-	}
-	// push this
-        void * pAdjustedThisPtr = reinterpret_cast< void ** >(pThis->getCppI())
-	  + aVtableSlot.offset;
-	*(void**)pCppStack = pAdjustedThisPtr;
-	pCppStack += sizeof( void* );
-        *pPT++ = 'I';
-
-	// stack space
-	OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
-	// args
-	void ** pCppArgs  = (void **)alloca( 3 * sizeof(void *) * nParams );
-	// indizes of values this have to be converted (interface conversion cpp<=>uno)
-	sal_Int32 * pTempIndizes = (sal_Int32 *)(pCppArgs + nParams);
-	// type descriptions for reconversions
-	typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pCppArgs + (2 * nParams));
-	
-	sal_Int32 nTempIndizes   = 0;
-	
-	for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
-	{
-		const typelib_MethodParameter & rParam = pParams[nPos];
-		typelib_TypeDescription * pParamTypeDescr = 0;
-		TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
-		
-		if (!rParam.bOut 
-                    && bridges::cpp_uno::shared::isSimpleType( pParamTypeDescr ))
-		{
-			uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
-									pThis->getBridge()->getUno2Cpp() );
-			
-			switch (pParamTypeDescr->eTypeClass)
-			{
-
-                          // we need to know type of each param so that we know whether to use
-                          // gpr or fpr to pass in parameters:
-                          // Key: I - int, long, pointer, etc means pass in gpr
-                          //      B - byte value passed in gpr
-                          //      S - short value passed in gpr
-                          //      F - float value pass in fpr
-                          //      D - double value pass in fpr
-                          //      H - long long int pass in proper pairs of gpr (3,4) (5,6), etc
-                          //      X - indicates end of parameter description string
-
-		          case typelib_TypeClass_LONG:
-		          case typelib_TypeClass_UNSIGNED_LONG:
-		          case typelib_TypeClass_ENUM:
-			    *pPT++ = 'I';
-			    break;
- 		          case typelib_TypeClass_SHORT:
-		          case typelib_TypeClass_CHAR:
-		          case typelib_TypeClass_UNSIGNED_SHORT:
-                            *pPT++ = 'S';
-                            break;
-		          case typelib_TypeClass_BOOLEAN:
-		          case typelib_TypeClass_BYTE:
-                            *pPT++ = 'B';
-                            break;
-		          case typelib_TypeClass_FLOAT:
-                            *pPT++ = 'F';
-			    break;
-		        case typelib_TypeClass_DOUBLE:
-			    *pPT++ = 'D';
-			    pCppStack += sizeof(sal_Int32); // extra long
-			    break;
-			case typelib_TypeClass_HYPER:
-			case typelib_TypeClass_UNSIGNED_HYPER:
-			    *pPT++ = 'H';
-			    pCppStack += sizeof(sal_Int32); // extra long
-			default:
-			    break;
-			}
-
-			// no longer needed
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		else // ptr to complex value | ref
-		{
-			if (! rParam.bIn) // is pure out
-			{
-				// cpp out is constructed mem, uno out is not!
-				uno_constructData(
-					*(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
-					pParamTypeDescr );
-				pTempIndizes[nTempIndizes] = nPos; // default constructed for cpp call
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			// is in/inout
-			else if (bridges::cpp_uno::shared::relatesToInterfaceType( pParamTypeDescr ))
-			{
-				uno_copyAndConvertData(
-					*(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
-					pUnoArgs[nPos], pParamTypeDescr, pThis->getBridge()->getUno2Cpp() );
-				
-				pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
-				// will be released at reconversion
-				ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
-			}
-			else // direct way
-			{
-				*(void **)pCppStack = pCppArgs[nPos] = pUnoArgs[nPos];
-				// no longer needed
-				TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-			}
-                        *pPT++='I';
-		}
-		pCppStack += sizeof(sal_Int32); // standard parameter length
-	}
-  
-        // terminate the signature string
-        *pPT++='X';
-        *pPT=0;
-
-	try
-	{
-		OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic)" );
-		callVirtualMethod(
-			pAdjustedThisPtr, aVtableSlot.index,
-			pCppReturn, pReturnTypeDescr->eTypeClass, pParamType,
-			(sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
-		// NO exception occurred...
-		*ppUnoExc = 0;
-		
-		// reconvert temporary params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
-			
-			if (pParams[nIndex].bIn)
-			{
-				if (pParams[nIndex].bOut) // inout
-				{
-					uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
-					uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
-											pThis->getBridge()->getCpp2Uno() );
-				}
-			}
-			else // pure out
-			{
-				uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
-										pThis->getBridge()->getCpp2Uno() );
-			}
-			// destroy temp cpp param => cpp: every param was constructed
-			uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
-			
-			TYPELIB_DANGER_RELEASE( pParamTypeDescr );
-		}
-		// return value
-		if (pCppReturn && pUnoReturn != pCppReturn)
-		{
-			uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
-									pThis->getBridge()->getCpp2Uno() );
-			uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
-		}
-	}
- 	catch (...)
- 	{
-  		// fill uno exception
-		fillUnoException( CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, pThis->getBridge()->getCpp2Uno() );
-        
-		// temporary params
-		for ( ; nTempIndizes--; )
-		{
-			sal_Int32 nIndex = pTempIndizes[nTempIndizes];
-			// destroy temp cpp param => cpp: every param was constructed
-			uno_destructData( pCppArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], cpp_release );
-			TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
-		}
-		// return type
-		if (pReturnTypeDescr)
-			TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
-	}
-}
-
-}
-
-namespace bridges { namespace cpp_uno { namespace shared {
-
-void unoInterfaceProxyDispatch(
-	uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
-	void * pReturn, void * pArgs[], uno_Any ** ppException )
-{
-	// is my surrogate
-	bridges::cpp_uno::shared::UnoInterfaceProxy * pThis 
-           = static_cast< bridges::cpp_uno::shared::UnoInterfaceProxy * > (pUnoI);
-        //	typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
-	
-	switch (pMemberDescr->eTypeClass)
-	{
-	case typelib_TypeClass_INTERFACE_ATTRIBUTE:
-	{
-
-        VtableSlot aVtableSlot(
-            getVtableSlot(
-                reinterpret_cast<
-                    typelib_InterfaceAttributeTypeDescription const * >(
-                        pMemberDescr)));
-
-		if (pReturn)
-		{
-			// dependent dispatch
-			cpp_call(
-				pThis, aVtableSlot,
-				((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
-				0, 0, // no params
-				pReturn, pArgs, ppException );
-		}
-		else
-		{
-			// is SET
-			typelib_MethodParameter aParam;
-			aParam.pTypeRef =
-				((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef;
-			aParam.bIn		= sal_True;
-			aParam.bOut		= sal_False;
-
-			typelib_TypeDescriptionReference * pReturnTypeRef = 0;
-			OUString aVoidName( RTL_CONSTASCII_USTRINGPARAM("void") );
-			typelib_typedescriptionreference_new(
-				&pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
-			
-			// dependent dispatch
-                        aVtableSlot.index += 1; //get then set method
-			cpp_call(
-				pThis, aVtableSlot,
-				pReturnTypeRef,
-				1, &aParam,
-				pReturn, pArgs, ppException );
-			
-			typelib_typedescriptionreference_release( pReturnTypeRef );
-		}
-		
-		break;
-	}
-	case typelib_TypeClass_INTERFACE_METHOD:
-	{
-
-        VtableSlot aVtableSlot(
-            getVtableSlot(
-                reinterpret_cast<
-                    typelib_InterfaceMethodTypeDescription const * >(
-                        pMemberDescr)));
-		switch (aVtableSlot.index)
-		{
-			// standard calls
-		case 1: // acquire uno interface
-			(*pUnoI->acquire)( pUnoI );
-			*ppException = 0;
-			break;
-		case 2: // release uno interface
-			(*pUnoI->release)( pUnoI );
-			*ppException = 0;
-			break;
-		case 0: // queryInterface() opt
-		{
-			typelib_TypeDescription * pTD = 0;
-			TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() );
-			if (pTD)
-			{
-                uno_Interface * pInterface = 0;
-                (*pThis->pBridge->getUnoEnv()->getRegisteredInterface)(
-                    pThis->pBridge->getUnoEnv(),
-                    (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
-			
-                if (pInterface)
-                {
-                    ::uno_any_construct(
-                        reinterpret_cast< uno_Any * >( pReturn ),
-                        &pInterface, pTD, 0 );
-                    (*pInterface->release)( pInterface );
-                    TYPELIB_DANGER_RELEASE( pTD );
-                    *ppException = 0;
-                    break;
-                }
-                TYPELIB_DANGER_RELEASE( pTD );
-            }
-		} // else perform queryInterface()
-		default:
-			// dependent dispatch
-			cpp_call(
-				pThis, aVtableSlot,
-				((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
-				((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
-				((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
-				pReturn, pArgs, ppException );
-		}
-		break;
-	}
-	default:
-	{
-		::com::sun::star::uno::RuntimeException aExc(
-			OUString( RTL_CONSTASCII_USTRINGPARAM("illegal member type description!") ),
-			::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
-		
-		Type const & rExcType = ::getCppuType( &aExc );
-		// binary identical null reference
-		::uno_type_any_construct( *ppException, &aExc, rExcType.getTypeLibType(), 0 );
-	}
-	}
-}
-
-} } }
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/abi.cxx
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/abi.cxx
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.hxx b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/abi.hxx
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.hxx
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/abi.hxx
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno.cxx b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/cpp2uno.cxx
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno.cxx
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/cpp2uno.cxx
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/except.cxx
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/except.cxx
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/except.cxx
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/makefile.mk b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/makefile.mk
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/makefile.mk
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/makefile.mk
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/share.hxx
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/share.hxx
diff --git a/main/bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp.cxx b/main/bridges/source/cpp_uno/s5abi_macosx_x86-64/uno2cpp.cxx
similarity index 100%
rename from main/bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp.cxx
rename to main/bridges/source/cpp_uno/s5abi_macosx_x86-64/uno2cpp.cxx
diff --git a/main/configure.ac b/main/configure.ac
index 56cd131..bcc1325 100644
--- a/main/configure.ac
+++ b/main/configure.ac
@@ -2240,8 +2240,16 @@ case $COM in
 		CCNUMVER=`echo ${CCVER} | $AWK -v num=true -f ${_solenv}/bin/getcompver.awk`;
 		# The version in tg_compv.mk for darwin does not look correct
 		# CCNUMVER = `echo ${CCVER} | sed -e"s/\.//";
-		COMID="gcc3";
-		COMNAME="gcc3";	
+		case "$build_os" in
+ 			darwin*) # Mac OS X
+ 				COMID="s5abi";
+ 				COMNAME="s5abi";
+ 				;;
+ 			*)
+ 				COMID="gcc3";
+ 				COMNAME="gcc3";
+ 				;;
+ 		esac
 		;;
 	MSC)
 		CCVER=`${CC} 2>&1 | $AWK -f ${_solenv}/bin/getcompver.awk`;
diff --git a/main/odk/setsdkenv_unix.sh.in b/main/odk/setsdkenv_unix.sh.in
index 0c2ef36..c7942b0 100644
--- a/main/odk/setsdkenv_unix.sh.in
+++ b/main/odk/setsdkenv_unix.sh.in
@@ -160,7 +160,7 @@ case ${sdk_platform} in
 
   darwin*)
     directoryname=macosx
-    comid=gcc3
+    comid=s5abi
     soext=dylib
     exampleout=MACOSXexample.out
     platform=MacOSX
diff --git a/main/odk/settings/settings.mk b/main/odk/settings/settings.mk
index d948e48..75edf28 100644
--- a/main/odk/settings/settings.mk
+++ b/main/odk/settings/settings.mk
@@ -415,8 +415,8 @@ SHAREDLIB_EXT=dylib
 SHAREDLIB_PRE=lib
 SHAREDLIB_OUT=$(OUT_LIB)
 
-COMID=gcc3
-CPPU_ENV=gcc3
+COMID=s5abi
+CPPU_ENV=s5abi
 
 OSEP=\<
 CSEP=\>
diff --git a/main/solenv/gbuild/platform/macosx.mk b/main/solenv/gbuild/platform/macosx.mk
index 39958ed..7ea8c7a 100644
--- a/main/solenv/gbuild/platform/macosx.mk
+++ b/main/solenv/gbuild/platform/macosx.mk
@@ -23,7 +23,7 @@
 
 GUI := UNX
 #COM := S5ABI
-COMID := gcc3
+COMID := s5abi
 
 # Darwin mktemp -t expects a prefix, not a pattern
 gb_MKTEMP ?= /usr/bin/mktemp -t gbuild.