Hello, For targets that define DONT_USE_BUILTIN_SETJMP, the JMP_BUF_SIZE macro can be used to set the size of the exception jump buffer. The JMP_BUF_SIZE macro is not used unless DONT_USE_BUILTIN_SETJMP is defined. See gcc/except.c and libgcc/unwind-sjlj.c.
The PA and SPARC back ends do not define DONT_USE_BUILTIN_SETJMP, so they also do not have to define JMP_BUF_SIZE. So: * config/sparc/sparc.h (JMP_BUF_SIZE): Do not define. * config/pa/pa.h (JMP_BUF_SIZE): Likewise. OK for trunk? The rl78 apparently doesn't know what it wants to do: /* NOTE: defined but zero means dwarf2 debugging, but sjlj EH. */ #define DWARF2_UNWIND_INFO 0 /*#define DONT_USE_BUILTIN_SETJMP 1*/ #undef DONT_USE_BUILTIN_SETJMP #define JMP_BUF_SIZE (8*3+8) But I'll leave that to an rl78 maintainer. Ciao! Steven Index: config/pa/pa.h =================================================================== --- config/pa/pa.h (revision 188917) +++ config/pa/pa.h (working copy) @@ -1508,9 +1508,6 @@ do { \ of the return address. */ \ (GEN_INT (-4)) -/* The number of Pmode words for the setjmp buffer. */ -#define JMP_BUF_SIZE 50 - /* We need a libcall to canonicalize function pointers on TARGET_ELF32. */ #define CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL \ "__canonicalize_funcptr_for_compare" Index: config/sparc/sparc.h =================================================================== --- config/sparc/sparc.h (revision 188917) +++ config/sparc/sparc.h (working copy) @@ -1744,9 +1744,6 @@ extern int sparc_indent_opcode; #define AS_NIAGARA3_FLAG "d" #endif -/* The number of Pmode words for the setjmp buffer. */ -#define JMP_BUF_SIZE 12 - /* We use gcc _mcount for profiling. */ #define NO_PROFILE_COUNTERS 0