]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/50737 (FAIL: Throw_3 -O3 execution, generic dwarf2 EH problem?)
authorUros Bizjak <ubizjak@gmail.com>
Tue, 18 Oct 2011 17:30:12 +0000 (19:30 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 18 Oct 2011 17:30:12 +0000 (19:30 +0200)
gcc/ChangeLog:

2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
    Eric Botcazou  <ebotcazou@adacore.com>

PR target/50737
* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
fs->signal_frame to 1.

libjava/ChangeLog:

2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
    Eric Botcazou  <ebotcazou@adacore.com>

PR target/50737
* include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
definition.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r180158

gcc/ChangeLog
gcc/config/alpha/linux-unwind.h
libjava/ChangeLog
libjava/include/dwarf2-signal.h

index 58a6198d578334c96d6b509565cfed1681779e81..2a55007f2b1fef49c101e35c6280b01e3ceb3a4a 100644 (file)
@@ -1,3 +1,10 @@
+2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/50737
+       * config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
+       fs->signal_frame to 1.
+
 2011-08-06  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/50001
index e43aacfd00bd34864f42aad36fbc20035ca3f2ea..629d557c46c7ff1b3594e7587f36b7188a5e0200 100644 (file)
@@ -74,5 +74,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
   fs->regs.reg[64].how = REG_SAVED_OFFSET;
   fs->regs.reg[64].loc.offset = (long)&sc->sc_pc - new_cfa;
   fs->retaddr_column = 64;
+  fs->signal_frame = 1;
+
   return _URC_NO_REASON;
 }
index ec6957df04b07d4bad49b3638b0c47cbb2600dda..2c90af24a3a80cf22c5bc5b4f9465a24694c4c86 100644 (file)
@@ -1,3 +1,10 @@
+2011-10-18  Uros Bizjak  <ubizjak@gmail.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/50737
+       * include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
+       definition.
+
 2011-04-16  Release Manager
 
        * GCC 4.4.6 released.
index 43f0cbe914f9548a2726257f80c676d4de0bb397..88fd79d71f882a73f0c216231c0f955ada4e5695 100644 (file)
@@ -29,20 +29,7 @@ class java::lang::Throwable;
 // then throw an exception.  With the dwarf2 unwinder we don't usually
 // need to do anything, with some minor exceptions.
 
-#ifdef __alpha__
-#define MAKE_THROW_FRAME(_exception)                                   \
-do                                                                     \
-{                                                                      \
-  /* Alpha either leaves PC pointing at a faulting instruction or the  \
-   following instruction, depending on the signal.  SEGV always does   \
-   the former, so we adjust the saved PC to point to the following     \
-   instruction; this is what the handler in libgcc expects.  */                \
-  struct sigcontext *_sc = (struct sigcontext *)_p;                    \
-  _sc->sc_pc += 4;                                                     \
-}                                                                      \
-while (0)
-
-#elif defined(__ia64__)
+#ifdef __ia64__
 
 #define MAKE_THROW_FRAME(_exception)                                   \
 do                                                                     \