summary refs log tree commit diff
path: root/sysdeps/sh/_mcount.S
diff options
context:
space:
mode:
authorChung-Lin Tang <cltang@codesourcery.com>2012-05-28 00:06:57 +0200
committerThomas Schwinge <thomas@codesourcery.com>2012-05-28 00:11:06 +0200
commit65a4de4e06709264e7e06152cd88aaec1f03fd11 (patch)
tree85fadd93664635e1884e1b1ceaa7de63f17e0ab3 /sysdeps/sh/_mcount.S
parent47e452cf7c13529f168ff2a415107d1c8e9af9c2 (diff)
downloadglibc-65a4de4e06709264e7e06152cd88aaec1f03fd11.tar.gz
glibc-65a4de4e06709264e7e06152cd88aaec1f03fd11.tar.xz
glibc-65a4de4e06709264e7e06152cd88aaec1f03fd11.zip
SH: Add CFI directives.
Diffstat (limited to 'sysdeps/sh/_mcount.S')
-rw-r--r--sysdeps/sh/_mcount.S11
1 files changed, 10 insertions, 1 deletions
diff --git a/sysdeps/sh/_mcount.S b/sysdeps/sh/_mcount.S
index 7956c01256..7e3d50e94e 100644
--- a/sysdeps/sh/_mcount.S
+++ b/sysdeps/sh/_mcount.S
@@ -1,5 +1,5 @@
 /* Machine-specific calling sequence for `mcount' profiling function.  SuperH
-   Copyright (C) 2001, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2001-2012 Free Software Foundation, Inc.
    Contributed by NIIBE Yutaka <gniibe@m17n.org>
    This file is part of the GNU C Library.
 
@@ -58,11 +58,20 @@ C_LABEL(_mcount)
 
 	/* Pop the saved registers.  */
 	lds.l	@r15+,pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
 	mov.l	@r15+,r7
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r7)
 	mov.l	@r15+,r6
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r6)
 	mov.l	@r15+,r5
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r5)
 	rts
 	 mov.l	@r15+,r4
+	/* Omit CFI for restore in delay slot.  */
 
 	.align 2
 #ifdef SHARED