30510b72e2
- 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
34 lines
1.1 KiB
Diff
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
|