From 723acbd5fa416ccb925e19ae55e515cb1b9b7a74 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 3 Aug 2004 06:45:54 +0000 Subject: [PATCH] cxxabi.h: Make all declarations have default visibility. * libsupc++/cxxabi.h: Make all declarations have default visibility. * libsupc++/exception: Likewise. * libsupc++/new: Likewise. * libsupc++/typeinfo: Likewise. * libsupc++/unwind-cxx.h: Likewise. * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into the __cxxabiv1 namespace. (__cxa_free_exception): Likewise. * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise. (__cxa_bad_typeid): Likewise. * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise. (__cxa_end_catch): Likewise. * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise. (__cxa_get_globals): Likewise. * libsupc++/eh_throw.cc (__cxa_throw): Likewise. (__cxa_rethrow): Likewise. * libsupc++/pure.cc (__cxa_pure_virtual): Likewise. * libsupc++/eh_type.cc: Include . From-SVN: r85463 --- libstdc++-v3/ChangeLog | 20 ++++++++++++++++++++ libstdc++-v3/libsupc++/cxxabi.h | 4 ++++ libstdc++-v3/libsupc++/eh_alloc.cc | 4 ++-- libstdc++-v3/libsupc++/eh_aux_runtime.cc | 4 ++-- libstdc++-v3/libsupc++/eh_catch.cc | 4 ++-- libstdc++-v3/libsupc++/eh_globals.cc | 4 ++-- libstdc++-v3/libsupc++/eh_throw.cc | 6 +++--- libstdc++-v3/libsupc++/eh_type.cc | 1 + libstdc++-v3/libsupc++/exception | 4 ++++ libstdc++-v3/libsupc++/new | 4 ++++ libstdc++-v3/libsupc++/pure.cc | 3 ++- libstdc++-v3/libsupc++/typeinfo | 4 ++++ libstdc++-v3/libsupc++/unwind-cxx.h | 4 ++++ 13 files changed, 54 insertions(+), 12 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 2ed6f75a8c3..68a7ad3535e 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,25 @@ 2004-08-02 Mark Mitchell + * libsupc++/cxxabi.h: Make all declarations have default + visibility. + * libsupc++/exception: Likewise. + * libsupc++/new: Likewise. + * libsupc++/typeinfo: Likewise. + * libsupc++/unwind-cxx.h: Likewise. + * libsupc++/eh_alloc.cc (__cxa_allocate_exception): Put it into + the __cxxabiv1 namespace. + (__cxa_free_exception): Likewise. + * libsupc++/eh_aux_runtime.cc (__cxa_bad_cast): Likewise. + (__cxa_bad_typeid): Likewise. + * libsupc++/eh_catch.cc (__cxa_begin_catch): Likewise. + (__cxa_end_catch): Likewise. + * libsupc++/eh_globals.cc (__cxa_get_globals_fast): Likewise. + (__cxa_get_globals): Likewise. + * libsupc++/eh_throw.cc (__cxa_throw): Likewise. + (__cxa_rethrow): Likewise. + * libsupc++/pure.cc (__cxa_pure_virtual): Likewise. + * libsupc++/eh_type.cc: Include . + * Makefile.am (hosted_source): Add libmath and testsuite. (SUBDIRS): Remove them. * acinclude.m4: (GLIBCXX_ENABLED_HOSTED): Default to freestanding diff --git a/libstdc++-v3/libsupc++/cxxabi.h b/libstdc++-v3/libsupc++/cxxabi.h index f1f74e7fcd9..b85019588df 100644 --- a/libstdc++-v3/libsupc++/cxxabi.h +++ b/libstdc++-v3/libsupc++/cxxabi.h @@ -42,6 +42,8 @@ #ifndef _CXXABI_H #define _CXXABI_H 1 +#pragma GCC visibility push(default) + #include #include @@ -523,4 +525,6 @@ namespace abi = __cxxabiv1; #endif // __cplusplus +#pragma GCC visibility pop + #endif // __CXXABI_H diff --git a/libstdc++-v3/libsupc++/eh_alloc.cc b/libstdc++-v3/libsupc++/eh_alloc.cc index dbf007e09d8..4728bcbf380 100644 --- a/libstdc++-v3/libsupc++/eh_alloc.cc +++ b/libstdc++-v3/libsupc++/eh_alloc.cc @@ -107,7 +107,7 @@ emergency_mutex_init () extern "C" void * -__cxa_allocate_exception(std::size_t thrown_size) throw() +__cxxabiv1::__cxa_allocate_exception(std::size_t thrown_size) throw() { void *ret; @@ -154,7 +154,7 @@ __cxa_allocate_exception(std::size_t thrown_size) throw() extern "C" void -__cxa_free_exception(void *vptr) throw() +__cxxabiv1::__cxa_free_exception(void *vptr) throw() { char *ptr = (char *) vptr; if (ptr >= &emergency_buffer[0][0] diff --git a/libstdc++-v3/libsupc++/eh_aux_runtime.cc b/libstdc++-v3/libsupc++/eh_aux_runtime.cc index 95c0e2588c9..eb30fbdab05 100644 --- a/libstdc++-v3/libsupc++/eh_aux_runtime.cc +++ b/libstdc++-v3/libsupc++/eh_aux_runtime.cc @@ -35,7 +35,7 @@ #include "exception_defines.h" extern "C" void -__cxa_bad_cast () +__cxxabiv1::__cxa_bad_cast () { #ifdef __EXCEPTIONS throw std::bad_cast(); @@ -45,7 +45,7 @@ __cxa_bad_cast () } extern "C" void -__cxa_bad_typeid () +__cxxabiv1::__cxa_bad_typeid () { #ifdef __EXCEPTIONS throw std::bad_typeid(); diff --git a/libstdc++-v3/libsupc++/eh_catch.cc b/libstdc++-v3/libsupc++/eh_catch.cc index 0d2196d4490..bdcbd7e085c 100644 --- a/libstdc++-v3/libsupc++/eh_catch.cc +++ b/libstdc++-v3/libsupc++/eh_catch.cc @@ -35,7 +35,7 @@ using namespace __cxxabiv1; extern "C" void * -__cxa_begin_catch (void *exc_obj_in) throw() +__cxxabiv1::__cxa_begin_catch (void *exc_obj_in) throw() { _Unwind_Exception *exceptionObject = reinterpret_cast <_Unwind_Exception *>(exc_obj_in); @@ -82,7 +82,7 @@ __cxa_begin_catch (void *exc_obj_in) throw() extern "C" void -__cxa_end_catch () +__cxxabiv1::__cxa_end_catch () { __cxa_eh_globals *globals = __cxa_get_globals_fast (); __cxa_exception *header = globals->caughtExceptions; diff --git a/libstdc++-v3/libsupc++/eh_globals.cc b/libstdc++-v3/libsupc++/eh_globals.cc index 42760229036..b63fc1e8985 100644 --- a/libstdc++-v3/libsupc++/eh_globals.cc +++ b/libstdc++-v3/libsupc++/eh_globals.cc @@ -69,7 +69,7 @@ get_globals_init_once () #endif extern "C" __cxa_eh_globals * -__cxa_get_globals_fast () throw() +__cxxabiv1::__cxa_get_globals_fast () throw() { #if __GTHREADS if (use_thread_key) @@ -82,7 +82,7 @@ __cxa_get_globals_fast () throw() } extern "C" __cxa_eh_globals * -__cxa_get_globals () throw() +__cxxabiv1::__cxa_get_globals () throw() { #if __GTHREADS __cxa_eh_globals *g; diff --git a/libstdc++-v3/libsupc++/eh_throw.cc b/libstdc++-v3/libsupc++/eh_throw.cc index 55af4eedfa7..b02efdad6dc 100644 --- a/libstdc++-v3/libsupc++/eh_throw.cc +++ b/libstdc++-v3/libsupc++/eh_throw.cc @@ -31,7 +31,6 @@ #include #include "unwind-cxx.h" - using namespace __cxxabiv1; @@ -56,7 +55,8 @@ __gxx_exception_cleanup (_Unwind_Reason_Code code, _Unwind_Exception *exc) extern "C" void -__cxa_throw (void *obj, std::type_info *tinfo, void (*dest) (void *)) +__cxxabiv1::__cxa_throw (void *obj, std::type_info *tinfo, + void (*dest) (void *)) { __cxa_exception *header = __get_exception_header_from_obj (obj); header->exceptionType = tinfo; @@ -81,7 +81,7 @@ __cxa_throw (void *obj, std::type_info *tinfo, void (*dest) (void *)) } extern "C" void -__cxa_rethrow () +__cxxabiv1::__cxa_rethrow () { __cxa_eh_globals *globals = __cxa_get_globals (); __cxa_exception *header = globals->caughtExceptions; diff --git a/libstdc++-v3/libsupc++/eh_type.cc b/libstdc++-v3/libsupc++/eh_type.cc index edd5e7bd7c0..6dd4eedb9c6 100644 --- a/libstdc++-v3/libsupc++/eh_type.cc +++ b/libstdc++-v3/libsupc++/eh_type.cc @@ -29,6 +29,7 @@ #include +#include #include "unwind-cxx.h" namespace __cxxabiv1 diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception index 6a1a1946036..c2c8a15dc03 100644 --- a/libstdc++-v3/libsupc++/exception +++ b/libstdc++-v3/libsupc++/exception @@ -37,6 +37,8 @@ #ifndef __EXCEPTION__ #define __EXCEPTION__ +#pragma GCC visibility push(default) + extern "C++" { namespace std @@ -117,4 +119,6 @@ namespace __gnu_cxx } // extern "C++" +#pragma GCC visibility pop + #endif diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new index 00e99464b90..434720dcd37 100644 --- a/libstdc++-v3/libsupc++/new +++ b/libstdc++-v3/libsupc++/new @@ -41,6 +41,8 @@ #include #include +#pragma GCC visibility push(default) + extern "C++" { namespace std @@ -98,4 +100,6 @@ inline void operator delete[](void*, void*) throw() { } //@} } // extern "C++" +#pragma GCC visibility pop + #endif diff --git a/libstdc++-v3/libsupc++/pure.cc b/libstdc++-v3/libsupc++/pure.cc index 4536a5f9c76..2e75492e705 100644 --- a/libstdc++-v3/libsupc++/pure.cc +++ b/libstdc++-v3/libsupc++/pure.cc @@ -28,6 +28,7 @@ // the GNU General Public License. #include +#include #include "unwind-cxx.h" #if _GLIBCXX_HOSTED @@ -48,7 +49,7 @@ #endif extern "C" void -__cxa_pure_virtual (void) +__cxxabiv1::__cxa_pure_virtual (void) { writestr ("pure virtual method called\n"); std::terminate (); diff --git a/libstdc++-v3/libsupc++/typeinfo b/libstdc++-v3/libsupc++/typeinfo index 1396baa6fc2..46803ad4d14 100644 --- a/libstdc++-v3/libsupc++/typeinfo +++ b/libstdc++-v3/libsupc++/typeinfo @@ -37,6 +37,8 @@ #include +#pragma GCC visibility push(default) + extern "C++" { namespace __cxxabiv1 @@ -152,5 +154,7 @@ namespace std }; } // namespace std +#pragma GCC visibility pop + } // extern "C++" #endif diff --git a/libstdc++-v3/libsupc++/unwind-cxx.h b/libstdc++-v3/libsupc++/unwind-cxx.h index 1e17972ba50..67ea5cc2110 100644 --- a/libstdc++-v3/libsupc++/unwind-cxx.h +++ b/libstdc++-v3/libsupc++/unwind-cxx.h @@ -40,6 +40,8 @@ #include #include "unwind.h" +#pragma GCC visibility push(default) + namespace __cxxabiv1 { @@ -168,4 +170,6 @@ __get_exception_header_from_ue (_Unwind_Exception *exc) } /* namespace __cxxabiv1 */ +#pragma GCC visibility pop + #endif // _UNWIND_CXX_H -- 2.30.2