[Midnightbsd-cvs] src [7402] trunk/lib/libcxxrt: add libcxxrt makefile

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Jan 6 13:48:49 EST 2016


Revision: 7402
          http://svnweb.midnightbsd.org/src/?rev=7402
Author:   laffer1
Date:     2016-01-06 13:48:49 -0500 (Wed, 06 Jan 2016)
Log Message:
-----------
add libcxxrt makefile

Added Paths:
-----------
    trunk/lib/libcxxrt/
    trunk/lib/libcxxrt/Makefile
    trunk/lib/libcxxrt/Version.map

Added: trunk/lib/libcxxrt/Makefile
===================================================================
--- trunk/lib/libcxxrt/Makefile	                        (rev 0)
+++ trunk/lib/libcxxrt/Makefile	2016-01-06 18:48:49 UTC (rev 7402)
@@ -0,0 +1,26 @@
+# $MidnightBSD$
+
+SRCDIR=		${.CURDIR}/../../contrib/libcxxrt
+
+SHLIB_MAJOR=	1
+SHLIBDIR?=	/lib
+
+.PATH: ${SRCDIR}
+
+LIB=		cxxrt
+
+SRCS+=		libelftc_dem_gnu3.c \
+		terminate.cc \
+		dynamic_cast.cc \
+		memory.cc \
+		auxhelper.cc \
+		exception.cc \
+		stdexcept.cc \
+		typeinfo.cc \
+		guard.cc
+
+WARNS=		0
+CFLAGS+=	-I${SRCDIR}
+VERSION_MAP=	${.CURDIR}/Version.map
+
+.include <bsd.lib.mk>


Property changes on: trunk/lib/libcxxrt/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libcxxrt/Version.map
===================================================================
--- trunk/lib/libcxxrt/Version.map	                        (rev 0)
+++ trunk/lib/libcxxrt/Version.map	2016-01-06 18:48:49 UTC (rev 7402)
@@ -0,0 +1,359 @@
+# $MidnightBSD$
+# $FreeBSD: stable/10/lib/libcxxrt/Version.map 285109 2015-07-03 20:29:04Z dim $
+# Define the same version as the libsupc++ from gcc 4.2.1 so that we can use
+# libcxxrt as a drop-in replacement.
+
+CXXABI_1.3 {
+
+  global:
+
+    # ABI functions with C linkage
+    __cxa_allocate_exception;
+    __cxa_bad_cast;
+    __cxa_bad_typeid;
+    __cxa_begin_catch;
+    __cxa_begin_cleanup;
+    __cxa_call_unexpected;
+    __cxa_current_exception_type;
+    __cxa_demangle;
+    __cxa_end_catch;
+    __cxa_end_cleanup;
+    __cxa_free_exception;
+    __cxa_get_globals;
+    __cxa_get_globals_fast;
+    __cxa_guard_abort;
+    __cxa_guard_acquire;
+    __cxa_guard_release;
+    __cxa_pure_virtual;
+    __cxa_rethrow;
+    __cxa_throw;
+    __cxa_throw_bad_array_new_length;
+    __cxa_type_match;
+    __cxa_vec_cctor;
+    __cxa_vec_cleanup;
+    __cxa_vec_ctor;
+    __cxa_vec_delete2;
+    __cxa_vec_delete3;
+    __cxa_vec_delete;
+    __cxa_vec_dtor;
+    __cxa_vec_new2;
+    __cxa_vec_new3;
+    __cxa_vec_new;
+    __dynamic_cast;
+    __gxx_personality_sj0;
+    __gxx_personality_v0;
+
+    extern "C++" {
+        # Type info classes and their destructors
+        "__cxxabiv1::__array_type_info";
+        "__cxxabiv1::__array_type_info::~__array_type_info()";
+        "__cxxabiv1::__class_type_info";
+        "__cxxabiv1::__class_type_info::~__class_type_info()";
+        "__cxxabiv1::__enum_type_info";
+        "__cxxabiv1::__enum_type_info::~__enum_type_info()";
+        "__cxxabiv1::__function_type_info::";
+        "__cxxabiv1::__function_type_info::~__function_type_info()";
+        "__cxxabiv1::__fundamental_type_info";
+        "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()";
+        "__cxxabiv1::__pbase_type_info";
+        "__cxxabiv1::__pbase_type_info::~__pbase_type_info()";
+        "__cxxabiv1::__pointer_to_member_type_info";
+        "__cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member_type_info()";
+        "__cxxabiv1::__pointer_type_info";
+        "__cxxabiv1::__pointer_type_info::~__pointer_type_info()";
+        "__cxxabiv1::__si_class_type_info";
+        "__cxxabiv1::__si_class_type_info::~__si_class_type_info()";
+        "__cxxabiv1::__vmi_class_type_info";
+        "__cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()";
+
+        # vtables typeinfo classes.
+        "vtable for __cxxabiv1::__array_type_info";
+        "vtable for __cxxabiv1::__class_type_info";
+        "vtable for __cxxabiv1::__enum_type_info";
+        "vtable for __cxxabiv1::__function_type_info";
+        "vtable for __cxxabiv1::__fundamental_type_info";
+        "vtable for __cxxabiv1::__pbase_type_info";
+        "vtable for __cxxabiv1::__pointer_to_member_type_info";
+        "vtable for __cxxabiv1::__pointer_type_info";
+        "vtable for __cxxabiv1::__si_class_type_info";
+        "vtable for __cxxabiv1::__vmi_class_type_info";
+
+        # Type info for built-in types
+        "typeinfo for bool const*";
+        "typeinfo for bool";
+        "typeinfo for char const*";
+        "typeinfo for char";
+        "typeinfo for double const*";
+        "typeinfo for double";
+        "typeinfo for float const*";
+        "typeinfo for float";
+        "typeinfo for int const*";
+        "typeinfo for int";
+        "typeinfo for long const*";
+        "typeinfo for long double const*";
+        "typeinfo for long double";
+        "typeinfo for long long const*";
+        "typeinfo for long long";
+        "typeinfo for long";
+        "typeinfo for short const*";
+        "typeinfo for short";
+        "typeinfo for signed char const*";
+        "typeinfo for signed char";
+        "typeinfo for unsigned char const*";
+        "typeinfo for unsigned char";
+        "typeinfo for unsigned int const*";
+        "typeinfo for unsigned int";
+        "typeinfo for unsigned long const*";
+        "typeinfo for unsigned long long const*";
+        "typeinfo for unsigned long long";
+        "typeinfo for unsigned long";
+        "typeinfo for unsigned short const*";
+        "typeinfo for unsigned short";
+        "typeinfo for void const*";
+        "typeinfo for void";
+        "typeinfo for wchar_t const*";
+        "typeinfo for wchar_t";
+        # C++11 typeinfo not understood by our linker
+        # std::nullptr_t
+        _ZTIDn;_ZTIPDn;_ZTIPKDn;
+        # char16_t
+        _ZTIDi;_ZTIPDi;_ZTIPKDi;
+        # char32_t
+        _ZTIDs;_ZTIPDs;_ZTIPKDs;
+        # IEEE 754r decimal floating point
+        _ZTIDd;_ZTIPDd;_ZTIPKDd;
+        _ZTIDe;_ZTIPDe;_ZTIPKDe;
+        _ZTIDf;_ZTIPDf;_ZTIPKDf;
+        # IEEE 754r half-precision floating point
+        _ZTIDh;_ZTIPDh;_ZTIPKDh;
+
+        "typeinfo for bool*";
+        "typeinfo for wchar_t*";
+        "typeinfo for short*";
+        "typeinfo for char*";
+        "typeinfo for unsigned char*";
+        "typeinfo for long long*";
+        "typeinfo for unsigned short*";
+        "typeinfo for long*";
+        "typeinfo for double*";
+        "typeinfo for unsigned long*";
+        "typeinfo for unsigned long long*";
+        "typeinfo for int*";
+        "typeinfo for long double*";
+        "typeinfo for signed char*";
+        "typeinfo for void*";
+        "typeinfo for unsigned int*";
+        "typeinfo for float*";
+
+        "typeinfo for __cxxabiv1::__array_type_info";
+        "typeinfo for __cxxabiv1::__class_type_info";
+        "typeinfo for __cxxabiv1::__enum_type_info";
+        "typeinfo for __cxxabiv1::__function_type_info";
+        "typeinfo for __cxxabiv1::__fundamental_type_info";
+        "typeinfo for __cxxabiv1::__pbase_type_info";
+        "typeinfo for __cxxabiv1::__pointer_to_member_type_info";
+        "typeinfo for __cxxabiv1::__pointer_type_info";
+        "typeinfo for __cxxabiv1::__si_class_type_info";
+        "typeinfo for __cxxabiv1::__vmi_class_type_info";
+
+        # Typeinfo names.
+
+        "typeinfo name for unsigned char const*";
+        "typeinfo name for long const*";
+        "typeinfo name for double const*";
+        "typeinfo name for unsigned long long const*";
+        "typeinfo name for unsigned short const*";
+        "typeinfo name for char const*";
+        "typeinfo name for long long const*";
+        "typeinfo name for short const*";
+        "typeinfo name for unsigned int const*";
+        "typeinfo name for float const*";
+        "typeinfo name for bool const*";
+        "typeinfo name for wchar_t const*";
+        "typeinfo name for int const*";
+        "typeinfo name for unsigned long const*";
+        "typeinfo name for void const*";
+        "typeinfo name for long double const*";
+        "typeinfo name for signed char const*";
+        "typeinfo name for wchar_t";
+        "typeinfo name for short";
+        "typeinfo name for char";
+        "typeinfo name for float";
+        "typeinfo name for void";
+        "typeinfo name for unsigned int";
+        "typeinfo name for bool";
+        "typeinfo name for signed char";
+        "typeinfo name for long double";
+        "typeinfo name for int";
+        "typeinfo name for unsigned long long";
+        "typeinfo name for unsigned long";
+        "typeinfo name for unsigned char";
+        "typeinfo name for long";
+        "typeinfo name for long long";
+        "typeinfo name for unsigned short";
+        "typeinfo name for double";
+
+        "typeinfo name for bool*";
+        "typeinfo name for wchar_t*";
+        "typeinfo name for short*";
+        "typeinfo name for char*";
+        "typeinfo name for unsigned char*";
+        "typeinfo name for long long*";
+        "typeinfo name for unsigned short*";
+        "typeinfo name for long*";
+        "typeinfo name for double*";
+        "typeinfo name for unsigned long*";
+        "typeinfo name for unsigned long long*";
+        "typeinfo name for int*";
+        "typeinfo name for long double*";
+        "typeinfo name for signed char*";
+        "typeinfo name for void*";
+        "typeinfo name for unsigned int*";
+        "typeinfo name for float*";
+        # C++11 typeinfo not understood by our linker
+        # std::nullptr_t
+        _ZTSDn;_ZTIPDn;_ZTIPKDn;
+        # char16_t
+        _ZTSDi;_ZTIPDi;_ZTIPKDi;
+        # char32_t
+        _ZTSDs;_ZTIPDs;_ZTIPKDs;
+        # IEEE 754r decimal floating point
+        _ZTSDd;_ZTIPDd;_ZTIPKDd;
+        _ZTSDe;_ZTIPDe;_ZTIPKDe;
+        _ZTSDf;_ZTIPDf;_ZTIPKDf;
+        # IEEE 754r half-precision floating point
+        _ZTSDh;_ZTIPDh;_ZTIPKDh;
+
+        "typeinfo name for __cxxabiv1::__array_type_info";
+        "typeinfo name for __cxxabiv1::__class_type_info";
+        "typeinfo name for __cxxabiv1::__enum_type_info";
+        "typeinfo name for __cxxabiv1::__function_type_info";
+        "typeinfo name for __cxxabiv1::__fundamental_type_info";
+        "typeinfo name for __cxxabiv1::__pbase_type_info";
+        "typeinfo name for __cxxabiv1::__pointer_to_member_type_info";
+        "typeinfo name for __cxxabiv1::__pointer_type_info";
+        "typeinfo name for __cxxabiv1::__si_class_type_info";
+        "typeinfo name for __cxxabiv1::__vmi_class_type_info";
+
+        "std::type_info::type_info(std::type_info const&)";
+        "std::type_info::operator=(std::type_info const&)";
+
+
+        # Extensions
+        "pathscale::set_terminate(void (*)())";
+        "pathscale::set_unexpected(void (*)())";
+        "pathscale::set_use_thread_local_handlers(bool)";
+
+
+    };
+
+  local:
+    *;
+};
+
+CXXABI_1.3.1 {
+    __cxa_get_exception_ptr;
+} CXXABI_1.3;
+
+CXXABI_1.3.6 {
+    __cxa_deleted_virtual;
+} CXXABI_1.3.1;
+
+
+CXXRT_1.0 {
+
+    extern "C++" {
+        "std::type_info::name() const";
+        "std::type_info::before(std::type_info const&) const";
+        "std::type_info::operator==(std::type_info const&) const";
+        "std::type_info::operator!=(std::type_info const&) const";
+        "std::bad_cast::bad_cast(std::bad_cast const&)";
+        "std::bad_cast::bad_cast()";
+        "std::bad_cast::operator=(std::bad_cast const&)";
+        "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
+        "std::bad_typeid::bad_typeid()";
+        "std::bad_typeid::operator=(std::bad_typeid const&)";
+        "std::exception::exception(std::exception const&)";
+        "std::exception::exception()";
+        "std::exception::operator=(std::exception const&)";
+        "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
+        "std::bad_alloc::bad_alloc()";
+        "std::bad_alloc::operator=(std::bad_alloc const&)";
+        "std::bad_array_new_length::bad_array_new_length(std::bad_array_new_length const&)";
+        "std::bad_array_new_length::bad_array_new_length()";
+        "std::bad_array_new_length::operator=(std::bad_array_new_length const&)";
+
+    };
+    __cxa_allocate_dependent_exception;
+    __cxa_current_primary_exception;
+    __cxa_decrement_exception_refcount;
+    __cxa_free_dependent_exception;
+    __cxa_increment_exception_refcount;
+    __cxa_rethrow_primary_exception;
+
+} CXXABI_1.3.6;
+
+
+GLIBCXX_3.4 {
+    extern "C++" {
+        "operator delete[](void*)";
+        "operator delete(void*)";
+        "operator new[](unsigned int)";
+        "operator new(unsigned int)";
+        "operator new(unsigned int, std::nothrow_t const&)";
+        "operator new[](unsigned long)";
+        "operator new(unsigned long)";
+        "operator new(unsigned long, std::nothrow_t const&)";
+
+        "std::unexpected()";
+        "std::get_terminate()";
+        "std::get_unexpected()";
+        "std::uncaught_exception()";
+        "std::terminate()";
+
+        "std::type_info::~type_info()";
+        "std::bad_cast::~bad_cast()";
+        "std::bad_typeid::~bad_typeid()";
+        "std::exception::~exception()";
+        "std::bad_alloc::~bad_alloc()";
+        "std::bad_array_new_length::~bad_array_new_length()";
+
+        "std::exception::what() const";
+
+        std::set_new_handler*;
+        std::set_terminate*;
+        std::set_unexpected*;
+        std::type_info::__*;
+
+        "vtable for std::bad_alloc";
+        "vtable for std::bad_cast";
+        "vtable for std::bad_typeid";
+        "vtable for std::exception";
+        "vtable for std::type_info";
+        "vtable for std::bad_array_new_length";
+
+        "typeinfo for std::bad_alloc";
+        "typeinfo for std::bad_typeid";
+        "typeinfo for std::bad_cast";
+        "typeinfo for std::exception";
+        "typeinfo for std::type_info";
+        "typeinfo for std::bad_array_new_length";
+        "typeinfo name for std::bad_alloc";
+        "typeinfo name for std::bad_typeid";
+        "typeinfo name for std::bad_cast";
+        "typeinfo name for std::exception";
+        "typeinfo name for std::type_info";
+        "typeinfo name for std::bad_array_new_length";
+
+    };
+};
+
+GLIBCXX_3.4.9 {
+    extern "C++" {
+        "std::bad_typeid::what() const";
+        "std::bad_cast::what() const";
+        "std::bad_alloc::what() const";
+        "std::bad_array_new_length::what() const";
+    };
+} GLIBCXX_3.4;
+



More information about the Midnightbsd-cvs mailing list