about summary refs log tree commit diff
path: root/sysdeps/unix/sh
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/unix/sh
parent47e452cf7c13529f168ff2a415107d1c8e9af9c2 (diff)
downloadglibc-65a4de4e06709264e7e06152cd88aaec1f03fd11.tar.gz
glibc-65a4de4e06709264e7e06152cd88aaec1f03fd11.tar.xz
glibc-65a4de4e06709264e7e06152cd88aaec1f03fd11.zip
SH: Add CFI directives.
Diffstat (limited to 'sysdeps/unix/sh')
-rw-r--r--sysdeps/unix/sh/sysdep.S13
1 files changed, 10 insertions, 3 deletions
diff --git a/sysdeps/unix/sh/sysdep.S b/sysdeps/unix/sh/sysdep.S
index e816575b03..f8025cc70c 100644
--- a/sysdeps/unix/sh/sysdep.S
+++ b/sysdeps/unix/sh/sysdep.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -41,13 +41,15 @@ skip:
 	sts.l	pr, @-r15
 	cfi_adjust_cfa_offset (4)
 	cfi_rel_offset (pr, 0)
-	jsr	@r1
-	 mov.l	r0, @-r15
+	mov.l	r0, @-r15
 	cfi_adjust_cfa_offset (4)
+	jsr	@r1
+	 nop
 	mov.l	@r15+, r1
 	cfi_adjust_cfa_offset (-4)
 	lds.l	@r15+, pr
 	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
 	mov.l	r1, @r0
 #endif
 #else
@@ -77,10 +79,15 @@ skip:
 	jsr	@r1
 	 nop
 	lds.l	@r15+, pr
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (pr)
 	mov.l	@r15+, r1
+	cfi_adjust_cfa_offset (-4)
 	mov.l	r1, @r0
 #endif
 	mov.l	@r15+, r12
+	cfi_adjust_cfa_offset (-4)
+	cfi_restore (r12)
 #endif
 	/* And just kick back a -1.  */
 	rts