This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! On Mon, 28 May 2012 00:26:46 +0200, I wrote: > On Thu, 17 May 2012 18:33:08 +0800, Chung-Lin Tang <cltang@codesourcery.com> wrote: > diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S > index e3aaeee..7a192a9 100644 > --- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S > +++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S > @@ -263,6 +263,7 @@ __lll_robust_timedlock_wait: > cfi_restore (r8) > cfi_restore (r9) > cfi_restore (r10) > + cfi_restore (r11) > cfi_def_cfa_offset (0) > rts > mov #EINVAL, r0 > > Should be obvious. > > But, in this case, wouldn't it be simpler to use a nested > Â.cfi_remember_state [...] .cfi_remember_state [...] .cfi_restore_state > [...] .cfi_restore_state instead of restoring the state manually (as > quoted)? My reading of GDB's dwarf2-frame seems to confirm that this is > permissible. (No need to send a patch if you agree. I pushed the following as commit 4b2c8da708024ca9f7a6f86bdb46cb8c0d6df275: 2012-06-23 Thomas Schwinge <thomas@codesourcery.com> * sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S (__lll_robust_timedlock_wait): Simplify CFI directives. diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S index 7a192a9..d2624dd 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S +++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevelrobustlock.S @@ -139,6 +139,8 @@ __lll_robust_timedlock_wait: cmp/hs r0, r1 bt 3f + cfi_remember_state + mov.l r11, @-r15 cfi_adjust_cfa_offset(4) cfi_rel_offset (r11, 0) @@ -258,13 +260,9 @@ __lll_robust_timedlock_wait: 8: bra 6b mov #ETIMEDOUT, r0 + + cfi_restore_state 3: - /* Restore initial state for invalid timeout case. */ - cfi_restore (r8) - cfi_restore (r9) - cfi_restore (r10) - cfi_restore (r11) - cfi_def_cfa_offset (0) rts mov #EINVAL, r0 cfi_endproc > I'd also prepare a > patch to improve the binutils documentation.) Still to be done. GrÃÃe, Thomas
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |