diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index fbf147f5a8c..fad3bb2399d 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2002-11-25 Benjamin Kosnik + + * testsuite/abi_check.cc: Add CXXABI_1.2.1 as compatible. + * config/linker-map.gnu: Version __cxa_guard_acquire, + __cxa_guard_release, __cxa_guard_abort in CXXABI_1.2.1. + 2002-11-25 Paolo Carlini Nathan Myers diff --git a/libstdc++-v3/config/linker-map.gnu b/libstdc++-v3/config/linker-map.gnu index f82002acd51..050376cba93 100644 --- a/libstdc++-v3/config/linker-map.gnu +++ b/libstdc++-v3/config/linker-map.gnu @@ -246,7 +246,48 @@ GLIBCPP_3.2.1 { CXXABI_1.2 { global: - __cxa_*; + __cxa_allocate_exception; + __cxa_bad_cast; + __cxa_bad_typeid; + __cxa_begin_catch; + __cxa_call_unexpected; + __cxa_current_exception_type; + __cxa_demangle; + __cxa_dyn_string_append_char; + __cxa_dyn_string_append_cstr; + __cxa_dyn_string_append; + __cxa_dyn_string_clear; + __cxa_dyn_string_copy_cstr; + __cxa_dyn_string_copy; + __cxa_dyn_string_delete; + __cxa_dyn_string_eq; + __cxa_dyn_string_init; + __cxa_dyn_string_insert_char; + __cxa_dyn_string_insert_cstr; + __cxa_dyn_string_insert; + __cxa_dyn_string_new; + __cxa_dyn_string_prepend_cstr; + __cxa_dyn_string_prepend; + __cxa_dyn_string_release; + __cxa_dyn_string_resize; + __cxa_dyn_string_substring; + __cxa_end_catch; + __cxa_free_exception; + __cxa_get_globals; + __cxa_get_globals_fast; + __cxa_pure_virtual; + __cxa_rethrow; + __cxa_throw; + __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; @@ -257,3 +298,12 @@ CXXABI_1.2 { local: *; }; + +# Symbols added after CXXABI_1.2 +CXXABI_1.2.1 { + + __cxa_guard_acquire; + __cxa_guard_release; + __cxa_guard_abort; + +} CXXABI_1.2; \ No newline at end of file diff --git a/libstdc++-v3/testsuite/abi_check.cc b/libstdc++-v3/testsuite/abi_check.cc index c093cd507a6..420cf4e6d05 100644 --- a/libstdc++-v3/testsuite/abi_check.cc +++ b/libstdc++-v3/testsuite/abi_check.cc @@ -134,7 +134,7 @@ const char* demangle(const std::string& mangled) { const char* name; - if (mangled[0] != '_' && mangled[1] != 'Z') + if (mangled[0] != '_' || mangled[1] != 'Z') { // This is not a mangled symbol, thus has "C" linkage. name = mangled.c_str(); @@ -365,6 +365,7 @@ main(int argc, char** argv) { vector compatible_versions; compatible_versions.push_back("GLIBCPP_3.2.1"); + compatible_versions.push_back("CXXABI_1.2.1"); symbol_info test = test_symbols[added_names[i]]; vector::iterator end = compatible_versions.end();