changeset 2333:7a5e921345c8

RH613824: Workaround unforeseen complications in generating a dwarf location expression for variable * constant. 2010-07-28 Mark Wielaard <mjw@redhat.com> Generating a dwarf location expression for variable * "constant" as used in this probe argument triggers unforseen complications. See https://bugzilla.redhat.com/show_bug.cgi?id=613824 Workaround for now by passing the size without HeapWordSize adjustment. See also the hotspot.object_alloc in tapset/hotspot.stp[.in]. * Makefile.am: Add patch. * NEWS: Updated. * patches/systemtap-alloc-size-workaround.patch: New patch to remove HeapWordSize adjustment. * tapset/hotspot.stp.in: Add adjustment here.
author Andrew John Hughes <ahughes@redhat.com>
date Thu, 29 Jul 2010 02:53:52 +0100
parents 04f7967fcf44
children 13b9a6c00673
files ChangeLog Makefile.am NEWS tapset/hotspot.stp.in
diffstat 4 files changed, 17 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Jul 29 02:19:24 2010 +0100
+++ b/ChangeLog	Thu Jul 29 02:53:52 2010 +0100
@@ -1,3 +1,16 @@
+2010-07-28  Mark Wielaard  <mjw@redhat.com>
+
+	Generating a dwarf location expression for variable * "constant" as used
+	in this probe argument triggers unforseen complications. See
+	https://bugzilla.redhat.com/show_bug.cgi?id=613824
+	Workaround for now by passing the size without HeapWordSize adjustment.
+	See also the hotspot.object_alloc in tapset/hotspot.stp[.in].
+	* Makefile.am: Add patch.
+	* NEWS: Updated.
+	* patches/systemtap-alloc-size-workaround.patch:
+	New patch to remove HeapWordSize adjustment.
+	* tapset/hotspot.stp.in: Add adjustment here.
+
 2010-07-29  Andrew John Hughes  <ahughes@redhat.com>
 
 	* NEWS: Final formatting cleanup.
--- a/Makefile.am	Thu Jul 29 02:19:24 2010 +0100
+++ b/Makefile.am	Thu Jul 29 02:53:52 2010 +0100
@@ -384,7 +384,8 @@
 
 if ENABLE_SYSTEMTAP
 ICEDTEA_PATCHES += patches/icedtea-systemtap.patch \
-	patches/systemtap-gcc-4.5.patch
+	patches/systemtap-gcc-4.5.patch \
+	patches/systemtap-alloc-size-workaround.patch
 endif
 
 if ENABLE_PLUGIN
--- a/NEWS	Thu Jul 29 02:19:24 2010 +0100
+++ b/NEWS	Thu Jul 29 02:53:52 2010 +0100
@@ -42,6 +42,7 @@
   - Removed the old plugin, replaced by the NPPlugin.
   - PR476: Enable building SystemTap support on GCC 4.5.
   - Fix hotspot tapset object_alloc size variable.
+  - Workaround RH613824: Missing and wrong hotspot.* probepoint arguments
 * Zero/Shark
   - Formatting changes and other fixes to match upstream
   - PR428: Shark on ARM precompiled header incls
--- a/tapset/hotspot.stp.in	Thu Jul 29 02:19:24 2010 +0100
+++ b/tapset/hotspot.stp.in	Thu Jul 29 02:53:52 2010 +0100
@@ -120,7 +120,7 @@
   name = "object_alloc";
   thread_id = $arg1;
   class = user_string_n($arg2, $arg3);
-  size = $arg4;
+  size = $arg4 * $HeapWordSize; // Note - systemtap-alloc-size-workaround.patch
   probestr = sprintf("%s(thread_id=%d,class='%s',size=0x%x)",
                      name, thread_id, class, size);
 }