oprofile/oprofile-compressed-kernel.patch
Tony Jones 30510b72e2 Accepting request 145122 from home:jones_tony:branches:devel:tools
- Update to version 0.9.8.   
- Support for pre-2.6 kernels has been removed
- The sample data format has changed (see bug #3309794 below for details)
- A new 'operf' program is now available that allows non-root users to profile
  single processes. 'operf' can also be used for system-wide profiling, but
  root authority is required.  This capability requires a kernel version of
  2.6.31 or greater.
- New Processors Support:
  Tilera (tile64 tilepro tile-gx)
  IBM (System z10 z196)
  Intel Ivy Bridge
  ARMv7 (Cortex-A5 Cortex-A15 Cortex-A7)
- Numerous bugfixes

OBS-URL: https://build.opensuse.org/request/show/145122
OBS-URL: https://build.opensuse.org/package/show/devel:tools/oprofile?expand=0&rev=25
2012-12-11 19:01:54 +00:00

34 lines
1.1 KiB
Diff

From: Tony Jones
Subject: all compressed kernel when determining range
Upstream: no
Extracted from 0.9.7 patch 'oprofile-0.9.5-buildfixes.diff'.
This needs further investigation as purpose is unclear, since compressed image
isn't supported by underlying sampling code.
--- a/utils/opcontrol
+++ b/utils/opcontrol
@@ -482,10 +482,19 @@ get_image_range()
exit 1
fi
+ kernel_file=$FILE_IMAGE
+ case $(file -L $kernel_file) in
+ *"gzip compressed"*)
+ kernel_file=$(mktemp /tmp/opcXXXXXX) || exit 1
+ trap "rm -f $kernel_file" EXIT
+ gzip -cd $FILE_IMAGE > $kernel_file
+ ;;
+ esac
+
# start at the start of .text, and end at _etext
- range_info=`objdump -h $FILE_IMAGE 2>/dev/null | grep " .text "`
+ range_info=`objdump -h $kernel_file 2>/dev/null | grep " .text "`
tmp1=`echo $range_info | awk '{print $4}'`
- tmp2=`objdump -t $FILE_IMAGE 2>/dev/null | grep "_etext$" | awk '{ print $1 }'`
+ tmp2=`objdump -t $kernel_file 2>/dev/null | grep "_etext$" | awk '{ print $1 }'`
if test -z "$tmp1" -o -z "$tmp2"; then
echo "The specified file $FILE_IMAGE does not seem to be valid" >&2