summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@elastic.org>2008-10-28 20:52:20 -0400
committerFrank Ch. Eigler <fche@elastic.org>2008-10-28 20:52:44 -0400
commit68c7faf0003d46ccb2c68a1d777b5634984cd6ff (patch)
tree3174baafa90f73e5599e1c3b1a678145aa2abd23
parentc2cbba85da83f539eed0649b10d300bd580a7d95 (diff)
downloadsystemtap-steved-68c7faf0003d46ccb2c68a1d777b5634984cd6ff.tar.gz
systemtap-steved-68c7faf0003d46ccb2c68a1d777b5634984cd6ff.tar.xz
systemtap-steved-68c7faf0003d46ccb2c68a1d777b5634984cd6ff.zip
PR6967: fix s390x compilation error re on_each_cpu
-rw-r--r--runtime/ChangeLog6
-rw-r--r--runtime/autoconf-oneachcpu-retry.c20
2 files changed, 24 insertions, 2 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog
index 62ecbec6..a59af1b7 100644
--- a/runtime/ChangeLog
+++ b/runtime/ChangeLog
@@ -1,3 +1,9 @@
+2008-10-28 Frank Ch. Eigler <fche@elastic.org>
+
+ From Jim Keniston:
+ * autoconf-oneachcpu-retry.c: Tweak #include's for broader
+ compatibility.
+
2008-10-24 Josh Stone <joshua.i.stone@intel.com>
* autoconf-hrtimer-getset-expires.c: New file.
diff --git a/runtime/autoconf-oneachcpu-retry.c b/runtime/autoconf-oneachcpu-retry.c
index d4745a48..3564eb2c 100644
--- a/runtime/autoconf-oneachcpu-retry.c
+++ b/runtime/autoconf-oneachcpu-retry.c
@@ -1,5 +1,21 @@
-#include <linux/stddef.h>
-#include <linux/irqflags.h>
+/*
+ * PRs 6923 and 6967:
+ * #include <linux/smp.h> should be sufficient, but there are some
+ * problems with #include hygiene in this area:
+ * i386, recent kernels: linux/smp.h needs linux/irqflags.h.
+ * s390, RHEL5.2: linux/irqflags.h needs asm/system.h (and
+ * linux/kernel.h, which asm/system.h includes).
+ *
+ * #include <linux/kernel.h> is probably redundant here, since
+ * everybody's <asm/system.h> seems to include it, but nobody
+ * seems to #include <asm/system.h> without <linux/kernel.h> first.
+ *
+ * <asm/system.h> includes <linux/irqflags.h> on most architectures,
+ * so we don't explicitly include it here. The exception is ia64,
+ * but <linux/smp.h> alone seemed to be sufficient for ia64 here.
+ */
+#include <linux/kernel.h>
+#include <asm/system.h>
#include <linux/smp.h>
static void no_op(void *arg)