diff -ur oprofile-0.9.9-orig/libop/op_cpu_type.c oprofile-0.9.9/libop/op_cpu_type.c
--- a/libop/op_cpu_type.c	2014-01-16 12:50:51.105811652 -0500
+++ b/libop/op_cpu_type.c	2014-01-16 13:24:34.116270871 -0500
@@ -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 @@
 	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 +321,13 @@
 	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;
