diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2014-08-29 08:17:41 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2014-08-29 08:17:41 +0200 |
commit | b8b8b20263dcab19e0052469db2aa3924ea3592d (patch) | |
tree | 2a66bd7ed70acf0ccda50eaf2801f853cb1a8353 /toolchain/uclibc/patches/0.9.34-git/0003-test-once3.patch | |
parent | 94d653c29957dcc7c1844deab317a6eec75138d5 (diff) |
tst-once3 fix from the mailinglist
Diffstat (limited to 'toolchain/uclibc/patches/0.9.34-git/0003-test-once3.patch')
-rw-r--r-- | toolchain/uclibc/patches/0.9.34-git/0003-test-once3.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/toolchain/uclibc/patches/0.9.34-git/0003-test-once3.patch b/toolchain/uclibc/patches/0.9.34-git/0003-test-once3.patch new file mode 100644 index 000000000..2e4b5cd80 --- /dev/null +++ b/toolchain/uclibc/patches/0.9.34-git/0003-test-once3.patch @@ -0,0 +1,32 @@ +I use uclibc in arch arm. The CFLAGS-pthread_once.c has been set +to -DNOT_IN_libc -DIS_IN_libpthread in +libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch. +But it will be replaced by -fexceptions -fasynchronous-unwind-tables in +libpthread/nptl/Makefile.in. + +If CFLAGS-pthread_once.c has no -DIS_IN_libpthread the testcase +tst-once3 in test/nptl/ will be failed. The reason is pthread_once +calls another pthread_cleanup_push() which is not under IS_IN_libpthread +so that clear_once_control do not be called when the thread is canceled. +So pthread_once will hang up when it's called second time. + +Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> +--- + libpthread/nptl/Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in +index 0008822..1b9ba8c 100644 +--- a/libpthread/nptl/Makefile.in ++++ b/libpthread/nptl/Makefile.in +@@ -186,7 +186,7 @@ CFLAGS-forward.c = -fexceptions + CFLAGS-pthread_testcancel.c = -fexceptions + CFLAGS-pthread_join.c = -fexceptions -fasynchronous-unwind-tables + CFLAGS-pthread_timedjoin.c = -fexceptions -fasynchronous-unwind-tables +-CFLAGS-pthread_once.c = $(uses-callbacks) -fexceptions \ ++CFLAGS-pthread_once.c += $(uses-callbacks) -fexceptions \ + -fasynchronous-unwind-tables + CFLAGS-pthread_cond_wait.c = -fexceptions -fasynchronous-unwind-tables + CFLAGS-pthread_cond_timedwait.c = -fexceptions -fasynchronous-unwind-tables +-- +1.8.0 |