abi_check.cc: Add CXXABI_1.2.1 as compatible.

2002-11-25  Benjamin Kosnik  <bkoz@redhat.com>

	* 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.

From-SVN: r59487
This commit is contained in:
Benjamin Kosnik 2002-11-26 01:37:50 +00:00 committed by Benjamin Kosnik
parent b1455c558e
commit 8ecab601c3
3 changed files with 59 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2002-11-25 Benjamin Kosnik <bkoz@redhat.com>
* 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 <pcarlini@unitus.it>
Nathan Myers <ncm@cantrip.org>

View File

@ -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;

View File

@ -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<string> 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<string>::iterator end = compatible_versions.end();