binutils-gdb/gdb/common
Pedro Alves eec461d0a8 [C++] Always use setjmp/longjmp for exceptions
We currently throw exceptions from signal handlers (e.g., for
Quit/ctrl-c).  But throwing C++ exceptions from signal handlers is
undefined.  (That doesn't restore signal masks, like siglongjmp does,
and, because asynchronous signals can arrive at any instruction, we'd
have to build _everything_ with -fasync-unwind-tables to make it
reliable.)  It happens to work on x86_64 GNU/Linux at least, but it's
likely broken on other ports.

Until we stop throwing from signal handlers, use setjmp/longjmp based
exceptions in C++ mode as well.

gdb/ChangeLog:
2015-11-17  Pedro Alves  <palves@redhat.com>

	* common/common-exceptions.h (GDB_XCPT_SJMP, GDB_XCPT_TRY)
	(GDB_XCPT_RAW_TRY, GDB_XCPT): Define.
	Replace __cplusplus checks with GDB_XCPT checks throughout.
	* common/common-exceptions.c: Replace __cplusplus checks with
	GDB_XCPT checks throughout.
2015-11-17 15:23:15 +00:00
..
agent.c Add some more casts (1/2) 2015-09-25 14:08:07 -04:00
agent.h
ax.def
break-common.h
btrace-common.c
btrace-common.h
buffer.c
buffer.h
cleanups.c Replace some xmalloc-family functions with XNEW-family ones 2015-08-26 17:18:12 -04:00
cleanups.h
common-debug.c
common-debug.h
common-defs.h MinGW and attribute format(printf/gnu_printf) 2015-11-17 15:22:39 +00:00
common-exceptions.c [C++] Always use setjmp/longjmp for exceptions 2015-11-17 15:23:15 +00:00
common-exceptions.h [C++] Always use setjmp/longjmp for exceptions 2015-11-17 15:23:15 +00:00
common-regcache.h aarch64 multi-arch part 6: HW breakpoint on unaligned address 2015-10-15 15:05:10 +01:00
common-types.h
common-utils.c
common-utils.h
common.host
common.m4
create-version.sh
enum-flags.h Type-safe wrapper for enum flags 2015-11-17 13:31:29 +00:00
errors.c
errors.h
fileio.c
fileio.h
filestuff.c common/filestuff.c (make_cleanup_close): Update comment. 2015-09-28 11:31:54 -07:00
filestuff.h
format.c Add some more casts (1/2) 2015-09-25 14:08:07 -04:00
format.h
gdb_assert.h
gdb_locale.h
gdb_setjmp.h
gdb_signals.h
gdb_sys_time.h
gdb_vecs.c More char constification 2015-10-13 19:40:50 +01:00
gdb_vecs.h
gdb_wait.h musl: Move W_STOPCODE to common/gdb_wait.h. 2015-10-26 13:24:01 -07:00
host-defs.h
mingw-strerror.c
posix-strerror.c
print-utils.c Make host_address_to_string/gdb_print_host_address cast parameter to 'void *' 2015-10-27 17:33:01 +00:00
print-utils.h Make host_address_to_string/gdb_print_host_address cast parameter to 'void *' 2015-10-27 17:33:01 +00:00
ptid.c
ptid.h
queue.h
rsp-low.c
rsp-low.h
signals.c
symbol.h
vec.c Add some more casts (1/2) 2015-09-25 14:08:07 -04:00
vec.h Add cast to VEC_iterate 2015-10-29 17:39:33 +00:00
version.h
x86-xstate.h
xml-utils.c
xml-utils.h