diff options
author | Carmelo Amoroso <carmelo.amoroso@st.com> | 2009-06-15 09:14:50 +0200 |
---|---|---|
committer | Carmelo Amoroso <carmelo.amoroso@st.com> | 2009-07-02 09:32:34 +0200 |
commit | cf92e58afe3f38a349491fe5675336c2c0212dad (patch) | |
tree | dd8a02e3d741ebae025656c19bb8e31e9cb898f6 /libc/sysdeps/linux/sh/cacheflush.c | |
parent | c5d3c1a6d2d77ff57872147731463c3ff728062a (diff) | |
download | uClibc-alpine-cf92e58afe3f38a349491fe5675336c2c0212dad.tar.bz2 uClibc-alpine-cf92e58afe3f38a349491fe5675336c2c0212dad.tar.xz |
sh_nptl: Fix pthread_barrier_wait epilog to properly restore r9
In the pthread_barrier_wait function's epilog implementation do not
use the macro ret (that is defined as rts; nop) to correctly execute
in the delay slot the instruction "mov.l @r15+, r9" that will
restore the r9 register to the previous value saved on the stack and
as side effect will restore the stack pointer register back to the correct value.
Same fix is applied to __lll_mutex_lock_wait, even if in the delay slot
we have actually a nop, so using the macro would be safe here.
Signed-off-by: Christian Bruel <christian.bruel@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libc/sysdeps/linux/sh/cacheflush.c')
0 files changed, 0 insertions, 0 deletions