]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/6494 (sparc64-linux libjava testsuite failures)
authorDavid S. Miller <davem@redhat.com>
Mon, 29 Apr 2002 04:09:50 +0000 (21:09 -0700)
committerDavid S. Miller <davem@gcc.gnu.org>
Mon, 29 Apr 2002 04:09:50 +0000 (21:09 -0700)
2002-04-27  David S. Miller  <davem@redhat.com>

PR target/6494
* config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
of the stack bias.

* config/sparc/linux.h, config/sparc/linux64.h: Don't bother
including signal.h and sys/ucontext.h, not needed.

From-SVN: r52871

gcc/ChangeLog
gcc/config/sparc/linux.h
gcc/config/sparc/linux64.h

index 523a480b4429b24849014a9a3bf84671080a3b68..a0853a9d210ef4eb73fb881b8b3c1e317e99ca89 100644 (file)
@@ -1,3 +1,12 @@
+2002-04-27  David S. Miller  <davem@redhat.com>
+
+       PR target/6494
+       * config/sparc/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Be mindful
+       of the stack bias.
+
+       * config/sparc/linux.h, config/sparc/linux64.h: Don't bother
+       including signal.h and sys/ucontext.h, not needed.
+
 2002-04-28  Richard Henderson  <rth@redhat.com>
 
        PR c/5154
index a1c2f5640ec5baf668d5e1ba8f619e4a6e180a07..b93b46cf46ca7472c46fd1505c0d17a2adf7ca14 100644 (file)
@@ -259,11 +259,6 @@ do {                                                                       \
 /* Do code reading to identify a signal frame, and set the frame
    state data appropriately.  See unwind-dw2.c for the structs.  */
 
-#ifdef IN_LIBGCC2
-#include <signal.h>
-#include <sys/ucontext.h>
-#endif
-
 #define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT, FS, SUCCESS)              \
   do {                                                                 \
     unsigned int *pc_ = (CONTEXT)->ra;                                 \
index 932c8934422263f8270b72368dde3e6ff1dfa4dd..33c3f5438c9894c690e61562ce22be22e4d169b0 100644 (file)
@@ -379,11 +379,6 @@ do {                                                                       \
 /* Do code reading to identify a signal frame, and set the frame
    state data appropriately.  See unwind-dw2.c for the structs.  */
 
-#ifdef IN_LIBGCC2
-#include <signal.h>
-#include <sys/ucontext.h>
-#endif
-
 /* Handle multilib correctly.  */
 #if defined(__arch64__)
 /* 64-bit Sparc version */
@@ -401,14 +396,13 @@ do {                                                                      \
     fpu_save_off_ = regs_off_ + (16 * 8) + (3 * 8) + (2 * 4);          \
     this_cfa_ = (long) (CONTEXT)->cfa;                                 \
     new_cfa_ = *(long *)(((CONTEXT)->cfa) + (regs_off_ + (14 * 8)));   \
+    new_cfa_ += 2047; /* Stack bias */                                 \
     fpu_save_ = *(long *)((this_cfa_) + (fpu_save_off_));              \
     (FS)->cfa_how = CFA_REG_OFFSET;                                    \
     (FS)->cfa_reg = 14;                                                        \
     (FS)->cfa_offset = new_cfa_ - (long) (CONTEXT)->cfa;               \
     for (i_ = 1; i_ < 16; ++i_)                                                \
       {                                                                        \
-        if (i_ == 14)                                                  \
-          continue;                                                    \
        (FS)->regs.reg[i_].how = REG_SAVED_OFFSET;                      \
        (FS)->regs.reg[i_].loc.offset =                                 \
          this_cfa_ + (regs_off_ + (i_ * 8)) - new_cfa_;                \