diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/sh/_mcount.S | 14 | ||||
-rw-r--r-- | sysdeps/unix/sh/sysdep.S | 10 |
2 files changed, 23 insertions, 1 deletions
diff --git a/sysdeps/sh/_mcount.S b/sysdeps/sh/_mcount.S index 1e7a1d95c9..069da13e98 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 Free Software Foundation, Inc. + Copyright (C) 2001, 2005 Free Software Foundation, Inc. Contributed by NIIBE Yutaka <gniibe@m17n.org> This file is part of the GNU C Library. @@ -22,14 +22,25 @@ ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(_mcount) ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(_mcount),function) + cfi_startproc .align 5 C_LABEL(_mcount) /* Save registers. */ mov.l r4,@-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (r4, 0) mov.l r5,@-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (r5, 0) mov.l r6,@-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (r6, 0) mov.l r7,@-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (r7, 0) sts.l pr,@-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (pr, 0) mov.l @(20,r15),r4 sts pr,r5 @@ -61,6 +72,7 @@ C_LABEL(_mcount) #else 1: .long C_SYMBOL_NAME(__mcount_internal) #endif + cfi_endproc ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount)) #undef mcount diff --git a/sysdeps/unix/sh/sysdep.S b/sysdeps/unix/sh/sysdep.S index 6e4798e45a..802d51f3be 100644 --- a/sysdeps/unix/sh/sysdep.S +++ b/sysdeps/unix/sh/sysdep.S @@ -40,14 +40,21 @@ skip: #else mov.l .L3, r1 sts.l pr, @-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (pr, 0) jsr @r1 mov.l r0, @-r15 + cfi_adjust_cfa_offset (4) mov.l @r15+, r1 + cfi_adjust_cfa_offset (-4) lds.l @r15+, pr + cfi_adjust_cfa_offset (-4) mov.l r1, @r0 #endif #else mov.l r12, @-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (r12, 0) #ifndef _LIBC_REENTRANT mov r0, r2 mov.l 0f, r12 @@ -58,7 +65,10 @@ skip: mov.l r2, @r1 #else mov.l r0, @-r15 + cfi_adjust_cfa_offset (4) sts.l pr, @-r15 + cfi_adjust_cfa_offset (4) + cfi_rel_offset (pr, 0) mov.l 0f, r12 mova 0f, r0 add r0, r12 |