aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2009-07-15 08:56:13 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2009-07-15 08:56:13 +0000
commit31d29c406122cbefe9ee1f249c5a6f06de8cde09 (patch)
tree4ae44f91767c6ae091e93dcceda8b3e5fecbd1b3 /gcc
parentf6ddbf11c30d0e42e369e7b7f315a66e2e601207 (diff)
downloadgcc-31d29c406122cbefe9ee1f249c5a6f06de8cde09.zip
gcc-31d29c406122cbefe9ee1f249c5a6f06de8cde09.tar.gz
gcc-31d29c406122cbefe9ee1f249c5a6f06de8cde09.tar.bz2
linux-unwind.h (m68k_fallback_frame_state): Update to handle 2.6.30 kernel.
* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Update to handle 2.6.30 kernel. From-SVN: r149663
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/m68k/linux-unwind.h9
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 201a3ef..d160c8d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/m68k/linux-unwind.h b/gcc/config/m68k/linux-unwind.h
index 5f87746..053c155 100644
--- a/gcc/config/m68k/linux-unwind.h
+++ b/gcc/config/m68k/linux-unwind.h
@@ -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 */