Apache OpenOffice (AOO) Bugzilla – Issue 108197
FreeBSD porting : Bridge is broke on i386
Last modified: 2017-05-20 11:33:09 UTC
Since DEV300_m65, on FreeBSD 8.0-RELEASE/i386 build is broken at testtools module like: --- Entering /work/ports/editors/openoffice.org-3-devel/work/DEV300_m68/testtools/source/bridgetest cd ../../unxfbsdi.pro/lib && if ($?LD_LIBRARY_PATH == 1) eval 'setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/work/ports/editors/openoffice.org-3-devel/work/DEV300_m68/solver/300/unxfbsdi.pro/lib:."' && if ($?LD_LIBRARY_PATH == 0) setenv LD_LIBRARY_PATH "/work/ports/editors/openoffice.org-3-devel/work/DEV300_m68/solver/300/unxfbsdi.pro/lib:." && /work/ports/editors/openoffice.org-3-devel/work/DEV300_m68/solver/300/unxfbsdi.pro/bin/uno \ -ro uno_services.rdb -ro uno_types.rdb \ -s com.sun.star.test.bridge.BridgeTest -- \ com.sun.star.test.bridge.CppTestObject Segmentation fault (core dumped) dmake: Error code 139, while making 'runtest' 1 module(s): testtools need(s) to be rebuilt
strange error, since, * happens only on x86, not on x86_64 * diff from linux version of bridge is minimal like following (note: I applied local FreeBSD patches to make diff minimal) % diff -u bridges/source/cpp_uno/gcc3_linux_intel bridges/source/cpp_uno/gcc3_freebsd_intel diff -u bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx --- bridges/source/cpp_uno/gcc3_linux_intel/cpp2uno.cxx 2009-12-23 11:32:12.000000000 +0900 +++ bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx 2010-01-10 17:52:25.000000000 +0900 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: cpp2uno.cxx,v $ - * $Revision: 1.14 $ + * $Revision: 1.12 $ * * This file is part of OpenOffice.org. * Only in bridges/source/cpp_uno/gcc3_freebsd_intel: cpp2uno.cxx.orig diff -u bridges/source/cpp_uno/gcc3_linux_intel/except.cxx bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx --- bridges/source/cpp_uno/gcc3_linux_intel/except.cxx 2009-12-23 11:32:12.000000000 +0900 +++ bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx 2010-01-10 17:52:25.000000000 +0900 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: except.cxx,v $ - * $Revision: 1.14.20.1 $ + * $Revision: 1.9 $ * * This file is part of OpenOffice.org. * @@ -36,6 +36,7 @@ #include <dlfcn.h> #include <cxxabi.h> #include <hash_map> +#include <sys/param.h> #include <rtl/strbuf.hxx> #include <rtl/ustrbuf.hxx> @@ -121,7 +122,11 @@ }; //__________________________________________________________________________________________________ RTTI::RTTI() SAL_THROW( () ) +#if __FreeBSD_version < 702104 /* #i22253# */ + : m_hApp( dlopen( 0, RTLD_NOW | RTLD_GLOBAL ) ) +#else : m_hApp( dlopen( 0, RTLD_LAZY ) ) +#endif { } //__________________________________________________________________________________________________ @@ -156,7 +161,11 @@ buf.append( 'E' ); OString symName( buf.makeStringAndClear() ); +#if __FreeBSD_version < 702104 /* #i22253# */ + rtti = (type_info *)dlsym( RTLD_DEFAULT, symName.getStr() ); +#else rtti = (type_info *)dlsym( m_hApp, symName.getStr() ); +#endif if (rtti) { Only in bridges/source/cpp_uno/gcc3_freebsd_intel: except.cxx.orig diff -u bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk --- bridges/source/cpp_uno/gcc3_linux_intel/makefile.mk 2009-12-23 11:32:12.000000000 +0900 +++ bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk 2009-12-23 11:32:12.000000000 +0900 @@ -8,7 +8,7 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.11 $ +# $Revision: 1.9 $ # # This file is part of OpenOffice.org. # @@ -42,7 +42,7 @@ # --- Files -------------------------------------------------------- -.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCLINUXIgcc3" +.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDIgcc3" .IF "$(cppu_no_leak)" == "" CFLAGS += -DLEAK_STATIC_DATA diff -u bridges/source/cpp_uno/gcc3_linux_intel/share.hxx bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx --- bridges/source/cpp_uno/gcc3_linux_intel/share.hxx 2009-12-23 11:32:12.000000000 +0900 +++ bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx 2009-12-23 11:32:12.000000000 +0900 @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: share.hxx,v $ - * $Revision: 1.4 $ + * $Revision: 1.5 $ * * This file is part of OpenOffice.org. * diff -u bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx --- bridges/source/cpp_uno/gcc3_linux_intel/uno2cpp.cxx 2009-12-23 11:32:12.000000000 +0900 +++ bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx 2009-12-23 11:32:12.000000000 +0900 @@ -31,7 +31,7 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_bridges.hxx" -#include <malloc.h> +#include <stdlib.h> #include <com/sun/star/uno/genfunc.hxx> #include "com/sun/star/uno/RuntimeException.hpp"
Created attachment 67109 [details] bypass bridge test like on MacOSX PPC
sb: just for your info.
Committed revision 1180515. Thanks!
Reset assigne to the default "issues@openoffice.apache.org".