diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-12-30 22:17:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-12-30 22:17:53 +0000 |
commit | 3ddf7149f0acbffc3a24858faac04f29f57bd415 (patch) | |
tree | 6c1fe8af1a3c57e99080525cffd05bc537bd146b /sysdeps/sh | |
parent | 5ad77144942c0ea0a3f3c71d4ddccdf91e64771c (diff) | |
download | glibc-3ddf7149f0acbffc3a24858faac04f29f57bd415.zip glibc-3ddf7149f0acbffc3a24858faac04f29f57bd415.tar.gz glibc-3ddf7149f0acbffc3a24858faac04f29f57bd415.tar.bz2 |
* sysdeps/sh/sysdep.h: Add cfi instrumentation to asm fragments.
* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
* sysdeps/sh/_mcount.S: Add cfi instrumentation.
* sysdeps/unix/sh/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/sh/makecontext.S: Adjust cfi_startproc.
* sysdeps/unix/sysv/linux/sh/sh4/getcontext.S: Remove now duplicate
cfi_startproc and cfi_endproc.
* sysdeps/unix/sysv/linux/sh/sh4/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh4/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh3/getcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh3/setcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S: Likewise.
* sysdeps/unix/sysv/linux/sh/socket.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.S: Add cfi_endproc.
Diffstat (limited to 'sysdeps/sh')
-rw-r--r-- | sysdeps/sh/sysdep.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sysdeps/sh/sysdep.h b/sysdeps/sh/sysdep.h index 202c701..743631a 100644 --- a/sysdeps/sh/sysdep.h +++ b/sysdeps/sh/sysdep.h @@ -1,5 +1,5 @@ /* Assembler macros for SH. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2005 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 @@ -52,10 +52,12 @@ ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),function) \ .align ALIGNARG(5); \ C_LABEL(name) \ + cfi_startproc; \ CALL_MCOUNT #undef END #define END(name) \ + cfi_endproc; \ ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(name)) /* If compiled for profiling, call `mcount' at the start of each function. */ @@ -63,12 +65,17 @@ #define CALL_MCOUNT \ mov.l 1f,r1; \ sts.l pr,@-r15; \ + cfi_adjust_cfa_offset (4); \ + cfi_rel_offset (pr, 0); \ mova 2f,r0; \ jmp @r1; \ lds r0,pr; \ .align 2; \ 1: .long mcount; \ -2: lds.l @r15+,pr +2: lds.l @r15+,pr; \ + cfi_adjust_cfa_offset (-4); \ + cfi_restore (pr) + #else #define CALL_MCOUNT /* Do nothing. */ #endif |