Fix C++ exception handling. GCC was using the older BSD DBX register numbers

rather than the ELF ABI/SVR4 ones in its DWARF unwinding.

Submitted by:	Alexander Kabaev <ak03@gte.com>
This commit is contained in:
David E. O'Brien 2002-07-12 17:44:24 +00:00
parent d08a3fc2bc
commit 83728effa9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=99884

View File

@ -387,6 +387,14 @@ Boston, MA 02111-1307, USA. */
? svr4_dbx_register_map[(n)] \
: dbx_register_map[(n)])
/* The same functions are used to creating the DWARF2 debug info and C++
unwind info (except.c). Regardless of the debug format requested, the
register numbers used in exception unwinding sections still have to be
DWARF compatible. IMO the GCC folks may be abusing the DBX_REGISTER_NUMBER
macro to mean too much. */
#define DWARF_FRAME_REGNUM(n) (TARGET_64BIT ? dbx64_register_map[n] \
: svr4_dbx_register_map[(n)])
/* tag end of file in elf mode */
#undef DBX_OUTPUT_MAIN_SOURCE_FILE_END
#define DBX_OUTPUT_MAIN_SOURCE_FILE_END(FILE, FILENAME) \