Author: pfg
Date: Thu Sep 24 19:36:21 2015
New Revision: 1705124

URL: http://svn.apache.org/viewvc?rev=1705124&view=rev
Log:
i126553- Basic merges to clean up the FreeBSD port.

Bring major updates from trunk for the FreeBSD build.
This mainly targets the FreeBSD port that uses external
libraries. The buildbot, using internal components,
requires more changes but I am not planning to bring them
to this branch.

r1591501, r1602791:
Fix for the i386 platform.

r1669457, r1669459:
Make FreeBSD bridges code buildable with clang.

r1669462, r1669465, r1694132:
Fixes for recent gcc and clang.

Modified:
    openoffice/branches/AOO410/   (props changed)
    openoffice/branches/AOO410/main/   (props changed)
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/cpp2uno.cxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/share.hxx
    
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/uno2cpp.cxx
    openoffice/branches/AOO410/main/configure.in
    openoffice/branches/AOO410/main/graphite/makefile.mk
    openoffice/branches/AOO410/main/sal/inc/rtl/string.hxx
    openoffice/branches/AOO410/main/set_soenv.in
    
openoffice/branches/AOO410/main/shell/source/unix/sysshell/recently_used_file_handler.cxx
    openoffice/branches/AOO410/main/solenv/gbuild/platform/freebsd.mk
    openoffice/branches/AOO410/main/solenv/inc/tg_compv.mk
    openoffice/branches/AOO410/main/solenv/inc/unx.mk
    openoffice/branches/AOO410/main/solenv/inc/unxfbsd.mk
    openoffice/branches/AOO410/main/testtools/source/bridgetest/bridgetest.cxx
    openoffice/branches/AOO410/main/testtools/source/bridgetest/makefile.mk

Propchange: openoffice/branches/AOO410/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep 24 19:36:21 2015
@@ -2,4 +2,4 @@
 /openoffice/branches/ia2:1417739-1541842
 
/openoffice/branches/ooxml-osba:1546391,1546395,1546574,1546934,1547030,1547392,1551920,1551954,1551958,1552283
 
/openoffice/branches/rejuvenate01:1480411,1534063,1534098,1536312,1549902,1560617
-/openoffice/trunk:1571617,1571619,1571677,1572577,1572587,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585261,1586242,1586249,1586583,1587468,1589050,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602823,1602850,1603416,1603897,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1607111,1607793,1607836,1608348,1608359,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611549,1612539,1612801,1621121,1623847,1623849-1623850,1642300-1642302,1702894,1702898,1702986,1702988
+/openoffice/trunk:1571617,1571619,1571677,1572577,1572587,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585261,1586242,1586249,1586583,1587468,1589050,1591501,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602791,1602823,1602850,1603416,1603897,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1607111,1607793,1607836,1608348,1608359,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611549,1612539,1612801,1621121,1623847,1623849-1623850,1642300-1642302,1669457,1669459,1669462-1669463,1669465,1694132,1702894,1702898,1702986,1702988

Propchange: openoffice/branches/AOO410/main/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep 24 19:36:21 2015
@@ -2,4 +2,4 @@
 /openoffice/branches/ia2/main:1417739-1541842
 
/openoffice/branches/ooxml-osba/main:1546391,1546395,1546574,1546934,1547030,1547392,1551920,1551954,1551958,1552283
 
/openoffice/branches/rejuvenate01/main:1480411,1534063,1534098,1536312,1549902,1560617
-/openoffice/trunk/main:1571617,1571677,1572569,1572577,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585261,1586242,1586249,1586583,1587468,1589050,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602823,1602850,1603416,1603897,1603941,1604028,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1606706,1607111,1607793,1607836,1608348,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611470,1611549,1612070-1612071,1612539,1612801,1616457,1616944,1621121,1623847,1623849-1623850,1642300-1642302,1677190,1687177,1692551,1700135,1702894,1702898,1702986,1702988
+/openoffice/trunk/main:1571617,1571677,1572569,1572577,1574058,1574101,1575922,1576216,1576748,1578786,1579934,1580657,1580779,1581746,1581840,1582359,1582365,1582709,1583336,1583418,1583589,1583988,1585261,1586242,1586249,1586583,1587468,1589050,1591501,1592692,1592716,1594206,1595847,1595851,1595858,1596218,1596491,1596494,1597076,1597102,1597109,1599169,1599173-1599174,1600581,1600587,1600590,1600630,1600861,1600863,1600883,1602434,1602791,1602823,1602850,1603416,1603897,1603941,1604028,1604709,1604786,1605044,1605355,1605689,1606055,1606061,1606706,1607111,1607793,1607836,1608348,1608376,1608730,1608733,1609204,1609208,1609302,1609426,1610347,1610411,1610422,1610671,1611470,1611549,1612070-1612071,1612539,1612801,1616457,1616944,1621121,1623847,1623849-1623850,1642300-1642302,1669457,1669459,1669462-1669463,1669465,1677190,1687177,1692551,1694132,1700135,1702894,1702898,1702986,1702988

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/cpp2uno.cxx
 Thu Sep 24 19:36:21 2015
@@ -24,6 +24,11 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
+#include <typeinfo>
+#include <exception>
+#include <cstddef>
+#include <cxxabi.h>
+
 #include <com/sun/star/uno/genfunc.hxx>
 #include "com/sun/star/uno/RuntimeException.hpp"
 #include <uno/data.h>

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/except.cxx
 Thu Sep 24 19:36:21 2015
@@ -24,7 +24,12 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
+#include <cstddef>
+#include <exception>
+#include <typeinfo>
+
 #include <stdio.h>
+#include <string.h>
 #include <dlfcn.h>
 #include <cxxabi.h>
 #include <hash_map>
@@ -177,7 +182,12 @@ type_info * RTTI::getRTTI( typelib_Compo
                 char const * rttiName = symName.getStr() +4;
 #if OSL_DEBUG_LEVEL > 1
                 fprintf( stderr,"generated rtti for %s\n", rttiName );
+#ifndef __GLIBCXX__ /* #i124421# */
+                const OString aCUnoName = OUStringToOString( unoName, 
RTL_TEXTENCODING_UTF8);
+                OSL_TRACE( "TypeInfo for \"%s\" not found and cannot be 
generated.\n", aCUnoName.getStr());
+#endif /* __GLIBCXX__ */
 #endif
+#ifdef __GLIBCXX__ /* #i124421# */
                 if (pTypeDescr->pBaseTypeDescription)
                 {
                     // ensure availability of base
@@ -191,6 +201,9 @@ type_info * RTTI::getRTTI( typelib_Compo
                     // this class has no base class
                     rtti = new __class_type_info( strdup( rttiName ) );
                 }
+#else /* __GLIBCXX__ */
+                rtti = NULL;
+#endif /* __GLIBCXX__ */
 
                 pair< t_rtti_map::iterator, bool > insertion(
                     m_generatedRttis.insert( t_rtti_map::value_type( unoName, 
rtti ) ) );

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/makefile.mk
 Thu Sep 24 19:36:21 2015
@@ -34,7 +34,7 @@ ENABLE_EXCEPTIONS=TRUE
 
 # --- Files --------------------------------------------------------
 
-.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDIgcc3"
+.IF "$(OS)$(CPU)$(COMNAME)" == "FREEBSDIgcc3"
 
 .IF "$(cppu_no_leak)" == ""
 CFLAGS += -DLEAK_STATIC_DATA

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/share.hxx
 Thu Sep 24 19:36:21 2015
@@ -23,10 +23,6 @@
 
 #include "uno/mapping.h"
 
-#include <typeinfo>
-#include <exception>
-#include <cstddef>
-
 namespace CPPU_CURRENT_NAMESPACE
 {
 
@@ -34,6 +30,7 @@ void dummy_can_throw_anything( char cons
 
 // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
 
+#ifdef __GLIBCXX__
 struct _Unwind_Exception
 {
     unsigned exception_class __attribute__((__mode__(__DI__)));
@@ -62,18 +59,21 @@ struct __cxa_exception
     
     _Unwind_Exception unwindHeader;
 };    
+#endif /* __GLIBCXX__ */
 
 extern "C" void *__cxa_allocate_exception(
     std::size_t thrown_size ) throw();
 extern "C" void __cxa_throw (
     void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ) 
__attribute__((noreturn));
 
+#ifdef __GLIBCXX__
 struct __cxa_eh_globals
 {
     __cxa_exception *caughtExceptions;
     unsigned int uncaughtExceptions;
 };
 extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
+#endif /* __GLIBCXX__ */
 
 // -----
 
@@ -81,6 +81,10 @@ extern "C" __cxa_eh_globals *__cxa_get_g
 void raiseException(
     uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
 
//==================================================================================================
+#ifndef __GLIBCXX__
+using __cxxabiv1:: __cxa_exception;
+#endif /* __GLIBCXX__ */
+
 void fillUnoException(
     __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
 }

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx
 Thu Sep 24 19:36:21 2015
@@ -24,6 +24,10 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
+#include <typeinfo>
+#include <exception>
+#include <cstddef>
+#include <cxxabi.h>
 #include <stdlib.h>
 
 #include <com/sun/star/uno/genfunc.hxx>
@@ -39,6 +43,11 @@
 
 using namespace ::rtl;
 using namespace ::com::sun::star::uno;
+#ifdef __GLIBCXX__
+using CPPU_CURRENT_NAMESPACE::__cxa_get_globals;
+#else
+using __cxxabiv1::__cxa_get_globals;
+#endif
 
 namespace
 {
@@ -305,7 +314,7 @@ static void cpp_call(
        catch (...)
        {
                // fill uno exception
-               fillUnoException( 
CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, 
pThis->getBridge()->getCpp2Uno() );
+               CPPU_CURRENT_NAMESPACE::fillUnoException( 
__cxa_get_globals()->caughtExceptions, *ppUnoExc, 
pThis->getBridge()->getCpp2Uno() );
         
                // temporary params
                for ( ; nTempIndizes--; )

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/cpp2uno.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/cpp2uno.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/cpp2uno.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/cpp2uno.cxx
 Thu Sep 24 19:36:21 2015
@@ -24,9 +24,10 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
-#include <stdio.h>
-#include <stdlib.h>
-#include <hash_map>
+#include <typeinfo>
+#include <exception>
+#include <cstddef>
+#include <cxxabi.h>
 
 #include <rtl/alloc.h>
 #include <osl/mutex.hxx>

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/except.cxx
 Thu Sep 24 19:36:21 2015
@@ -24,9 +24,9 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
-#if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6))
+#include <cstddef>
 #include <exception>
-#endif
+#include <typeinfo>
 
 #include <stdio.h>
 #include <string.h>
@@ -182,7 +182,12 @@ type_info * RTTI::getRTTI( typelib_Compo
                 char const * rttiName = symName.getStr() +4;
 #if OSL_DEBUG_LEVEL > 1
                 fprintf( stderr,"generated rtti for %s\n", rttiName );
+#ifndef __GLIBCXX__ /* #i124421# */
+                const OString aCUnoName = OUStringToOString( unoName, 
RTL_TEXTENCODING_UTF8);
+                OSL_TRACE( "TypeInfo for \"%s\" not found and cannot be 
generated.\n", aCUnoName.getStr());
+#endif /* __GLIBCXX__ */
 #endif
+#ifdef __GLIBCXX__ /* #i124421# */
                 if (pTypeDescr->pBaseTypeDescription)
                 {
                     // ensure availability of base
@@ -196,7 +201,10 @@ type_info * RTTI::getRTTI( typelib_Compo
                     // this class has no base class
                     rtti = new __class_type_info( strdup( rttiName ) );
                 }
-                
+#else /* __GLIBCXX__ */
+                rtti = NULL;
+#endif /* __GLIBCXX__ */
+
                 pair< t_rtti_map::iterator, bool > insertion(
                     m_generatedRttis.insert( t_rtti_map::value_type( unoName, 
rtti ) ) );
                 OSL_ENSURE( insertion.second, "### inserting new generated 
rtti failed?!" );

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/makefile.mk
 Thu Sep 24 19:36:21 2015
@@ -34,7 +34,7 @@ ENABLE_EXCEPTIONS=TRUE
 
 # --- Files --------------------------------------------------------
 
-.IF "$(COM)$(OS)$(CPU)$(COMNAME)" == "GCCFREEBSDXgcc3"
+.IF "$(OS)$(CPU)$(COMNAME)" == "FREEBSDXgcc3"
 
 .IF "$(cppu_no_leak)" == ""
 CFLAGS += -DLEAK_STATIC_DATA

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/share.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/share.hxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/share.hxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/share.hxx
 Thu Sep 24 19:36:21 2015
@@ -23,10 +23,6 @@
 
 #include "uno/mapping.h"
 
-#include <typeinfo>
-#include <exception>
-#include <cstddef>
-
 namespace CPPU_CURRENT_NAMESPACE
 {
 
@@ -34,6 +30,7 @@ void dummy_can_throw_anything( char cons
 
 // ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
 
+#ifdef __GLIBCXX__
 struct _Unwind_Exception
 {
     unsigned exception_class __attribute__((__mode__(__DI__)));
@@ -62,18 +59,21 @@ struct __cxa_exception
     
     _Unwind_Exception unwindHeader;
 };    
+#endif /* __GLIBCXX__ */
 
 extern "C" void *__cxa_allocate_exception(
     std::size_t thrown_size ) throw();
 extern "C" void __cxa_throw (
     void *thrown_exception, std::type_info *tinfo, void (*dest) (void *) ) 
__attribute__((noreturn));
 
+#ifdef __GLIBCXX__
 struct __cxa_eh_globals
 {
     __cxa_exception *caughtExceptions;
     unsigned int uncaughtExceptions;
 };
 extern "C" __cxa_eh_globals *__cxa_get_globals () throw();
+#endif /* __GLIBCXX__ */
 
 // -----
 
@@ -81,6 +81,10 @@ extern "C" __cxa_eh_globals *__cxa_get_g
 void raiseException(
     uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
 
//==================================================================================================
+#ifndef __GLIBCXX__
+using __cxxabiv1:: __cxa_exception;
+#endif /* __GLIBCXX__ */
+
 void fillUnoException(
     __cxa_exception * header, uno_Any *, uno_Mapping * pCpp2Uno );
 }

Modified: 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/uno2cpp.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/uno2cpp.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/uno2cpp.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/bridges/source/cpp_uno/gcc3_freebsd_x86-64/uno2cpp.cxx
 Thu Sep 24 19:36:21 2015
@@ -24,9 +24,10 @@
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_bridges.hxx"
 
-#include <exception>
 #include <typeinfo>
-#include <stdio.h>
+#include <exception>
+#include <cstddef>
+#include <cxxabi.h>
 #include <stdlib.h>
 #include <string.h>
 
@@ -47,6 +48,11 @@
 
 using namespace ::rtl;
 using namespace ::com::sun::star::uno;
+#ifdef __GLIBCXX__
+using CPPU_CURRENT_NAMESPACE::__cxa_get_globals;
+#else
+using __cxxabiv1::__cxa_get_globals;
+#endif
 
 
//==================================================================================================
 static void callVirtualMethod(void * pThis, sal_uInt32 nVtableIndex,
@@ -446,7 +452,7 @@ static void cpp_call(
        catch (...)
        {
                // fill uno exception
-               fillUnoException( 
CPPU_CURRENT_NAMESPACE::__cxa_get_globals()->caughtExceptions, *ppUnoExc, 
pThis->getBridge()->getCpp2Uno() );
+               CPPU_CURRENT_NAMESPACE::fillUnoException( 
__cxa_get_globals()->caughtExceptions, *ppUnoExc, 
pThis->getBridge()->getCpp2Uno() );
         
                // temporary params
                for ( ; nTempIndizes--; )

Modified: openoffice/branches/AOO410/main/configure.in
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/configure.in?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/configure.in (original)
+++ openoffice/branches/AOO410/main/configure.in Thu Sep 24 19:36:21 2015
@@ -1679,6 +1679,23 @@ if test "$_os" != "WINNT" -o "$WITH_MING
    AC_PROG_CC
 fi
 
+if test "$_os" = "FreeBSD"; then
+    FBSD_GCC_RPATH=
+    if $CC --version 2>&1 | grep clang > /dev/null ; then
+        COM_IS=CLANG
+    else
+        COM_IS=GCC
+        rpath=`$CC --print-file-name libstdc++.so`
+        rpath=`realpath $rpath`
+        rpath=`dirname $rpath`
+       if test "$rpath" != "/usr/lib" ; then
+            FBSD_GCC_RPATH="-Wl,-rpath=$rpath"
+       fi
+    fi
+    AC_SUBST(COM_IS)
+    AC_SUBST(FBSD_GCC_RPATH)
+fi
+
 COMPATH=`dirname "$CC"`
 if test "$COMPATH" = "." ; then
     AC_PATH_PROGS(COMPATH, $CC)
@@ -6817,6 +6834,18 @@ dnl ====================================
 SYSTEM_GETTEXT=YES
 AC_SUBST(SYSTEM_GETTEXT)
 
+if test "$_os" = "FreeBSD"; then
+    LIBINTL_PREFIX=
+    for dir in $CPPFLAGS; do
+      if dir=`expr -- $dir : '-I\(.*\)'`; then
+        if test -f "$dir/libintl.h" ; then
+          LIBINTL_PREFIX=`dirname $dir`
+        fi
+      fi
+    done
+    AC_SUBST(LIBINTL_PREFIX)
+fi
+
 dnl ===================================================================
 dnl always rely on the system version of pango
 dnl ===================================================================

Modified: openoffice/branches/AOO410/main/graphite/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/graphite/makefile.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/graphite/makefile.mk (original)
+++ openoffice/branches/AOO410/main/graphite/makefile.mk Thu Sep 24 19:36:21 
2015
@@ -92,7 +92,7 @@ CFLAGS4MSC= $(CFLAGS2MSC:s/ -/ $(JUSTASL
 BUILD_FLAGS+= "CFLAGS4MSC=$(CFLAGS4MSC)" /F makefile.vc$(VCNUM) lib_dll
 .ENDIF
 
-.IF "$(COM)"=="GCC"
+.IF "$(COM)"=="GCC" || "$(OS)"=="FREEBSD"
 
 # Does linux want --disable-shared?
 .IF "x$(debug)"!="x"
@@ -137,7 +137,7 @@ OUT2LIB=engine$/release$/*.lib
 OUT2LIB=engine$/src$/.libs$/libgraphite*.a
 .ENDIF
 
-.IF "$(COM)"=="GCC"
+.IF "$(COM)"=="GCC" || "$(OS)"=="FREEBSD"
 BUILD_ACTION=$(GNUMAKE) -j$(EXTMAXPROCESS)
 .ENDIF
 

Modified: openoffice/branches/AOO410/main/sal/inc/rtl/string.hxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/sal/inc/rtl/string.hxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/sal/inc/rtl/string.hxx (original)
+++ openoffice/branches/AOO410/main/sal/inc/rtl/string.hxx Thu Sep 24 19:36:21 
2015
@@ -234,8 +234,9 @@ private:
       @return a pointer to a (not necessarily null-terminated) byte string
       representing the characters of this string object.
     */
-    operator const sal_Char *() const SAL_THROW(()) { return pData->buffer; }
+
 public:
+    operator const sal_Char *() const SAL_THROW(()) { return pData->buffer; }
     /** Returns a reference to a character of this string. */
     sal_Char& operator[]( int n ) { return pData->buffer[n]; }
     /** Returns a const reference to a character of this string. */

Modified: openoffice/branches/AOO410/main/set_soenv.in
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/set_soenv.in?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/set_soenv.in (original)
+++ openoffice/branches/AOO410/main/set_soenv.in Thu Sep 24 19:36:21 2015
@@ -358,8 +358,8 @@ elsif ( $platform =~ m/kfreebsd/ )
 }
 elsif ( $platform =~ m/freebsd/ ) 
 {     $BIG_SVX        = "TRUE";
-      $COM            = "GCC";
-      $COMPATH        = '@COMPATH@'; 
+      $COM            = "@COM_IS@";
+      $COMPATH        = '@COMPATH@' . '/bin'; 
       $CVER           = "C300";
       $GUI            = "UNX";
       $GUIBASE        = "unx";
@@ -1680,6 +1680,11 @@ if ( $platform =~ m/darwin/ )
     ToFile( "MACOSX_DEPLOYMENT_TARGET",       "@MACOSX_DEPLOYMENT_TARGET@",    
   "e" );
     ToFile( "MACOSX_SDK_PATH",       "@MACOSX_SDK_PATH@",       "e" );
 }
+if ( $platform =~ m/freebsd/ )
+{
+    ToFile( "FBSD_GCC_RPATH",       "@FBSD_GCC_RPATH@", "e" );
+    ToFile( "LIBINTL_PREFIX",       "@LIBINTL_PREFIX@", "e" );
+}
 
 #
 # Writing the variables to file.
@@ -2575,26 +2580,37 @@ sub GetCorrectPath
        my @originalPairs = @_;
        my @pairs = @originalPairs;
        my @Path = split /$ps/, $oldPath;
+       my @buildPath;
+       my @sysPath;
+       my $elem;
+
+       for $elem (@Path) {
+           if ($elem eq '.' || $elem =~ m'^$SOLARENV/' ||
+               $elem =~ m'/solenv/') {
+                   push @buildPath, $elem;
+           } else {
+                   push @sysPath, $elem;
+           }
+       }
 
        while (@pairs) {
            my $path = shift @pairs;
            my $cmd = shift @pairs;
            my $to_append = 1;
-           my $elem;
 
            if (! -x "$path/$cmd") {
                AddWarning ("Missing executable $path/$cmd\n");
            }
 
-           for $elem (@Path) {
+           for $elem (@sysPath) {
                if ($elem eq $path) {
 #                  print "Hit duplicate path in path; break\n";
                    $to_append = 0;
                    last;
                }
-               if (-f "$elem/$cmd") {
+               if (-f "$elem/$cmd" && ! -l "$elem/$cmd") {
 #                  print "Element already in path ...\n";
-                   unshift @Path, $path;
+                   unshift @sysPath, $path;
                    $to_append = 0;
                    last;
                } else {
@@ -2602,7 +2618,7 @@ sub GetCorrectPath
                }
            }
            if ($to_append) {
-               push @Path, $path;
+               push @sysPath, $path;
            }
        }
 
@@ -2612,14 +2628,14 @@ sub GetCorrectPath
            my $cmd = shift @pairs;
            my $realpath;
 
-           $realpath = PathLookup ($cmd, @Path);
+           $realpath = PathLookup ($cmd, @sysPath);
            if (!($realpath eq $path)) {
                AddWarning ("Path conflict for executables " .
                             "$path/$cmd against $realpath");
            }
        }
 
-       return join $ps, CleanupPath (@Path);
+       return join $ps, @buildPath, CleanupPath (@sysPath);
 }
 
 #------------------------------------------------------------

Modified: 
openoffice/branches/AOO410/main/shell/source/unix/sysshell/recently_used_file_handler.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/shell/source/unix/sysshell/recently_used_file_handler.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- 
openoffice/branches/AOO410/main/shell/source/unix/sysshell/recently_used_file_handler.cxx
 (original)
+++ 
openoffice/branches/AOO410/main/shell/source/unix/sysshell/recently_used_file_handler.cxx
 Thu Sep 24 19:36:21 2015
@@ -40,6 +40,7 @@
 #include <algorithm>
 #include <functional>
 #include <string.h>
+#include <time.h>
 
 namespace /* private */ {
     //########################################   

Modified: openoffice/branches/AOO410/main/solenv/gbuild/platform/freebsd.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/solenv/gbuild/platform/freebsd.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/solenv/gbuild/platform/freebsd.mk (original)
+++ openoffice/branches/AOO410/main/solenv/gbuild/platform/freebsd.mk Thu Sep 
24 19:36:21 2015
@@ -20,7 +20,6 @@
 #*************************************************************************
 
 GUI := UNX
-COM := GCC
 
 # BSD mktemp -t expects a prefix, not a pattern
 gb_MKTEMP ?= /usr/bin/mktemp -t gbuild.
@@ -95,7 +94,12 @@ gb_CXXFLAGS := \
        -fno-use-cxa-atexit \
        -fvisibility-inlines-hidden \
        -fvisibility=hidden \
-       -pipe \
+       -pipe
+ifeq ($(COM),CLANG)
+gb_CXXFLAGS += -DHAVE_STL_INCLUDE_PATH
+else
+gb_CXXFLAGS += -DBOOST_TR1_DISABLE_INCLUDE_NEXT 
-DBOOST_TR1_GCC_INCLUDE_PATH=c++
+endif
 
 ifneq ($(EXTERNAL_WARNINGS_NOT_ERRORS),TRUE)
 gb_CFLAGS_WERROR := -Werror
@@ -109,8 +113,10 @@ gb_LinkTarget_LDFLAGS := -Wl,--sysroot=$
 endif
 gb_LinkTarget_EXCEPTIONFLAGS := \
        -DEXCEPTIONS_ON \
-       -fexceptions \
-       -fno-enforce-eh-specs \
+       -fexceptions
+ifeq ($(COM),GCC)
+gb_LinkTarget_EXCEPTIONFLAGS +=  -fno-enforce-eh-specs
+endif
 
 gb_LinkTarget_NOEXCEPTIONFLAGS := \
        -DEXCEPTIONS_OFF \
@@ -121,6 +127,7 @@ gb_LinkTarget_LDFLAGS += \
        -Wl,-z,combreloc \
        -Wl,-z,defs \
        $(subst -L../lib , ,$(SOLARLIB)) \
+       ${FBSD_GCC_RPATH} \
         \
 
 ifeq ($(HAVE_LD_HASH_STYLE),TRUE)

Modified: openoffice/branches/AOO410/main/solenv/inc/tg_compv.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/solenv/inc/tg_compv.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/solenv/inc/tg_compv.mk (original)
+++ openoffice/branches/AOO410/main/solenv/inc/tg_compv.mk Thu Sep 24 19:36:21 
2015
@@ -130,9 +130,14 @@ COMNAME=MipsPro
 .ENDIF
 
 .IF "$(COM)"=="CLANG"
+.IF "$(OS)" == "FREEBSD"
+COMID=gcc3
+COMNAME=gcc3
+.ELSE
 COMID=s5abi
 COMNAME=s5abi
 .ENDIF
+.ENDIF
 
 .IF "$(COMNAME)"==""
 

Modified: openoffice/branches/AOO410/main/solenv/inc/unx.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/solenv/inc/unx.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/solenv/inc/unx.mk (original)
+++ openoffice/branches/AOO410/main/solenv/inc/unx.mk Thu Sep 24 19:36:21 2015
@@ -139,7 +139,7 @@
 .INCLUDE : unxbsds.mk
 .ENDIF
 
-.IF "$(COM)$(OS)" == "GCCFREEBSD"
+.IF "$(OS)" == "FREEBSD"
 .INCLUDE : unxfbsd.mk
 .ENDIF
 

Modified: openoffice/branches/AOO410/main/solenv/inc/unxfbsd.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/solenv/inc/unxfbsd.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/solenv/inc/unxfbsd.mk (original)
+++ openoffice/branches/AOO410/main/solenv/inc/unxfbsd.mk Thu Sep 24 19:36:21 
2015
@@ -27,7 +27,7 @@ ASM=
 AFLAGS=
 
 SOLAR_JAVA*=
-PICSWITCH*:=-fpic
+PICSWITCH*:=-fPIC
 JAVAFLAGSDEBUG=-g
 
 # Include arch specific makefile.
@@ -44,6 +44,11 @@ JAVAFLAGSDEBUG=-g
 
 # _PTHREADS is needed for the stl
 CDEFS+=$(PTHREAD_CFLAGS) -D_PTHREADS -D_REENTRANT -DNEW_SOLAR 
-D_USE_NAMESPACE=1 -DSTLPORT_VERSION=450
+.IF "$(COM)"=="CLANG"
+CDEFS+=-DHAVE_STL_INCLUDE_PATH
+.ELSE
+CDEFS+=-DBOOST_TR1_DISABLE_INCLUDE_NEXT -DBOOST_TR1_GCC_INCLUDE_PATH=c++
+.ENDIF
 
 # enable visibility define in "sal/types.h"
 .IF "$(HAVE_GCC_VISIBILITY_FEATURE)" == "TRUE"
@@ -82,7 +87,11 @@ CFLAGSENABLESYMBOLS=-g # was temporarily
 # flags for the C++ Compiler
 CFLAGSCC= -pipe $(ARCH_FLAGS) 
 # Flags for enabling exception handling
+.IF "$(COM)"=="CLANG"
+CFLAGSEXCEPTIONS=-fexceptions
+.ELSE
 CFLAGSEXCEPTIONS=-fexceptions -fno-enforce-eh-specs
+.ENDIF
 # Flags for disabling exception handling
 CFLAGS_NO_EXCEPTIONS=-fno-exceptions
 
@@ -150,7 +159,7 @@ LINKFLAGSRUNPATH_OXT=
 LINKFLAGSRUNPATH_BOXT=-Wl,-z,origin -Wl,-rpath,\''$$ORIGIN'\'
 #LINKFLAGSRUNPATH_BOXT=-Wl,-z,origin 
-Wl,-rpath,\''$$ORIGIN/../../../basis-link/program'\'
 LINKFLAGSRUNPATH_NONE=
-LINKFLAGS=-Wl,-z,combreloc  $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
+LINKFLAGS=-Wl,-z,combreloc $(LDFLAGS) $(LINKFLAGSDEFS) $(LINKFLAGS_SYSBASE)
 
 # linker flags for linking applications
 LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec \
@@ -193,11 +202,11 @@ STDSHLCUIMT+=-ltcmalloc
 .ENDIF
 
 # libraries for linking applications
-STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
-STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDLIBGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed 
${FBSD_GCC_RPATH}
+STDLIBCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed 
${FBSD_GCC_RPATH}
 # libraries for linking shared libraries
-STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
-STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed
+STDSHLGUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed 
${FBSD_GCC_RPATH}
+STDSHLCUIMT+=-Wl,--as-needed $(PTHREAD_LIBS) -lm -Wl,--no-as-needed 
${FBSD_GCC_RPATH}
 
 X11LINK_DYNAMIC = -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed
 

Modified: 
openoffice/branches/AOO410/main/testtools/source/bridgetest/bridgetest.cxx
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/testtools/source/bridgetest/bridgetest.cxx?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/testtools/source/bridgetest/bridgetest.cxx 
(original)
+++ openoffice/branches/AOO410/main/testtools/source/bridgetest/bridgetest.cxx 
Thu Sep 24 19:36:21 2015
@@ -544,7 +544,12 @@ static sal_Bool performTest(
             } catch (...) {
                 bRet &= check(false, "getRaiseAttr2 threw wrong type");
             }
-#ifndef OS2 // see i120310 for details
+#if !defined(OS2) && !(defined(FREEBSD) && defined(INTEL))
+// see i120310 for OS2 details
+// FreeBSD i386 coredumps on this test in cpp_vtable_call():
+//  pTypeDescr appears to point to garbage, pMapFunctionIndexToMemberIndex
+//  points to unreadable memory, as does abase.pTypeName.  Refcounts
+//  don't look reasonable, etc.
             // Test instantiated polymorphic struct types:
             {
                 bRet &= check(

Modified: 
openoffice/branches/AOO410/main/testtools/source/bridgetest/makefile.mk
URL: 
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/testtools/source/bridgetest/makefile.mk?rev=1705124&r1=1705123&r2=1705124&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/testtools/source/bridgetest/makefile.mk 
(original)
+++ openoffice/branches/AOO410/main/testtools/source/bridgetest/makefile.mk Thu 
Sep 24 19:36:21 2015
@@ -134,8 +134,8 @@ ALLTAR: \
 
 runtest : $(DLLDEST)$/uno_types.rdb $(DLLDEST)$/uno_services.rdb makefile.mk \
         $(SHL1TARGETN) $(SHL2TARGETN) $(SHL3TARGETN)
-.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP" || "$(COM)$(OS)$(CPU)" == 
"GCCFREEBSDI" || "$(OS)$(CPU)"=="SOLARISS"
-       @echo "Mac OSX PPC GCC ad FreeBDS/i386 fails this test! likely broken 
UNO bridge. Fix me."
+.IF "$(COM)$(OS)$(CPU)" == "GCCMACOSXP" || "$(OS)$(CPU)"=="SOLARISS"
+       @echo "Mac OSX PPC GCC and Solaris fails this test! likely broken UNO 
bridge. Fix me."
 .ELSE
         cd $(DLLDEST) && $(AUGMENT_LIBRARY_PATH) $(SOLARBINDIR)/uno \
                -ro uno_services.rdb -ro uno_types.rdb \


Reply via email to