diff --git a/systemtap-0.6.1-gcc43.diff b/systemtap-0.6.1-gcc43.diff new file mode 100644 index 0000000..9691391 --- /dev/null +++ b/systemtap-0.6.1-gcc43.diff @@ -0,0 +1,71 @@ +diff -up systemtap-0.6.1/staptree.cxx.orig systemtap-0.6.1/staptree.cxx +--- systemtap-0.6.1/staptree.cxx.orig 2008-01-17 21:53:20.000000000 -0500 ++++ systemtap-0.6.1/staptree.cxx 2008-02-12 11:16:00.000000000 -0500 +@@ -2370,3 +2370,30 @@ deep_copy_visitor::deep_copy (expression + require (&v, &n, s); + return n; + } ++ ++template <> void ++require (deep_copy_visitor* v, indexable** dst, indexable* src) ++{ ++ if (src != NULL) ++ { ++ symbol *array_src=NULL, *array_dst=NULL; ++ hist_op *hist_src=NULL, *hist_dst=NULL; ++ ++ classify_indexable(src, array_src, hist_src); ++ ++ *dst = NULL; ++ ++ if (array_src) ++ { ++ require (v, &array_dst, array_src); ++ *dst = array_dst; ++ } ++ else ++ { ++ require (v, &hist_dst, hist_src); ++ *dst = hist_dst; ++ } ++ assert (*dst); ++ } ++} ++ +diff -up systemtap-0.6.1/staptree.h.orig systemtap-0.6.1/staptree.h +--- systemtap-0.6.1/staptree.h.orig 2008-01-17 21:53:20.000000000 -0500 ++++ systemtap-0.6.1/staptree.h 2008-02-12 11:16:00.000000000 -0500 +@@ -846,31 +846,8 @@ require (deep_copy_visitor* v, T* dst, T + } + } + +-template <> static void +-require (deep_copy_visitor* v, indexable** dst, indexable* src) +-{ +- if (src != NULL) +- { +- symbol *array_src=NULL, *array_dst=NULL; +- hist_op *hist_src=NULL, *hist_dst=NULL; +- +- classify_indexable(src, array_src, hist_src); +- +- *dst = NULL; +- +- if (array_src) +- { +- require (v, &array_dst, array_src); +- *dst = array_dst; +- } +- else +- { +- require (v, &hist_dst, hist_src); +- *dst = hist_dst; +- } +- assert (*dst); +- } +-} ++template <> void ++require (deep_copy_visitor* v, indexable** dst, indexable* src); + + template void + provide (deep_copy_visitor* v, T src) diff --git a/systemtap.spec b/systemtap.spec index 304fba1..1c59f86 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -1,5 +1,5 @@ # Release number for rpm build. Stays at 1 for new PACKAGE_VERSION increases. -%define release 3 +%define release 4 # Version number of oldest elfutils release that works with systemtap. %define elfutils_version 0.131 @@ -45,6 +45,7 @@ Group: Development/System License: GPLv2+ URL: http://sourceware.org/systemtap/ Source: ftp://sourceware.org/pub/%{name}/releases/%{name}-%{version}.tar.gz +Patch100: systemtap-0.6.1-gcc43.diff BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -102,6 +103,7 @@ without having to rebuild from sources. %prep %setup -q %{?setup_elfutils} +%patch100 -p1 %if %{bundled_elfutils} cd elfutils-%{elfutils_version} @@ -203,6 +205,9 @@ exit 0 %changelog +* Tue Feb 12 2008 Will Cohen - 0.6.1-4 +- Add patch for gcc 4.3. + * Fri Feb 1 2008 Frank Ch. Eigler - 0.6.1-3 - Add zlib-devel dependency which is supposed to come from crash-devel.