summaryrefslogtreecommitdiff
path: root/editors/openoffice.org-vcltesttool/files/patch-i66667
blob: c1d8cd362e9b81ce5d23ea2ccfe9c0ed1a3b7c93 (plain) (blame)
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)
         {