diff options
author | Rüdiger Timm <rt@openoffice.org> | 2007-07-05 08:01:44 +0000 |
---|---|---|
committer | Rüdiger Timm <rt@openoffice.org> | 2007-07-05 08:01:44 +0000 |
commit | 84fc266da8041521c98ceb6080f82cf207bb1d6c (patch) | |
tree | d691dc71b899bc4fb25f52879442ca07fa2d41c2 /bridges | |
parent | a92480543d8b16811adfa777e3a0fd7d418dc66c (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.cxx | 13 |
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) { |