diff options
-rw-r--r-- | nptl/ChangeLog | 3 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h | 11 |
2 files changed, 9 insertions, 5 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index bc2e98b2c6..4738d4612d 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,8 @@ 2012-05-27 Chung-Lin Tang <cltang@codesourcery.com> + * sysdeps/unix/sysv/linux/sh/sysdep-cancel.h (PSEUDO, LOAD_ARGS_1) + (LOAD_ARGS_2 ,LOAD_ARGS_3 ,LOAD_ARGS_4): Add CFI restores. + * sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_lock_wait_private) (__lll_lock_wait, __lll_timedlock_wait, __lll_timedwait_tid): Add CFI directives. diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h index 49d98cdea0..9ffe52f4ac 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h +++ b/nptl/sysdeps/unix/sysv/linux/sh/sysdep-cancel.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +/* Copyright (C) 2003-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 @@ -71,6 +71,7 @@ CDISABLE; \ mov.l @r15+,r0; \ cfi_adjust_cfa_offset (-4); \ + cfi_restore (r0); \ lds.l @r15+,pr; \ cfi_adjust_cfa_offset (-4); \ cfi_restore (pr); \ @@ -97,10 +98,10 @@ # define SAVE_ARGS_6 SAVE_ARGS_5 # define LOAD_ARGS_0 /* Nothing. */ -# define LOAD_ARGS_1 LOAD_ARGS_0; mov.l @(0,r15),r4 -# define LOAD_ARGS_2 LOAD_ARGS_1; mov.l @(4,r15),r5 -# define LOAD_ARGS_3 LOAD_ARGS_2; mov.l @(8,r15),r6 -# define LOAD_ARGS_4 LOAD_ARGS_3; mov.l @(12,r15),r7 +# define LOAD_ARGS_1 LOAD_ARGS_0; mov.l @(0,r15),r4; cfi_restore (r4) +# define LOAD_ARGS_2 LOAD_ARGS_1; mov.l @(4,r15),r5; cfi_restore (r5) +# define LOAD_ARGS_3 LOAD_ARGS_2; mov.l @(8,r15),r6; cfi_restore (r6) +# define LOAD_ARGS_4 LOAD_ARGS_3; mov.l @(12,r15),r7; cfi_restore (r7) # define LOAD_ARGS_5 LOAD_ARGS_4 # define LOAD_ARGS_6 LOAD_ARGS_5 |