OSDN Git Service

Add PR number to ChangeLog.
[pf3gnuchains/gcc-fork.git] / libjava / include / dwarf2-signal.h
index 7dbcd9d..949bcc0 100644 (file)
@@ -1,6 +1,6 @@
 // dwarf2-signal.h - Catch runtime signals and turn them into exceptions.
 
-/* Copyright (C) 2000, 2001  Free Software Foundation
+/* Copyright (C) 2000, 2001, 2009  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -58,61 +58,7 @@ do                                                                   \
   _sc->sc_ip++;                                                                \
 }                                                                      \
 while (0)
-#elif defined(__sparc__)
-/* We could do the unwind of the signal frame quickly by hand here like
-   sparc-signal.h does under Solaris, but that makes debugging unwind
-   failures almost impossible.  */
-#if !defined(__arch64__)
-#define MAKE_THROW_FRAME(_exception)                                   \
-do                                                                     \
-{                                                                      \
-  /* Sparc-32 leaves PC pointing at a faulting instruction             \
-   always.                                                             \
-   We advance the PC one instruction past the exception causing PC.    \
-   This is done because FDEs are found with "context->ra - 1" in the   \
-   unwinder.                                                           \
-   Also, the dwarf2 unwind machinery is going to add 8 to the          \
-   PC it uses on Sparc.  So we adjust the PC here.  We do it here      \
-   because we run once for such an exception, however the Sparc specific\
-   unwind can run multiple times for the same exception and it would   \
-   adjust the PC more than once resulting in a bogus value.  */                \
-  struct sig_regs {                                                    \
-    unsigned int psr, pc, npc, y, u_regs[16];                          \
-  } *regp;                                                             \
-  unsigned int insn;                                                   \
-  __asm__ __volatile__("ld [%%i7 + 8], %0" : "=r" (insn));             \
-  /* mov __NR_sigaction, %g1; Old signal stack layout */               \
-  if (insn == 0x821020d8)                                              \
-    regp = (struct sig_regs *) _sip;                                   \
-  else                                                                 \
-    /* mov __NR_rt_sigaction, %g1; New signal stack layout */          \
-    regp = (struct sig_regs *) (_sip + 1);                             \
-  regp->pc = ((regp->pc + 4) - 8);                                     \
-}                                                                      \
-while (0)
-#else
-#define MAKE_THROW_FRAME(_exception)                                   \
-do                                                                     \
-{                                                                      \
-  /* Sparc-64 leaves PC pointing at a faulting instruction             \
-   always.                                                             \
-   We advance the PC one instruction past the exception causing PC.    \
-   This is done because FDEs are found with "context->ra - 1" in the   \
-   unwinder.                                                           \
-   Also, the dwarf2 unwind machinery is going to add 8 to the          \
-   PC it uses on Sparc.  So we adjust the PC here.  We do it here      \
-   because we run once for such an exception, however the Sparc specific\
-   unwind can run multiple times for the same exception and it would   \
-   adjust the PC more than once resulting in a bogus value.  */                \
-  struct pt_regs {                                                     \
-    unsigned long u_regs[16];                                          \
-    unsigned long tstate, tpc, tnpc;                                   \
-    unsigned int y, fprs;                                              \
-  } *regp = (struct pt_regs *) (_sip + 1);                             \
-  regp->tpc = ((regp->tpc + 4) - 8);                                   \
-}                                                                      \
-while (0)
-#endif
+
 #else
 #define MAKE_THROW_FRAME(_exception)           \
 do                                             \
@@ -143,7 +89,6 @@ extern "C" {
 #define INIT_SEGV                                              \
 do                                                             \
   {                                                            \
-    nullp = new java::lang::NullPointerException ();           \
     struct kernel_sigaction act;                               \
     unsigned long stub = ((unsigned long)&__rt_sigreturn_stub); \
     act.k_sa_sigaction = _Jv_catch_segv;                       \
@@ -158,8 +103,6 @@ while (0)
 #define INIT_FPE                                               \
 do                                                             \
   {                                                            \
-    arithexception = new java::lang::ArithmeticException       \
-      (JvNewStringLatin1 ("/ by zero"));                       \
     struct kernel_sigaction act;                               \
     unsigned long stub = ((unsigned long)&__rt_sigreturn_stub); \
     act.k_sa_sigaction = _Jv_catch_fpe;                                \
@@ -185,7 +128,6 @@ extern "C" {
 do                                                             \
   {                                                            \
     struct kernel_sigaction act;                               \
-    nullp = new java::lang::NullPointerException ();           \
     act.k_sa_sigaction = _Jv_catch_segv;                       \
     act.k_sa_mask = 0;                                         \
     act.k_sa_flags = SA_SIGINFO;                               \
@@ -197,8 +139,6 @@ while (0)
 #define INIT_FPE                                               \
 do                                                             \
   {                                                            \
-    arithexception = new java::lang::ArithmeticException       \
-      (JvNewStringLatin1 ("/ by zero"));                       \
     struct kernel_sigaction act;                               \
     act.k_sa_sigaction = _Jv_catch_fpe;                                \
     act.k_sa_mask = 0;                                         \
@@ -212,7 +152,6 @@ while (0)
 #define INIT_SEGV                                              \
 do                                                             \
   {                                                            \
-    nullp = new java::lang::NullPointerException ();           \
     struct sigaction act;                                      \
     act.sa_sigaction = _Jv_catch_segv;                         \
     sigemptyset (&act.sa_mask);                                        \
@@ -224,8 +163,6 @@ while (0)
 #define INIT_FPE                                               \
 do                                                             \
   {                                                            \
-    arithexception = new java::lang::ArithmeticException       \
-      (JvNewStringLatin1 ("/ by zero"));                       \
     struct sigaction act;                                      \
     act.sa_sigaction = _Jv_catch_fpe;                          \
     sigemptyset (&act.sa_mask);                                        \
@@ -250,7 +187,6 @@ while (0)
 #define INIT_SEGV                                              \
 do                                                             \
   {                                                            \
-    nullp = new java::lang::NullPointerException ();           \
     struct sigaction act;                                      \
     act.sa_sigaction = _Jv_catch_segv;                         \
     sigemptyset (&act.sa_mask);                                        \
@@ -262,8 +198,6 @@ while (0)
 #define INIT_FPE                                               \
 do                                                             \
   {                                                            \
-    arithexception = new java::lang::ArithmeticException       \
-      (JvNewStringLatin1 ("/ by zero"));                       \
     struct sigaction act;                                      \
     act.sa_sigaction = _Jv_catch_fpe;                          \
     sigemptyset (&act.sa_mask);                                        \