oprofile: bump to version 0.9.9
PATCH 1/1 oprofile: bump to version 0.9.9
Relese notes for 0.9.9 release are avaialble here:
http://oprofile.sourceforge.net/release-notes/oprofile-0.9.9
This release adds support for ARC architecture.
Also introduces new "ocount" program for collection of raw event counts.
With release of 0.9.9 we may drop back-ported patches:
oprofile-002-no-query-modules.patch - liblegacy was removed since 2.4 kernels are no longer supported
http://sourceforge.net/p/oprofile/oprofile/ci/fcb818623bf1a638ef4f93dca9e90f8651899bf3/
oprofile-003-oprofile-ppc32-build-fix.patch
http://sourceforge.net/p/oprofile/oprofile/ci/fa889ea74b6b931e241a8cd57e90edc23cd7ab03/
oprofile-004-fix-ppc64-specific-libpfm-usage.patch
http://sourceforge.net/p/oprofile/oprofile/ci/79a183ed0d9611955714bfa1d6edb361d6bf5c2c/
oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch
http://sourceforge.net/p/oprofile/oprofile/ci/ca6d916a6f8f0f8abbb4c9b6a97dd1a1615bb124/
But in 0.9.9 was introduced build breakage which was fixed later so adding another back-ported patch oprofile-002-Fix-compile-error-on-ppc-uClibc-platform-AT_BASE_PLA.patch
http://sourceforge.net/p/oprofile/oprofile/ci/08241f1b2c5a4d48020c82b509dc1076f51bf0bd/
--- ...-error-on-ppc-uClibc-platform-AT_BASE_PLA.patch | 78 +++++++++++ .../oprofile/oprofile-002-no-query-modules.patch | 21 --- .../oprofile-003-oprofile-ppc32-build-fix.patch | 32 ----- ...ofile-004-fix-ppc64-specific-libpfm-usage.patch | 105 -------------- ...igure-to-handle-architectures-that-do-not.patch | 154 --------------------- package/oprofile/oprofile.mk | 3 +- 6 files changed, 80 insertions(+), 313 deletions(-) create mode 100644 package/oprofile/oprofile-002-Fix-compile-error-on-ppc-uClibc-platform-AT_BASE_PLA.patch delete mode 100644 package/oprofile/oprofile-002-no-query-modules.patch delete mode 100644 package/oprofile/oprofile-003-oprofile-ppc32-build-fix.patch delete mode 100644 package/oprofile/oprofile-004-fix-ppc64-specific-libpfm-usage.patch delete mode 100644 package/oprofile/oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch
package/oprofile/oprofile-002-Fix-compile-error-on-ppc-uClibc-platform-AT_BASE_PLA.patch new file +78 -0
@@ -0,0 +1,78 @@ +Upstream-Status: Backport + +From 08241f1b2c5a4d48020c82b509dc1076f51bf0bd Mon Sep 17 00:00:00 2001 +From: Maynard Johnson <[email protected]> +Date: Wed, 14 Aug 2013 15:40:44 -0500 +Subject: [PATCH] Fix compile error on ppc/uClibc platform: 'AT_BASE_PLATFORM' + undeclared' + +This issue was reported via bug #245. + +The method for obtaining cpu type on the ppc64 platform was recently +modified to detect the case when we're running on a kernel that has +not been updated to recognize the native processor type. The cpu +type returned in the case where the native processor type is newer +than POWER7 will be "CPU_PPC64_ARCH_V1" (architected CPU type). +The method used for detecting when the kernel does not recognize the +native processor type is to inspect the aux vector and compare +AT_PLATFORM and AT_BASE_PLATFORM. The 'AT_BASE_PLATFORM' was defined +in glibc's elf.h around 5 years ago, but was never added to uClibc, +so the code that implements the above-described method fails to compile +on systems using uClibc. + +Since the above-described method of using the aux vector is only +required for ppc64 systems, and ppc64-based platforms always use glibc +(which has the AT_BASE_PLATFORM macro defined), we now wrap that code +with '#if PPC64_ARCH' to prevent problems on other architectures. + +Signed-off-by: Maynard Johnson <[email protected]> +--- + libop/op_cpu_type.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/libop/op_cpu_type.c b/libop/op_cpu_type.c +index 44d6809..89d5a92 100644 +--- a/libop/op_cpu_type.c ++++ b/libop/op_cpu_type.c +@@ -23,9 +23,16 @@ + #include <elf.h> + #include <link.h> + ++#include "config.h" + #include "op_cpu_type.h" + #include "op_hw_specific.h" + ++/* A macro to be used for ppc64 architecture-specific code. The '__powerpc__' macro ++ * is defined for both ppc64 and ppc32 architectures, so we must further qualify by ++ * including the 'HAVE_LIBPFM' macro, since that macro will be defined only for ppc64. ++ */ ++#define PPC64_ARCH (HAVE_LIBPFM) && ((defined(__powerpc__) || defined(__powerpc64__))) ++ + struct cpu_descr { + char const * pretty; + char const * name; +@@ -176,6 +183,7 @@ static char * _get_cpuinfo_cpu_type(char * buf, int len, const char * prefix) + return _get_cpuinfo_cpu_type_line(buf, len, prefix, 1); + } + ++#if PPC64_ARCH + // The aux vector stuff below is currently only used by ppc64 arch + static ElfW(auxv_t) * auxv_buf = NULL; + +@@ -312,6 +320,13 @@ static op_cpu _get_ppc64_cpu_type(void) + cpu_type = op_get_cpu_number(cpu_type_str); + return cpu_type; + } ++#else ++static op_cpu _get_ppc64_cpu_type(void) ++{ ++ return CPU_NO_GOOD; ++} ++#endif ++ + + static op_cpu _get_arm_cpu_type(void) + { +-- +1.9.0 +
package/oprofile/oprofile-002-no-query-modules.patch deleted +0 -21
@@ -1,21 +0,0 @@ -diff -urN oprofile-0.9.4-0rig//daemon/liblegacy/opd_kernel.c oprofile-0.9.4/daemon/liblegacy/opd_kernel.c ---- oprofile-0.9.4-0rig//daemon/liblegacy/opd_kernel.c 2005-05-04 04:47:03.000000000 +0200 -+++ oprofile-0.9.4/daemon/liblegacy/opd_kernel.c 2009-01-21 07:40:20.000000000 +0100 -@@ -270,6 +270,9 @@ - */ - static void opd_drop_module_sample(unsigned long eip) - { -+ verbprintf(vmodule, "query_module not available on linux-2.6: %s\n", strerror(EPERM)); -+ -+#if 0 - char * module_names; - char * name; - size_t size = 1024; -@@ -307,6 +310,7 @@ - - if (module_names) - free(module_names); -+#endif - } - -
package/oprofile/oprofile-003-oprofile-ppc32-build-fix.patch deleted +0 -32
@@ -1,32 +0,0 @@ -Upstream-Status: Backport - -From fa889ea74b6b931e241a8cd57e90edc23cd7ab03 Mon Sep 17 00:00:00 2001 -From: William Cohen <[email protected]> -Date: Mon, 15 Oct 2012 15:09:55 -0500 -Subject: [PATCH] OProfile doesn't build for 32-bit ppc; the operf_utils.cpp - compile fails. Need to be able to build the 32-bit ppc - version of oprofile to provide the 32-bit ppc java support - libraries. The configure only handles the case of ppc64 - with perf support. - -Signed-off-by: William Cohen <[email protected]> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index b739133..7449854 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -104,7 +104,7 @@ AC_DEFINE_UNQUOTED(HAVE_PERF_EVENTS, $HAVE_PERF_EVENTS, [Kernel support for perf - if test "$HAVE_PERF_EVENTS" = "1"; then - PFM_LIB= - arch="`uname -m`" -- if test "$arch" = "ppc64"; then -+ if test "$arch" = "ppc64" || test "$arch" = "ppc"; then - AC_CHECK_HEADER(perfmon/pfmlib.h,,[AC_MSG_ERROR([pfmlib.h not found; usually provided in papi devel package])]) - AC_CHECK_LIB(pfm,pfm_get_event_name, HAVE_LIBPFM3='1'; HAVE_LIBPFM='1', [ - AC_CHECK_LIB(pfm,pfm_get_os_event_encoding, HAVE_LIBPFM3='0'; HAVE_LIBPFM='1', --- -1.7.9.7 -
package/oprofile/oprofile-004-fix-ppc64-specific-libpfm-usage.patch deleted +0 -105
105 lines not on this page · raw message
package/oprofile/oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch deleted +0 -154
154 lines not on this page · raw message
package/oprofile/oprofile.mk +2 -1
@@ -4,7 +4,7 @@ # ################################################################################ -OPROFILE_VERSION = 0.9.8 +OPROFILE_VERSION = 0.9.9 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) OPROFILE_LICENSE = GPLv2+ OPROFILE_LICENSE_FILES = COPYING
@@ -17,6 +17,7 @@ OPROFILE_AUTORECONF = YES OPROFILE_BINARIES = utils/ophelp pp/opannotate pp/oparchive pp/opgprof OPROFILE_BINARIES += pp/opreport opjitconv/opjitconv daemon/oprofiled OPROFILE_BINARIES += utils/op-check-perfevents libabi/opimport +OPRIFILE_BINARIES += pe_counting/ocount # No perf_events support in kernel for avr32 ifneq ($(BR2_avr32),y)
Signature · 1 line
1.9.0
PATCH 1/1 oprofile: bump to version 0.9.9
Quoted 14 lines · Alexey Brodkin
package/oprofile/oprofile.mk +1
-1@@ -4,7 +4,7 @@ # ################################################################################ -OPROFILE_VERSION = 0.9.8 +OPROFILE_VERSION = 0.9.9 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) OPROFILE_LICENSE = GPLv2+ OPROFILE_LICENSE_FILES = COPYING
package/oprofile/oprofile.mk OPROFILE_AUTORECONF = YES · line 20
Quoted 4 lines
package/oprofile/oprofile.mk +1
-0@@ -17,6 +17,7 @@ OPROFILE_AUTORECONF = YES OPROFILE_BINARIES = utils/ophelp pp/opannotate pp/oparchive pp/opgprof OPROFILE_BINARIES += pp/opreport opjitconv/opjitconv daemon/oprofiled OPROFILE_BINARIES += utils/op-check-perfevents libabi/opimport +OPRIFILE_BINARIES += pe_counting/ocount
This should be OPROFILE (typo)
Best regards,
Thomas
PATCH 1/1 oprofile: bump to version 0.9.9
Hi Thomas,
Quoted 11 lines · Thomas De Schampheleire
Quoted 8 lines · Alexey Brodkin
package/oprofile/oprofile.mk +0
-0@@ -4,7 +4,7 @@ # ################################################################################
Quoted 12 lines
package/oprofile/oprofile.mk OPROFILE_AUTORECONF = YES · line 20
Quoted 10 lines
package/oprofile/oprofile.mk +2
-1-OPROFILE_VERSION = 0.9.8 +OPROFILE_VERSION = 0.9.9 OPROFILE_SITE = http://downloads.sourceforge.net/project/oprofile/oprofile/oprofile-$(OPROFILE_VERSION) OPROFILE_LICENSE = GPLv2+ OPROFILE_LICENSE_FILES = COPYING@@ -17,6 +17,7 @@ OPROFILE_AUTORECONF = YES OPROFILE_BINARIES = utils/ophelp pp/opannotate pp/oparchive pp/opgprof OPROFILE_BINARIES += pp/opreport opjitconv/opjitconv daemon/oprofiled OPROFILE_BINARIES += utils/op-check-perfevents libabi/opimport +OPRIFILE_BINARIES += pe_counting/ocountThis should be OPROFILE (typo)
Mea culpa, I haven't tried to use this utility on target so this misspelling was not caught.
Sent v2.
-Alexey
PATCH 1/1 oprofile: bump to version 0.9.9
In reply to Alexey BrodkinDear Alexey Brodkin,
Quoted 18 lines · Alexey Brodkin
Relese notes for 0.9.9 release are avaialble here:
http://oprofile.sourceforge.net/release-notes/oprofile-0.9.9This release adds support for ARC architecture.
Also introduces new "ocount" program for collection of raw event counts.
With release of 0.9.9 we may drop back-ported patches:
oprofile-002-no-query-modules.patch - liblegacy was removed since 2.4 kernels are no longer supported
http://sourceforge.net/p/oprofile/oprofile/ci/fcb818623bf1a638ef4f93dca9e90f8651899bf3/oprofile-003-oprofile-ppc32-build-fix.patch
http://sourceforge.net/p/oprofile/oprofile/ci/fa889ea74b6b931e241a8cd57e90edc23cd7ab03/oprofile-004-fix-ppc64-specific-libpfm-usage.patch
http://sourceforge.net/p/oprofile/oprofile/ci/79a183ed0d9611955714bfa1d6edb361d6bf5c2c/
Quoted 7 lines
oprofile-005-fix-up-configure-to-handle-architectures-that-do-not.patch
http://sourceforge.net/p/oprofile/oprofile/ci/ca6d916a6f8f0f8abbb4c9b6a97dd1a1615bb124/But in 0.9.9 was introduced build breakage which was fixed later so adding another back-ported patch oprofile-002-Fix-compile-error-on-ppc-uClibc-platform-AT_BASE_PLA.patch
http://sourceforge.net/p/oprofile/oprofile/ci/08241f1b2c5a4d48020c82b509dc1076f51bf0bd/
I just wanted to say I really appreciate the fact that you made the effort of justifying to each patch why it gets removed/added as part of the version bump. This is very useful, and give a lot more confidence about the version bump patch.
Thanks a lot for doing this!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com