--- 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 #include +#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;