1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
--- 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)
{
|