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 \