]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
linux-unwind.h (m68k_fallback_frame_state): Update to handle 2.6.30 kernel.
authorMaxim Kuvyrkov <maxim@codesourcery.com>
Wed, 15 Jul 2009 08:56:13 +0000 (08:56 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Wed, 15 Jul 2009 08:56:13 +0000 (08:56 +0000)
* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to
handle 2.6.30 kernel.

From-SVN: r149663

gcc/ChangeLog
gcc/config/m68k/linux-unwind.h

index 201a3ef8c77119994f6389fe2b3bc90a89afce47..d160c8d26d911eca09626ae40acce0c7d057f0f9 100644 (file)
@@ -1,3 +1,8 @@
+2009-07-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to
+       handle 2.6.30 kernel.
+
 2009-07-15  DJ Delorie  <dj@redhat.com>
 
        * config/mep/mep.md (sibcall_internal): Change register to allow
index 5f877464f0f235830cec396c79af1decf2125d05..053c15558caaf8cf55253a09bada9d5ea43dcaff 100644 (file)
@@ -77,9 +77,15 @@ m68k_fallback_frame_state (struct _Unwind_Context *context,
       fs->regs.reg[9].how = REG_SAVED_OFFSET;
       fs->regs.reg[9].loc.offset = (long) &sc->sc_a1 - cfa;
 
+#ifdef __uClinux__
+      fs->regs.reg[13].how = REG_SAVED_OFFSET;
+      fs->regs.reg[13].loc.offset = (long) &sc->sc_a5 - cfa;
+#endif
+
       fs->regs.reg[24].how = REG_SAVED_OFFSET;
       fs->regs.reg[24].loc.offset = (long) &sc->sc_pc - cfa;
 
+#ifndef __uClinux__
       if (*(int *) sc->sc_fpstate)
        {
          int *fpregs = (int *) sc->sc_fpregs;
@@ -89,6 +95,9 @@ m68k_fallback_frame_state (struct _Unwind_Context *context,
          fs->regs.reg[17].how = REG_SAVED_OFFSET;
          fs->regs.reg[17].loc.offset = (long) &fpregs[M68K_FP_SIZE/4] - cfa;
        }
+#elif defined __mcffpu__
+# error Implement this when uClinux kernel is ported to an FPU architecture
+#endif
     }
 #ifdef __mcoldfire__
   /* move.l #__NR_rt_sigreturn,%d0; trap #0 */