Date: Wed, 23 May 2012 09:10:46 +0000 (UTC) From: David Chisnall <theraven@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r235825 - in stable/9/gnu/lib: libstdc++ libsupc++ Message-ID: <201205230910.q4N9Ak62059664@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: theraven Date: Wed May 23 09:10:46 2012 New Revision: 235825 URL: http://svn.freebsd.org/changeset/base/235825 Log: Merge r233749, building libsupc++ as a shared library and making libstdc++ a filter library. It should now be possible to build applications on 9-STABLE that link against both libc++ and libstdc++ and to test libcxxrt with libstdc++. If you wish to test libcxxrt, please add this to your /etc/libmap.conf: libsupc++.so.1 libcxxrt.so.1 If you wish to test libc++, add -std=libc++ to your compile and link flags for your favourite C++ applications and / or libraries. Added: stable/9/gnu/lib/libsupc++/Version.map - copied unchanged from r233749, head/gnu/lib/libsupc++/Version.map Modified: stable/9/gnu/lib/libstdc++/Makefile stable/9/gnu/lib/libsupc++/Makefile Directory Properties: stable/9/gnu/lib/libstdc++/ (props changed) stable/9/gnu/lib/libsupc++/ (props changed) Modified: stable/9/gnu/lib/libstdc++/Makefile ============================================================================== --- stable/9/gnu/lib/libstdc++/Makefile Wed May 23 07:50:23 2012 (r235824) +++ stable/9/gnu/lib/libstdc++/Makefile Wed May 23 09:10:46 2012 (r235825) @@ -25,7 +25,7 @@ CXXFLAGS+= -fno-implicit-templates -ffun PO_CXXFLAGS= ${CXXFLAGS:N-ffunction-sections} DPADD= ${LIBM} -LDADD= -lm +LDADD= -lm -Wl,-f,libsupc++.so.1 # libstdc++ sources SRCS+= bitmap_allocator.cc pool_allocator.cc \ Modified: stable/9/gnu/lib/libsupc++/Makefile ============================================================================== --- stable/9/gnu/lib/libsupc++/Makefile Wed May 23 07:50:23 2012 (r235824) +++ stable/9/gnu/lib/libsupc++/Makefile Wed May 23 09:10:46 2012 (r235825) @@ -7,8 +7,8 @@ SRCDIR= ${.CURDIR}/../../../contrib/libs .PATH: ${SRCDIR} ${GCCLIB}/libiberty -# Static only. LIB= supc++ +SHLIB_MAJOR=1 SRCS+= del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc eh_alloc.cc eh_arm.cc \ eh_aux_runtime.cc eh_call.cc eh_catch.cc eh_exception.cc eh_globals.cc \ eh_personality.cc eh_term_handler.cc eh_terminate.cc eh_throw.cc \ @@ -36,4 +36,9 @@ unwind.h: ${GCCDIR}/unwind-generic.h SRCS+= unwind.h CLEANFILES+= unwind.h +# Symbol versioning + +VERSION_MAP= ${.CURDIR}/Version.map + + .include <bsd.lib.mk> Copied: stable/9/gnu/lib/libsupc++/Version.map (from r233749, head/gnu/lib/libsupc++/Version.map) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/9/gnu/lib/libsupc++/Version.map Wed May 23 09:10:46 2012 (r235825, copy of r233749, head/gnu/lib/libsupc++/Version.map) @@ -0,0 +1,137 @@ +## Linker script for GNU versioning (GNU ld 2.13.91+ only.) +## +## Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 +## Free Software Foundation, Inc. +## +## This file is part of the GNU ISO C++ Library. This library is free +## software; you can redistribute it and/or modify it under the +## terms of the GNU General Public License as published by the +## Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## This library is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License along +## with this library; see the file COPYING. If not, write to the Free +## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +## USA. + +## $FreeBSD$ + + +# Symbols in the support library (libsupc++) have their own tag. +CXXABI_1.3 { + + global: + __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_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; + __gxx_personality_v0; + __gxx_personality_sj0; + __dynamic_cast; + + # *_type_info classes, ctor and dtor + _ZN10__cxxabiv117__array_type_info*; + _ZN10__cxxabiv117__class_type_info*; + _ZN10__cxxabiv116__enum_type_info*; + _ZN10__cxxabiv120__function_type_info*; + _ZN10__cxxabiv123__fundamental_type_info*; + _ZN10__cxxabiv117__pbase_type_info*; + _ZN10__cxxabiv129__pointer_to_member_type_info*; + _ZN10__cxxabiv119__pointer_type_info*; + _ZN10__cxxabiv120__si_class_type_info*; + _ZN10__cxxabiv121__vmi_class_type_info*; + + # *_type_info classes, member functions + _ZNK10__cxxabiv117__class_type_info*; + _ZNK10__cxxabiv120__function_type_info*; + _ZNK10__cxxabiv117__pbase_type_info*; + _ZNK10__cxxabiv129__pointer_to_member_type_info*; + _ZNK10__cxxabiv119__pointer_type_info*; + _ZNK10__cxxabiv120__si_class_type_info*; + _ZNK10__cxxabiv121__vmi_class_type_info*; + + # virtual table + _ZTVN10__cxxabiv117__array_type_infoE; + _ZTVN10__cxxabiv117__class_type_infoE; + _ZTVN10__cxxabiv116__enum_type_infoE; + _ZTVN10__cxxabiv120__function_type_infoE; + _ZTVN10__cxxabiv123__fundamental_type_infoE; + _ZTVN10__cxxabiv117__pbase_type_infoE; + _ZTVN10__cxxabiv129__pointer_to_member_type_infoE; + _ZTVN10__cxxabiv119__pointer_type_infoE; + _ZTVN10__cxxabiv120__si_class_type_infoE; + _ZTVN10__cxxabiv121__vmi_class_type_infoE; + + # typeinfo structure (and some names) + _ZTI[a-fh-z]; + _ZTIP[a-fh-z]; + _ZTIPK[a-fh-z]; + _ZTIN10__cxxabiv117__array_type_infoE; + _ZTIN10__cxxabiv117__class_type_infoE; + _ZTIN10__cxxabiv116__enum_type_infoE; + _ZTIN10__cxxabiv120__function_type_infoE; + _ZTIN10__cxxabiv123__fundamental_type_infoE; + _ZTIN10__cxxabiv117__pbase_type_infoE; + _ZTIN10__cxxabiv129__pointer_to_member_type_infoE; + _ZTIN10__cxxabiv119__pointer_type_infoE; + _ZTIN10__cxxabiv120__si_class_type_infoE; + _ZTIN10__cxxabiv121__vmi_class_type_infoE; + + # typeinfo name + _ZTS[a-fh-z]; + _ZTSP[a-fh-z]; + _ZTSPK[a-fh-z]; + _ZTSN10__cxxabiv117__array_type_infoE; + _ZTSN10__cxxabiv117__class_type_infoE; + _ZTSN10__cxxabiv116__enum_type_infoE; + _ZTSN10__cxxabiv120__function_type_infoE; + _ZTSN10__cxxabiv123__fundamental_type_infoE; + _ZTSN10__cxxabiv117__pbase_type_infoE; + _ZTSN10__cxxabiv129__pointer_to_member_type_infoE; + _ZTSN10__cxxabiv119__pointer_type_infoE; + _ZTSN10__cxxabiv120__si_class_type_infoE; + _ZTSN10__cxxabiv121__vmi_class_type_infoE; + + # __gnu_cxx::_verbose_terminate_handler() + _ZN9__gnu_cxx27__verbose_terminate_handlerEv; + + local: + *; +}; + +CXXABI_1.3.1 { + + __cxa_get_exception_ptr; + +} CXXABI_1.3;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201205230910.q4N9Ak62059664>