]> granicus.if.org Git - gc/commitdiff
Do not include sigcontext.h and asm/sigcontext.h
authorIvan Maidanski <ivmai@mail.ru>
Mon, 6 Apr 2015 17:06:47 +0000 (20:06 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 12 May 2015 21:23:14 +0000 (00:23 +0300)
(these Linux headers define sigcontext which is no longer used as
replaced with ucontext_t in GC 7.0alpha1)

* os_dep.c: Do not include linux/version.h (do not test
LINUX_VERSION_CODE), asm/signal.h, sigcontext.h, asm/sigcontext.h
since struct sigcontext not used in GC v7+.

os_dep.c

index d3f1cd8c91d6c166f6acbab2c985b9443342cbbb..a3d899759f3836a6bd9be52bc730a43f912691e2 100644 (file)
--- a/os_dep.c
+++ b/os_dep.c
 
 #include "private/gc_priv.h"
 
-#if defined(LINUX) && !defined(POWERPC) && !defined(NO_SIGCONTEXT_H)
-# include <linux/version.h>
-# if (LINUX_VERSION_CODE <= 0x10400)
-    /* Ugly hack to get struct sigcontext_struct definition.  Required  */
-    /* for some early 1.3.X releases.  Will hopefully go away soon.     */
-    /* in some later Linux releases, asm/sigcontext.h may have to       */
-    /* be included instead.                                             */
-#   define __KERNEL__
-#   include <asm/signal.h>
-#   undef __KERNEL__
-# else
-    /* Kernels prior to 2.1.1 defined struct sigcontext_struct instead of */
-    /* struct sigcontext.  libc6 (glibc2) uses "struct sigcontext" in     */
-    /* prototypes, so we have to include the top-level sigcontext.h to    */
-    /* make sure the former gets defined to be the latter if appropriate. */
-#   include <features.h>
-#   if 2 <= __GLIBC__
-#     if 2 == __GLIBC__ && 0 == __GLIBC_MINOR__
-        /* glibc 2.1 no longer has sigcontext.h.  But signal.h          */
-        /* has the right declaration for glibc 2.1.                     */
-#       include <sigcontext.h>
-#     endif /* 0 == __GLIBC_MINOR__ */
-#   else /* __GLIBC__ < 2 */
-      /* libc5 doesn't have <sigcontext.h>: go directly with the kernel   */
-      /* one.  Check LINUX_VERSION_CODE to see which we should reference. */
-#     include <asm/sigcontext.h>
-#   endif /* __GLIBC__ < 2 */
-# endif
-#endif /* LINUX && !POWERPC */
-
 #if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MACOS) \
     && !defined(MSWINCE) && !defined(__CC_ARM)
 # include <sys/types.h>