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

Reply via email to