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 #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 +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) {