This patch, plus the attached files, start the abstraction of the C++ ABI's. I've started by replacing the simple things, and will incrementally replace the more complex things, and the things that require real code changes, as time goes on. The cp-abi directory, and it's files, are attached in a gzipped tar file. This fixes some problems with the new-abi already, like not being able to set breakpoints on destructors (if you try it, you'll get: (gdb) b foo::~foo the class `foo' does not have destructor defined Hint: try 'foo::~foo or 'foo::~foo (Note leading single quote.) (gdb) ) I haven't added the method for detecting which C++ abi we are using, so it simply defaults to the gnu v2 abi. However, I have verified the gnu v3 abi parts work fine too (that's how i know it fixed breakpoints on destructors). This stuff touches a lot of files, but it's only removing code, or changing a macro call to a function call (IE VTBL_PREFIX_P -> vtbl_prefix_p, DESTRUCTOR_PREFIX_P -> destructor_prefix_p). Who exactly do i need approval from to check this stuff in? As I said, this is an incremental process. This is the minimum number of changes necessary to start abstracting the simple things. There is no way to make this patch smaller, without breaking gdb. I need someone to look at the configure.in change, i'm not positive I did it right. --Dan