blob: 6064fc5e7acd1d1b813e9421a622e583770417b3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
--- oprofile-0.9.9.orig/libop/op_cpu_type.c 2013-07-29 17:55:07.000000000 +0200
+++ oprofile-0.9.9/libop/op_cpu_type.c 2013-11-05 20:55:54.000000000 +0100
@@ -23,9 +23,17 @@
#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 +184,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;
@@ -313,6 +322,13 @@ static op_cpu _get_ppc64_cpu_type(void)
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)
{
unsigned long cpuid, vendorid;
|