From 9ad3c406150f81b51ddcea82c1591e008f83b0be90def676be57ed984523c79b Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Tue, 16 Dec 2008 16:49:03 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/systemtap?expand=0&rev=32 --- systemtap-2.6.28-fixes.diff | 60 +++++++++++++++++++++++++++++++++++++ systemtap.changes | 6 ++++ systemtap.spec | 8 ++++- 3 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 systemtap-2.6.28-fixes.diff diff --git a/systemtap-2.6.28-fixes.diff b/systemtap-2.6.28-fixes.diff new file mode 100644 index 0000000..c7c623b --- /dev/null +++ b/systemtap-2.6.28-fixes.diff @@ -0,0 +1,60 @@ +--- tapsets.cxx-dist 2008-12-16 12:43:34.000000000 +0100 ++++ tapsets.cxx 2008-12-16 12:46:33.000000000 +0100 +@@ -8520,6 +8520,12 @@ hrtimer_derived_probe_group::emit_module + s.op->newline(-1) << "};"; + s.op->newline(); + ++ // autoconf: add get/set expires if missing (pre 2.6.28-rc1) ++ s.op->newline() << "#ifndef STAPCONF_HRTIMER_GETSET_EXPIRES"; ++ s.op->newline() << "#define hrtimer_get_expires(timer) ((timer)->expires)"; ++ s.op->newline() << "#define hrtimer_set_expires(timer, time) (void)((timer)->expires = (time))"; ++ s.op->newline() << "#endif"; ++ + // autoconf: adapt to HRTIMER_REL -> HRTIMER_MODE_REL renaming near 2.6.21 + s.op->newline() << "#ifdef STAPCONF_HRTIMER_REL"; + s.op->newline() << "#define HRTIMER_MODE_REL HRTIMER_REL"; +@@ -8538,9 +8544,9 @@ hrtimer_derived_probe_group::emit_module + s.op->newline() << "if ((atomic_read (&session_state) == STAP_SESSION_STARTING) ||"; + s.op->newline() << " (atomic_read (&session_state) == STAP_SESSION_RUNNING)) {"; + // Compute next trigger time +- s.op->newline(1) << "timer->expires = ktime_add (timer->expires,"; ++ s.op->newline(1) << "hrtimer_set_expires(timer, ktime_add (hrtimer_get_expires(timer),"; + emit_interval (s.op); +- s.op->line() << ");"; ++ s.op->line() << "));"; + s.op->newline() << "rc = HRTIMER_RESTART;"; + s.op->newline(-1) << "}"; + s.op->newline() << "{"; +--- runtime/autoconf-hrtimer-getset-expires.c-dist 2008-12-16 13:33:46.000000000 +0100 ++++ runtime/autoconf-hrtimer-getset-expires.c 2008-12-16 13:33:59.000000000 +0100 +@@ -0,0 +1,6 @@ ++#include ++ ++void ____autoconf_func(struct hrtimer *t) ++{ ++ hrtimer_set_expires(t, hrtimer_get_expires(t)); ++} +--- runtime/runtime.h-dist 2008-12-16 12:44:39.000000000 +0100 ++++ runtime/runtime.h 2008-12-16 12:44:52.000000000 +0100 +@@ -39,6 +39,11 @@ + #define STP_OLD_TRANSPORT + #endif + ++/* HACK for 2.6.28 */ ++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,27) ++#undef for_each_cpu ++#endif ++ + #ifndef for_each_cpu + #define for_each_cpu(cpu) for_each_cpu_mask((cpu), cpu_possible_map) + #endif +--- buildrun.cxx-dist 2008-12-16 13:33:08.000000000 +0100 ++++ buildrun.cxx 2008-12-16 13:33:24.000000000 +0100 +@@ -100,6 +100,7 @@ compile_pass (systemtap_session& s) + o << module_cflags << " += -Iinclude2/asm/mach-default" << endl; + + o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-hrtimer-rel.c, -DSTAPCONF_HRTIMER_REL,)" << endl; ++ o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-hrtimer-getset-expires.c, -DSTAPCONF_HRTIMER_GETSET_EXPIRES,)" << endl; + o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-inode-private.c, -DSTAPCONF_INODE_PRIVATE,)" << endl; + o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-constant-tsc.c, -DSTAPCONF_CONSTANT_TSC,)" << endl; + o << module_cflags << " += $(call stap_check_build, $(SYSTEMTAP_RUNTIME)/autoconf-tsc-khz.c, -DSTAPCONF_TSC_KHZ,)" << endl; diff --git a/systemtap.changes b/systemtap.changes index 1e8763f..2b7511c 100644 --- a/systemtap.changes +++ b/systemtap.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Dec 16 13:50:32 CET 2008 - tiwai@suse.de + +- Fix dependency on libebl1 (bnc#448331, #445783) +- Fix stap for 2.6.28 kernels + ------------------------------------------------------------------- Fri Dec 12 16:32:35 CET 2008 - tiwai@suse.de diff --git a/systemtap.spec b/systemtap.spec index 9970cb5..cc4160a 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -25,7 +25,7 @@ BuildRequires: latex2html %define package_version 20080906 License: GPL v2 or later Version: 0.7.1 -Release: 27 +Release: 28 Summary: Instrumentation System Group: Development/Tools/Debuggers Url: http://sourceware.org/systemtap/ @@ -39,6 +39,8 @@ Patch4: systemtap-ioblock-fix.diff Patch5: systemtap-dwarf_getsrcfiles-no-assert.diff Patch6: systemtap-netcat-fix1.diff Patch7: systemtap-netcat-fix2.diff +Patch8: systemtap-2.6.28-fixes.diff +Requires: libebl1 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -65,6 +67,7 @@ Authors: %patch5 %patch6 -p1 %patch7 -p1 +%patch8 %build autoreconf -fi @@ -93,6 +96,9 @@ rm -rf ${RPM_BUILD_ROOT} %dir %attr(0755,root,root) /var/cache/systemtap %changelog +* Tue Dec 16 2008 tiwai@suse.de +- Fix dependency on libebl1 (bnc#448331, #445783) +- Fix stap for 2.6.28 kernels * Fri Dec 12 2008 tiwai@suse.de - Don't assert of dwarf_getsrcfiles(). This hits recent SUSE kernels (bnc#455992)