Browse Source

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 <ps.m@gmx.net>
Peter S. Mazinger 13 years ago
parent
commit
5e22e71adf

+ 1 - 3
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)):

+ 4 - 1
include/signal.h

@@ -392,14 +392,17 @@ extern int siginterrupt (int __sig, int __interrupt) __THROW;
 # include <bits/sigstack.h>
 # ifdef __USE_XOPEN
 /* This will define `ucontext_t' and `mcontext_t'.  */
-#  include <ucontext.h>
+/* SuSv4 obsoleted include/ucontext.h */
+#  include <sys/ucontext.h>
 # 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'.  */

+ 2 - 0
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.'.  */

+ 2 - 0
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.'.  */

+ 2 - 0
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.'.  */

+ 2 - 0
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.'.  */

+ 2 - 0
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.'.  */

+ 0 - 1
libpthread/linuxthreads.old/signals.c

@@ -20,7 +20,6 @@
 #include "pthread.h"
 #include "internals.h"
 #include "spinlock.h"
-#include <ucontext.h>
 #include <bits/sigcontextinfo.h>
 
 /* mods for uClibc: __libc_sigaction is not in any standard headers */

+ 0 - 1
libpthread/linuxthreads/signals.c

@@ -19,7 +19,6 @@
 #include "pthread.h"
 #include "internals.h"
 #include "spinlock.h"
-#include <ucontext.h>
 
 /* mods for uClibc: __libc_sigaction is not in any standard headers */
 extern __typeof(sigaction) __libc_sigaction;