From 7b1c4fa9bd8df64c8002ea4e613c8952bdfefbdd Mon Sep 17 00:00:00 2001 From: "han_mao@c-sky.com" Date: Thu, 13 Dec 2018 09:37:12 +0800 Subject: several patches for uclibc ng I've got several patches to fix ltp/openmp/uclibc-ng-test testcase fail on c-sky. - fix a ltp testcase. - fix the problem that pthread creat will fail when libomp is linked before libc, the variable pagesize is not init. - fix tst-cancel4 and tst-cancel16. tst-cancelx4 and tst-cancelx16 still fail with this patch applied, cleanup handler is not called for open/creat/fcntl, seems some thing wrong with unwind, I haven't check the rootcause yet. --- libpthread/nptl/Makefile.in | 3 +++ libpthread/nptl/init.c | 5 +++++ 2 files changed, 8 insertions(+) (limited to 'libpthread') diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in index bd220ba8f..52381b8c6 100644 --- a/libpthread/nptl/Makefile.in +++ b/libpthread/nptl/Makefile.in @@ -146,15 +146,18 @@ CFLAGS-clock_nanosleep.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-close.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-connect.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-creat.c = -fexceptions -fasynchronous-unwind-tables +CFLAGS-creat64.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-fdatasync.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-fsync.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-lockf.c = -fexceptions +CFLAGS-lockf64.c = -fexceptions CFLAGS-msgrcv.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-msgsnd.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-msync.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-nanosleep.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-open64.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-open.c = -fexceptions -fasynchronous-unwind-tables +CFLAGS-openat.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-pause.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-poll.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-ppoll.c = -fexceptions -fasynchronous-unwind-tables diff --git a/libpthread/nptl/init.c b/libpthread/nptl/init.c index 74d30c739..4959d5ed8 100644 --- a/libpthread/nptl/init.c +++ b/libpthread/nptl/init.c @@ -292,7 +292,12 @@ __pthread_initialize_minimal_internal (void) /* Make sure it meets the minimum size that allocate_stack (allocatestack.c) will demand, which depends on the page size. */ + #ifdef SHARED + extern size_t GLRO(dl_pagesize); + const uintptr_t pagesz = GLRO(dl_pagesize); + #else const uintptr_t pagesz = sysconf (_SC_PAGESIZE); + #endif const size_t minstack = pagesz + __static_tls_size + MINIMAL_REST_STACK; if (limit.rlim_cur < minstack) limit.rlim_cur = minstack; -- cgit v1.2.3