about summary refs log tree commit diff
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
glibc-5ccb4311206d95f48e44ffaba09bf6cf05d17145.tar.xz
glibc-5ccb4311206d95f48e44ffaba09bf6cf05d17145.zip
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