Linux v4.11: signal stuff moved to sched/signal.h 73/12573/2
authorMark Vitale <mvitale@sinenomine.net>
Thu, 23 Mar 2017 22:10:03 +0000 (15:10 -0700)
committerBenjamin Kaduk <kaduk@mit.edu>
Wed, 5 Apr 2017 14:17:38 +0000 (10:17 -0400)
In Linux commit c3edc4010e9d102eb7b8f17d15c2ebc425fed63c, signal_struct
and other signal handling declarations were moved from sched.h to
sched/signal.h.

This breaks existing OpenAFS autoconf tests for recalc_sigpending() and
task_struct.signal->rlim, so that the OpenAFS kernel module can no
longer build.

Modify OpenAFS autoconfig tests to cope.

Change-Id: Ic9f174b92704eabcbd374feffe5fbeb92c8987ce
Reviewed-on: https://gerrit.openafs.org/12573
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Joe Gorse <jhgorse@gmail.com>
Tested-by: Joe Gorse <jhgorse@gmail.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>

acinclude.m4
src/afs/sysincludes.h
src/cf/linux-test4.m4

index 3d6d8b5..26bae1e 100644 (file)
@@ -937,6 +937,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                 AC_CHECK_LINUX_HEADER([key-type.h])
                 AC_CHECK_LINUX_HEADER([semaphore.h])
                 AC_CHECK_LINUX_HEADER([seq_file.h])
+                AC_CHECK_LINUX_HEADER([sched/signal.h])
 
                 dnl Type existence checks
                 AC_CHECK_LINUX_TYPE([struct vfs_path], [dcache.h])
index 11bd482..d0e58a7 100644 (file)
@@ -152,6 +152,9 @@ struct xfs_inode_info {
 # include <linux/fs.h>
 # include <linux/quota.h>
 # include <linux/sched.h>
+# if defined(HAVE_LINUX_SCHED_SIGNAL_H)
+#  include <linux/sched/signal.h>
+# endif
 # include <linux/mm.h>
 # include <linux/slab.h>
 # include <linux/proc_fs.h>
index a93b51b..ed759e1 100644 (file)
@@ -114,7 +114,10 @@ AC_DEFUN([LINUX_EXPORTS_SYS_OPEN], [
 AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE], [
   AC_CHECK_LINUX_BUILD([for recalc_sigpending arg type],
                       [ac_cv_linux_func_recalc_sigpending_takes_void],
-                      [#include <linux/sched.h>],
+[#include <linux/sched.h>
+#ifdef HAVE_LINUX_SCHED_SIGNAL_H
+#include <linux/sched/signal.h>
+#endif],
                       [recalc_sigpending();],
                       [RECALC_SIGPENDING_TAKES_VOID],
                       [define if your recalc_sigpending takes void],
@@ -125,7 +128,10 @@ AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE], [
 AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM], [
   AC_CHECK_LINUX_BUILD([for signal->rlim in struct task_struct],
                       [ac_cv_linux_sched_struct_task_struct_has_signal_rlim],
-                      [#include <linux/sched.h>],
+[#include <linux/sched.h>
+#ifdef HAVE_LINUX_SCHED_SIGNAL_H
+#include <linux/sched/signal.h>
+#endif],
                       [struct task_struct _tsk; printk("%d\n", _tsk.signal->rlim);],
                       [STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM],
                       [define if your struct task_struct has signal->rlim],