870c5d1cf2
http://docs.freebsd.org/cgi/mid.cgi?200701160751.l0G7p4gH046864 http://docs.freebsd.org/cgi/mid.cgi?200701160940.l0G9eOQv074301 Submitted by: jkim
139 lines
4.4 KiB
Text
139 lines
4.4 KiB
Text
--- bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx Tue May 2 08:01:08 2006
|
|
+++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx Fri Sep 8 17:25:05 2006
|
|
@@ -120,6 +120,9 @@
|
|
case typelib_TypeClass_UNSIGNED_HYPER:
|
|
case typelib_TypeClass_DOUBLE:
|
|
pCppStack += sizeof(sal_Int32); // extra long
|
|
+ break;
|
|
+ default:
|
|
+ break;
|
|
}
|
|
// no longer needed
|
|
TYPELIB_DANGER_RELEASE( pParamTypeDescr );
|
|
@@ -436,7 +439,7 @@
|
|
unsigned char * bridges::cpp_uno::shared::VtableFactory::addLocalFunctions(
|
|
void ** slots, unsigned char * code,
|
|
typelib_InterfaceTypeDescription const * type, sal_Int32 functionOffset,
|
|
- sal_Int32 functionCount, sal_Int32 vtableOffset)
|
|
+ sal_Int32 /*functionCount*/, sal_Int32 vtableOffset)
|
|
{
|
|
for (sal_Int32 i = 0; i < type->nMembers; ++i) {
|
|
typelib_TypeDescription * member = 0;
|
|
--- bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx.orig Wed Sep 7 18:20:22 2005
|
|
+++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx Mon Sep 11 12:21:03 2006
|
|
@@ -37,6 +37,7 @@
|
|
#include <dlfcn.h>
|
|
#include <cxxabi.h>
|
|
#include <hash_map>
|
|
+#include <sys/param.h>
|
|
|
|
#include <rtl/strbuf.hxx>
|
|
#include <rtl/ustrbuf.hxx>
|
|
@@ -122,7 +123,11 @@
|
|
};
|
|
//__________________________________________________________________________________________________
|
|
RTTI::RTTI() SAL_THROW( () )
|
|
+#if __FreeBSD_version < 602103
|
|
: m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
|
|
+#else
|
|
+ : m_hApp( dlopen( 0, RTLD_LAZY ) )
|
|
+#endif
|
|
{
|
|
}
|
|
//__________________________________________________________________________________________________
|
|
@@ -139,8 +144,8 @@
|
|
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())
|
|
+ t_rtti_map::const_iterator iRttiFind( m_rttis.find( unoName ) );
|
|
+ if (iRttiFind == m_rttis.end())
|
|
{
|
|
// RTTI symbol
|
|
OStringBuffer buf( 64 );
|
|
@@ -157,8 +162,11 @@
|
|
buf.append( 'E' );
|
|
|
|
OString symName( buf.makeStringAndClear() );
|
|
-//#iZ 22253
|
|
+#if __FreeBSD_version < 602103 /* #i22253# */
|
|
rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
|
|
+#else
|
|
+ rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
|
|
+#endif
|
|
|
|
if (rtti)
|
|
{
|
|
@@ -205,7 +213,7 @@
|
|
}
|
|
else
|
|
{
|
|
- rtti = iFind->second;
|
|
+ rtti = iRttiFind->second;
|
|
}
|
|
|
|
return rtti;
|
|
--- bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Mon Jun 19 19:43:09 2006
|
|
+++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx Fri Sep 8 17:25:05 2006
|
|
@@ -142,6 +142,8 @@
|
|
case typelib_TypeClass_DOUBLE:
|
|
asm ( "fstpl %0\n\t" : : "m"(*(char *)pRegisterReturn) );
|
|
break;
|
|
+ default:
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
@@ -217,6 +219,9 @@
|
|
case typelib_TypeClass_UNSIGNED_HYPER:
|
|
case typelib_TypeClass_DOUBLE:
|
|
pCppStack += sizeof(sal_Int32); // extra long
|
|
+ break;
|
|
+ default:
|
|
+ break;
|
|
}
|
|
// no longer needed
|
|
TYPELIB_DANGER_RELEASE( pParamTypeDescr );
|
|
@@ -329,7 +334,6 @@
|
|
// 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)
|
|
{
|
|
--- bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx.orig Wed Jul 19 05:30:01 2006
|
|
+++ bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx Mon Sep 11 12:21:25 2006
|
|
@@ -37,6 +37,7 @@
|
|
#include <dlfcn.h>
|
|
#include <cxxabi.h>
|
|
#include <hash_map>
|
|
+#include <sys/param.h>
|
|
|
|
#include <rtl/strbuf.hxx>
|
|
#include <rtl/ustrbuf.hxx>
|
|
@@ -122,7 +123,11 @@
|
|
};
|
|
//__________________________________________________________________________________________________
|
|
RTTI::RTTI() SAL_THROW( () )
|
|
+#if __FreeBSD_version < 602103
|
|
: m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
|
|
+#else
|
|
+ : m_hApp( dlopen( 0, RTLD_LAZY ) )
|
|
+#endif
|
|
{
|
|
}
|
|
//__________________________________________________________________________________________________
|
|
@@ -157,7 +162,11 @@
|
|
buf.append( 'E' );
|
|
|
|
OString symName( buf.makeStringAndClear() );
|
|
+#if __FreeBSD_version < 602103 /* #i22253# */
|
|
rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() );
|
|
+#else
|
|
+ rtti = (type_info *)dlsym( m_hApp, symName.getStr() );
|
|
+#endif
|
|
|
|
if (rtti)
|
|
{
|