From 099b65127dd434846ca75d5fb11c2db303ed77a6 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Sat, 26 Feb 2011 19:23:10 +0100 Subject: avoid warnings on _STACK_GROWS_* usage Signed-off-by: Peter S. Mazinger --- libpthread/linuxthreads/cancel.c | 2 +- libpthread/linuxthreads/manager.c | 10 +++++----- libpthread/linuxthreads/ptcleanup.c | 4 ++-- libpthread/linuxthreads/pthread.c | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) (limited to 'libpthread/linuxthreads') diff --git a/libpthread/linuxthreads/cancel.c b/libpthread/linuxthreads/cancel.c index 34356801a..43f04457b 100644 --- a/libpthread/linuxthreads/cancel.c +++ b/libpthread/linuxthreads/cancel.c @@ -23,7 +23,7 @@ #ifdef _STACK_GROWS_DOWN # define FRAME_LEFT(frame, other) ((char *) frame >= (char *) other) -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP # define FRAME_LEFT(frame, other) ((char *) frame <= (char *) other) #else # error "Define either _STACK_GROWS_DOWN or _STACK_GROWS_UP" diff --git a/libpthread/linuxthreads/manager.c b/libpthread/linuxthreads/manager.c index 4293741ac..1dd626e23 100644 --- a/libpthread/linuxthreads/manager.c +++ b/libpthread/linuxthreads/manager.c @@ -445,7 +445,7 @@ static int pthread_allocate_stack(const pthread_attr_t *attr, new_thread = ((pthread_descr) (new_thread_bottom + stacksize + guardsize)) - 1; # endif -# elif _STACK_GROWS_DOWN +# elif defined _STACK_GROWS_DOWN guardaddr = map_addr; if (guardsize > 0) mprotect (guardaddr, guardsize, PROT_NONE); @@ -456,7 +456,7 @@ static int pthread_allocate_stack(const pthread_attr_t *attr, # else new_thread = ((pthread_descr) (new_thread_bottom + stacksize)) - 1; # endif -# elif _STACK_GROWS_UP +# elif defined _STACK_GROWS_UP guardaddr = map_addr + stacksize; if (guardsize > 0) mprotect (guardaddr, guardsize, PROT_NONE); @@ -744,7 +744,7 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, (char *)stack_addr - new_thread_bottom, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | __pthread_sig_cancel, new_thread); -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP pid = __clone(pthread_start_thread_event, (void *) new_thread_bottom, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | __pthread_sig_cancel, new_thread); @@ -785,7 +785,7 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, (char *)stack_addr - new_thread_bottom, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | __pthread_sig_cancel, new_thread); -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP pid = __clone(pthread_start_thread, (void *) new_thread_bottom, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM | __pthread_sig_cancel, new_thread); @@ -806,7 +806,7 @@ static int pthread_handle_create(pthread_t *thread, const pthread_attr_t *attr, - new_thread_bottom); munmap((caddr_t)new_thread_bottom, 2 * stacksize + new_thread->p_guardsize); -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP # ifdef USE_TLS size_t stacksize = guardaddr - stack_addr; munmap(stack_addr, stacksize + guardsize); diff --git a/libpthread/linuxthreads/ptcleanup.c b/libpthread/linuxthreads/ptcleanup.c index 6213b56f3..75bb7d599 100644 --- a/libpthread/linuxthreads/ptcleanup.c +++ b/libpthread/linuxthreads/ptcleanup.c @@ -49,13 +49,13 @@ void __pthread_cleanup_upto (__jmp_buf target, char *targetframe) c != NULL && __JMPBUF_UNWINDS(target, c, demangle_ptr); c = c->__prev) { -#if _STACK_GROWS_DOWN +#ifdef _STACK_GROWS_DOWN if ((char *) c <= targetframe) { c = NULL; break; } -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP if ((char *) c >= targetframe) { c = NULL; diff --git a/libpthread/linuxthreads/pthread.c b/libpthread/linuxthreads/pthread.c index db436342f..c3e28c6ac 100644 --- a/libpthread/linuxthreads/pthread.c +++ b/libpthread/linuxthreads/pthread.c @@ -750,7 +750,7 @@ int __pthread_initialize_manager(void) THREAD_MANAGER_STACK_SIZE, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, mgr); -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP pid = __clone(__pthread_manager_event, (void **) __pthread_manager_thread_bos, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, @@ -789,7 +789,7 @@ int __pthread_initialize_manager(void) pid = __clone2(__pthread_manager, (void **) __pthread_manager_thread_bos, THREAD_MANAGER_STACK_SIZE, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, mgr); -#elif _STACK_GROWS_UP +#elif defined _STACK_GROWS_UP pid = __clone(__pthread_manager, (void **) __pthread_manager_thread_bos, CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_SYSVSEM, mgr); #else -- cgit v1.2.3 From 5e22e71adfef5ad46119cea98fccf4ae998ad0d8 Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Wed, 2 Mar 2011 21:59:58 +0100 Subject: remove ucontext.h and guard sigstack structure with SUSV4_LEGACY and STRICT_HEADERS Remove ucontext.h if SUSV4_LEGACY is not set and fix it's references. Guard sigstack structure with SUSV4_LEGACY and STRICT_HEADERS. Disable sigstack function prototype, it is not provided by uClibc. Signed-off-by: Peter S. Mazinger --- Makefile.in | 4 +--- include/signal.h | 5 ++++- libc/sysdeps/linux/alpha/bits/sigstack.h | 2 ++ libc/sysdeps/linux/common/bits/sigstack.h | 2 ++ libc/sysdeps/linux/ia64/bits/sigstack.h | 2 ++ libc/sysdeps/linux/mips/bits/sigstack.h | 2 ++ libc/sysdeps/linux/sparc/bits/sigstack.h | 2 ++ libpthread/linuxthreads.old/signals.c | 1 - libpthread/linuxthreads/signals.c | 1 - 9 files changed, 15 insertions(+), 6 deletions(-) (limited to 'libpthread/linuxthreads') diff --git a/Makefile.in b/Makefile.in index 6cb20342f..4d232b47c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -276,9 +276,7 @@ HEADERS_RM-$(UCLIBC_LINUX_SPECIFIC) += sys/fsuid.h sys/inotify.h sys/pe HEADERS_RM-$(UCLIBC_SUPPORT_AI_ADDRCONFIG) += ifaddrs.h HEADERS_RM-$(UCLIBC_SV4_DEPRECATED) += ustat.h sys/ustat.h bits/ustat.h HEADERS_RM-$(UCLIBC_SUSV3_LEGACY) += sys/timeb.h regexp.h -HEADERS_RM-$(UCLIBC_SUSV4_LEGACY) += utime.h - # BREAKAGE: include/signal.h uses it, this rm broke bbox compile: - ### ucontext.h +HEADERS_RM-$(UCLIBC_SUSV4_LEGACY) += utime.h ucontext.h ifneq ($(findstring install,$(MAKECMDGOALS)),) $(addprefix $(PREFIX)$(DEVEL_PREFIX),/include $(MULTILIB_DIR)): diff --git a/include/signal.h b/include/signal.h index 80e4edee0..37ed29780 100644 --- a/include/signal.h +++ b/include/signal.h @@ -392,14 +392,17 @@ extern int siginterrupt (int __sig, int __interrupt) __THROW; # include # ifdef __USE_XOPEN /* This will define `ucontext_t' and `mcontext_t'. */ -# include +/* SuSv4 obsoleted include/ucontext.h */ +# include # endif +# if 0 /* Run signals handlers on the stack specified by SS (if not NULL). If OSS is not NULL, it is filled in with the old signal stack status. This interface is obsolete and on many platform not implemented. */ extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __THROW __attribute_deprecated__; +# endif /* Alternate signal handler stack interface. This interface should always be preferred over `sigstack'. */ diff --git a/libc/sysdeps/linux/alpha/bits/sigstack.h b/libc/sysdeps/linux/alpha/bits/sigstack.h index 7faaf98d5..e9fbc6d6f 100644 --- a/libc/sysdeps/linux/alpha/bits/sigstack.h +++ b/libc/sysdeps/linux/alpha/bits/sigstack.h @@ -22,12 +22,14 @@ #endif +#if defined __UCLIBC_SUSV4_LEGACY__ || !defined __UCLIBC_STRICT_HEADERS__ /* Structure describing a signal stack (obsolete). */ struct sigstack { __ptr_t ss_sp; /* Signal stack pointer. */ int ss_onstack; /* Nonzero if executing on this stack. */ }; +#endif /* Possible values for `ss_flags.'. */ diff --git a/libc/sysdeps/linux/common/bits/sigstack.h b/libc/sysdeps/linux/common/bits/sigstack.h index 7f260367b..2b3b321bd 100644 --- a/libc/sysdeps/linux/common/bits/sigstack.h +++ b/libc/sysdeps/linux/common/bits/sigstack.h @@ -22,12 +22,14 @@ #endif +#if defined __UCLIBC_SUSV4_LEGACY__ || !defined __UCLIBC_STRICT_HEADERS__ /* Structure describing a signal stack (obsolete). */ struct sigstack { void *ss_sp; /* Signal stack pointer. */ int ss_onstack; /* Nonzero if executing on this stack. */ }; +#endif /* Possible values for `ss_flags.'. */ diff --git a/libc/sysdeps/linux/ia64/bits/sigstack.h b/libc/sysdeps/linux/ia64/bits/sigstack.h index c9c9d2fed..ea27a77bc 100644 --- a/libc/sysdeps/linux/ia64/bits/sigstack.h +++ b/libc/sysdeps/linux/ia64/bits/sigstack.h @@ -24,12 +24,14 @@ #ifndef _SIGSTACK_H #define _SIGSTACK_H 1 +#if defined __UCLIBC_SUSV4_LEGACY__ || !defined __UCLIBC_STRICT_HEADERS__ /* Structure describing a signal stack (obsolete). */ struct sigstack { __ptr_t ss_sp; /* Signal stack pointer. */ int ss_onstack; /* Nonzero if executing on this stack. */ }; +#endif /* Possible values for `ss_flags.'. */ diff --git a/libc/sysdeps/linux/mips/bits/sigstack.h b/libc/sysdeps/linux/mips/bits/sigstack.h index d2c855220..64643d1c5 100644 --- a/libc/sysdeps/linux/mips/bits/sigstack.h +++ b/libc/sysdeps/linux/mips/bits/sigstack.h @@ -22,12 +22,14 @@ #endif +#if defined __UCLIBC_SUSV4_LEGACY__ || !defined __UCLIBC_STRICT_HEADERS__ /* Structure describing a signal stack (obsolete). */ struct sigstack { void *ss_sp; /* Signal stack pointer. */ int ss_onstack; /* Nonzero if executing on this stack. */ }; +#endif /* Possible values for `ss_flags.'. */ diff --git a/libc/sysdeps/linux/sparc/bits/sigstack.h b/libc/sysdeps/linux/sparc/bits/sigstack.h index df4653949..432ec83b7 100644 --- a/libc/sysdeps/linux/sparc/bits/sigstack.h +++ b/libc/sysdeps/linux/sparc/bits/sigstack.h @@ -22,12 +22,14 @@ #endif +#if defined __UCLIBC_SUSV4_LEGACY__ || !defined __STRICT_HEADERS__ /* Structure describing a signal stack (obsolete). */ struct sigstack { void *ss_sp; /* Signal stack pointer. */ int ss_onstack; /* Nonzero if executing on this stack. */ }; +#endif /* Possible values for `ss_flags.'. */ diff --git a/libpthread/linuxthreads.old/signals.c b/libpthread/linuxthreads.old/signals.c index 2a451f3d2..23d838eb8 100644 --- a/libpthread/linuxthreads.old/signals.c +++ b/libpthread/linuxthreads.old/signals.c @@ -20,7 +20,6 @@ #include "pthread.h" #include "internals.h" #include "spinlock.h" -#include #include /* mods for uClibc: __libc_sigaction is not in any standard headers */ diff --git a/libpthread/linuxthreads/signals.c b/libpthread/linuxthreads/signals.c index 02bf1c64b..c08125579 100644 --- a/libpthread/linuxthreads/signals.c +++ b/libpthread/linuxthreads/signals.c @@ -19,7 +19,6 @@ #include "pthread.h" #include "internals.h" #include "spinlock.h" -#include /* mods for uClibc: __libc_sigaction is not in any standard headers */ extern __typeof(sigaction) __libc_sigaction; -- cgit v1.2.3