aboutsummaryrefslogtreecommitdiffstats
path: root/editors/openoffice-3-devel/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)
         {