aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/oprofile/oprofile/0001-Handle-early-perf_events-kernel-without-PERF_RECORD_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/oprofile/oprofile/0001-Handle-early-perf_events-kernel-without-PERF_RECORD_.patch')
-rw-r--r--meta/recipes-kernel/oprofile/oprofile/0001-Handle-early-perf_events-kernel-without-PERF_RECORD_.patch107
1 files changed, 0 insertions, 107 deletions
diff --git a/meta/recipes-kernel/oprofile/oprofile/0001-Handle-early-perf_events-kernel-without-PERF_RECORD_.patch b/meta/recipes-kernel/oprofile/oprofile/0001-Handle-early-perf_events-kernel-without-PERF_RECORD_.patch
deleted file mode 100644
index 894e99aec8..0000000000
--- a/meta/recipes-kernel/oprofile/oprofile/0001-Handle-early-perf_events-kernel-without-PERF_RECORD_.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-Upstream-Status: Backport
-
-From dbe24f5f0d98b1fe5517d2b137b4c59766e536ad Mon Sep 17 00:00:00 2001
-From: Maynard Johnson <maynardj@us.ibm.com>
-Date: Mon, 19 Nov 2012 15:16:37 -0600
-Subject: [PATCH] Handle early perf_events kernel without
- PERF_RECORD_MISC_GUEST* macros
-
-In very early versions of perf_events kernel subsystem, the
-PERF_RECORD_MISC_GUEST_KERNEL and PERF_RECORD_MISC_GUEST_USER
-macros (in perf_event.h) were not yet defined. This patch adds
-a configure check to determine when it's OK for source code to refer
-to those macros.
-
-This patch also does some minor cleanup of the configure script
-help and warning messages relating to the --with-kernel option.
-
-Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>
----
- configure.ac | 32 ++++++++++++++++++++++++++------
- libperf_events/operf_utils.cpp | 2 ++
- 2 files changed, 28 insertions(+), 6 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7449854..18d1169 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -60,12 +60,12 @@ test "$LD" || AC_ERROR(ld not found)
-
- # --with-kernel for cross compilation
- AC_ARG_WITH(kernel,
--[AS_HELP_STRING([--with-kernel=dir], [Path to kernel include directory (...include/linux/perf_event.h) to use.
-+[AS_HELP_STRING([--with-kernel=dir], [Path to kernel include directory (e.g. /tmp/linux-xyz) to use.
- If this option is not specified, configure will look for kernel header files in the usual installation location
--for a kernel-headers package -- /usr/include. Use this option in cross-compile enviroments
-+for a kernel-headers package -- /usr. Use this option in cross-compile enviroments
- or in situations where the host system does not support perf_events but you wish to build binaries
--for a target system that does support perf_events. Because of OProfile's use of syscalls, be sure that the
--kernel headers used match the architecture of the intended target system.])],
-+for a target system that does support perf_events. Because of OProfile's use of syscalls,
-+kernel headers used during build must match the architecture of the intended target system.])],
- KERNELDIR=$withval)
-
-
-@@ -92,10 +92,29 @@ AC_CHECK_HEADER($PERF_EVENT_H,PERF_EVENT_H_EXISTS="yes")
- AM_CONDITIONAL(BUILD_FOR_PERF_EVENT, test -n "$PERF_EVENT_H_EXISTS")
- if test "$PERF_EVENT_H_EXISTS" = "yes"; then
- HAVE_PERF_EVENTS='1'
-+
- if test "$KERNELDIR" != ""; then
- PERF_EVENT_FLAGS=" -I$KERNELDIR/include"
- AC_SUBST(PERF_EVENT_FLAGS)
- fi
-+
-+ AC_MSG_CHECKING([whether PERF_RECORD_MISC_GUEST_KERNEL is defined in perf_event.h])
-+ rm -f test-for-PERF_GUEST
-+ AC_LANG_CONFTEST(
-+ [AC_LANG_PROGRAM([[#include <linux/perf_event.h>]],
-+ [[unsigned int pr_guest_kern = PERF_RECORD_MISC_GUEST_KERNEL;
-+ unsigned int pr_guest_user = PERF_RECORD_MISC_GUEST_USER;]])
-+ ])
-+ $CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS $PERF_EVENT_FLAGS -o test-for-PERF_GUEST > /dev/null 2>&1
-+ if test -f test-for-PERF_GUEST; then
-+ echo "yes"
-+ HAVE_PERF_GUEST_MACROS='1'
-+ else
-+ echo "no"
-+ HAVE_PERF_GUEST_MACROS='0'
-+ fi
-+ AC_DEFINE_UNQUOTED(HAVE_PERF_GUEST_MACROS, $HAVE_PERF_GUEST_MACROS, [PERF_RECORD_MISC_GUEST_KERNEL is defined in perf_event.h])
-+ rm -f test-for-PERF_GUEST*
- else
- HAVE_PERF_EVENTS='0'
- fi
-@@ -416,7 +435,8 @@ elif test "`getent passwd oprofile 2>/dev/null`" == "" || \
- fi
-
- if test "$PERF_EVENT_H_EXISTS" != "yes" && test "$kernel_has_perf_events_support" = "yes"; then
-- echo "Warning: perf_event.h not found. Please install the kernel headers package if you"
-- echo " want non-root support built into OProfile."
-+ echo "Warning: perf_event.h not found. Either install the kernel headers package or"
-+ echo "use the --with-kernel option if you want the non-root, single application"
-+ echo "profiling support provided by operf."
- fi
-
-diff --git a/libperf_events/operf_utils.cpp b/libperf_events/operf_utils.cpp
-index 06cd566..470cfba 100644
---- a/libperf_events/operf_utils.cpp
-+++ b/libperf_events/operf_utils.cpp
-@@ -732,12 +732,14 @@ static void __handle_sample_event(event_t * event, u64 sample_type)
- case PERF_RECORD_MISC_HYPERVISOR:
- domain = "hypervisor";
- break;
-+#if HAVE_PERF_GUEST_MACROS
- case PERF_RECORD_MISC_GUEST_KERNEL:
- domain = "guest OS";
- break;
- case PERF_RECORD_MISC_GUEST_USER:
- domain = "guest user";
- break;
-+#endif
- default:
- domain = "unknown";
- break;
---
-1.7.9.7
-