summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2013-06-25 18:57:42 +0200
committerAndreas Schwab <schwab@linux-m68k.org>2013-06-25 19:03:46 +0200
commit5ccb4311206d95f48e44ffaba09bf6cf05d17145 (patch)
tree61275bbabd3758c204b210bab744d181808301c7
parent385fd0d524817f171c715c1ca0e5647741584682 (diff)
downloadglibc-5ccb4311206d95f48e44ffaba09bf6cf05d17145.tar.gz
m68k: fix bad use of register alias in cfi insn
-rw-r--r--ports/ChangeLog.m68k5
-rw-r--r--ports/sysdeps/m68k/sysdep.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index f9a5f0b213..c5b1e2156d 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,8 @@
+2013-06-25 Andreas Schwab <schwab@linux-m68k.org>
+
+ * sysdeps/m68k/sysdep.h (CALL_MCOUNT) [PROF]: Use %a6 instead of
+ %fp in cfi insns.
+
2013-06-15 Siddhesh Poyarekar <siddhesh@redhat.com>
* sysdeps/unix/sysv/linux/m68k/coldfire/nptl/libpthread.abilist:
diff --git a/ports/sysdeps/m68k/sysdep.h b/ports/sysdeps/m68k/sysdep.h
index cd34dd8369..f8ad70e01b 100644
--- a/ports/sysdeps/m68k/sysdep.h
+++ b/ports/sysdeps/m68k/sysdep.h
@@ -45,11 +45,11 @@
to locate our caller, so push one just for its benefit. */
# define CALL_MCOUNT \
move.l %fp, -(%sp); \
- cfi_adjust_cfa_offset (4); cfi_rel_offset (%fp, 0); \
+ cfi_adjust_cfa_offset (4); cfi_rel_offset (%a6, 0); \
move.l %sp, %fp; \
jbsr JUMPTARGET (_mcount); \
move.l (%sp)+, %fp; \
- cfi_adjust_cfa_offset (-4); cfi_restore (%fp);
+ cfi_adjust_cfa_offset (-4); cfi_restore (%a6);
# else
# define CALL_MCOUNT /* Do nothing. */
# endif