summaryrefslogtreecommitdiff
path: root/bridges
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2007-07-05 08:01:44 +0000
committerRüdiger Timm <rt@openoffice.org>2007-07-05 08:01:44 +0000
commit84fc266da8041521c98ceb6080f82cf207bb1d6c (patch)
treed691dc71b899bc4fb25f52879442ca07fa2d41c2 /bridges
parenta92480543d8b16811adfa777e3a0fd7d418dc66c (diff)
INTEGRATION: CWS freebsd08 (1.3.52); FILE MERGED
2007/06/01 21:40:55 maho 1.3.52.1: * Sync with newer bridge code from Linux. * Now : m_hApp( dlopen( 0, RTLD_LAZY ) ) etc works correctly on _FreeBSD_version >= 602103 Issue number: #i66667# Submitted by: jkim
Diffstat (limited to 'bridges')
-rw-r--r--bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx b/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
index 7f3a944ee8f8..647614d7ba9a 100644
--- a/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
+++ b/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: except.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: obo $ $Date: 2006-09-16 15:46:51 $
+ * last change: $Author: rt $ $Date: 2007-07-05 09:01:44 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -40,6 +40,7 @@
#include <dlfcn.h>
#include <cxxabi.h>
#include <hash_map>
+#include <sys/param.h>
#include <rtl/strbuf.hxx>
#include <rtl/ustrbuf.hxx>
@@ -125,7 +126,11 @@ public:
};
//__________________________________________________________________________________________________
RTTI::RTTI() SAL_THROW( () )
+#if __FreeBSD_version < 602103
: m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) )
+#else
+ : m_hApp( dlopen( 0, RTLD_LAZY ) )
+#endif
{
}
//__________________________________________________________________________________________________
@@ -160,7 +165,11 @@ type_info * RTTI::getRTTI( typelib_CompoundTypeDescription *pTypeDescr ) SAL_THR
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)
{