|
@@ -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
|
|
|
|
|
|
+@@ -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
|