aboutsummaryrefslogtreecommitdiffstats
path: root/main/oprofile/op-AT_BASE_PLATFORM.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/oprofile/op-AT_BASE_PLATFORM.patch')
-rw-r--r--main/oprofile/op-AT_BASE_PLATFORM.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/main/oprofile/op-AT_BASE_PLATFORM.patch b/main/oprofile/op-AT_BASE_PLATFORM.patch
new file mode 100644
index 0000000000..ea77357b69
--- /dev/null
+++ b/main/oprofile/op-AT_BASE_PLATFORM.patch
@@ -0,0 +1,45 @@
+http://sourceforge.net/p/oprofile/bugs/245/
+
+Index: oprof-work/libop/op_cpu_type.c
+===================================================================
+--- oprof-work.orig/libop/op_cpu_type.c
++++ oprof-work/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
+ 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)
+ {