]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libgcc/unwind-sjlj.c
Reset PHI base0 flag if it's clear in any argument [PR101977, ...]
[thirdparty/gcc.git] / libgcc / unwind-sjlj.c
index 340eb79857a678ab62306ae6524cad59d5c4d7d5..fe978d27111d488161dc23f10e9c2f7f4d6e8822 100644 (file)
@@ -1,5 +1,5 @@
 /* SJLJ exception handling and frame unwind runtime interface routines.
-   Copyright (C) 1997-2013 Free Software Foundation, Inc.
+   Copyright (C) 1997-2021 Free Software Foundation, Inc.
 
    This file is part of GCC.
 
 
 #ifdef __USING_SJLJ_EXCEPTIONS__
 
-#ifdef DONT_USE_BUILTIN_SETJMP
+#ifdef __LIBGCC_DONT_USE_BUILTIN_SETJMP__
 #ifndef inhibit_libc
 #include <setjmp.h>
 #else
-typedef void *jmp_buf[JMP_BUF_SIZE];
+typedef void *jmp_buf[__LIBGCC_JMP_BUF_SIZE__];
 extern void longjmp(jmp_buf, int) __attribute__((noreturn));
 #endif
 #else
@@ -70,7 +70,7 @@ struct SjLj_Function_Context
   _Unwind_Personality_Fn personality;
   void *lsda;
 
-#ifdef DONT_USE_BUILTIN_SETJMP
+#ifdef __LIBGCC_DONT_USE_BUILTIN_SETJMP__
   /* We don't know what sort of alignment requirements the system
      jmp_buf has.  We over estimated in except.c, and now we have
      to match that here just in case the system *didn't* have more
@@ -185,7 +185,7 @@ _Unwind_GetCFA (struct _Unwind_Context *context __attribute__((unused)))
 {
   /* ??? Ideally __builtin_setjmp places the CFA in the jmpbuf.  */
 
-#ifndef DONT_USE_BUILTIN_SETJMP
+#ifndef __LIBGCC_DONT_USE_BUILTIN_SETJMP__
   /* This is a crude imitation of the CFA: the saved stack pointer.
      This is roughly the CFA of the frame before CONTEXT.  When using the
      DWARF-2 unwinder _Unwind_GetCFA returns the CFA of the frame described
@@ -300,7 +300,8 @@ uw_init_context (struct _Unwind_Context *context)
 
 static void __attribute__((noreturn))
 uw_install_context (struct _Unwind_Context *current __attribute__((unused)),
-                    struct _Unwind_Context *target)
+                    struct _Unwind_Context *target,
+                   unsigned long frames __attribute__((unused)))
 {
   _Unwind_SjLj_SetContext (target->fc);
   longjmp (target->fc->jbuf, 1);