All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH lttng-ust] Fix: Wrong configure check for UST perf event counters context support
       [not found] <1403797348-3958-1-git-send-email-christian.babeux@efficios.com>
@ 2014-06-26 15:53 ` Mathieu Desnoyers
  0 siblings, 0 replies; 2+ messages in thread
From: Mathieu Desnoyers @ 2014-06-26 15:53 UTC (permalink / raw)
  To: Christian Babeux; +Cc: lttng-dev

merged, thanks!

Mathieu

----- Original Message -----
> From: "Christian Babeux" <christian.babeux@efficios.com>
> To: lttng-dev@lists.lttng.org
> Cc: "mathieu desnoyers" <mathieu.desnoyers@efficios.com>, "Christian Babeux" <christian.babeux@efficios.com>
> Sent: Thursday, June 26, 2014 11:42:28 AM
> Subject: [PATCH lttng-ust] Fix: Wrong configure check for UST perf event counters context support
> 
> When building on non-x86 platforms, the build errors out with the following:
> 
>   CC       lttng-context-perf-counters.lo
> lttng-context-perf-counters.c:95:2: error: #error "Perf event counters are
> only supported on x86 so far."
> lttng-context-perf-counters.c: In function 'read_perf_counter':
> lttng-context-perf-counters.c:114:4: warning: implicit declaration of
> function 'rdpmc' [-Wimplicit-function-declaration]
> make[2]: *** [lttng-context-perf-counters.lo] Error 1
> 
> The configure script checks for the presence of the "perf_event.h" header to
> enable support for
> perf events counters. However, the current implementation is only available
> on x86,
> hence the build fails on platform where the perf header is available.
> 
> Fix this issue by detecting the architecture we are currently building and
> wether
> to enable or not the support for perf event counters context.
> 
> Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
> ---
>  configure.ac | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 76851db..4841f46 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -194,9 +194,23 @@ AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [],
> [AC_MSG_ERROR([liburcu 0.6 or newer i
>  
>  # optional linux/perf_event.h
>  AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
> -AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes"])
>  
> -if test "x$have_perf_event" = "xyes"; then
> +# Perf event counters are only supported on x86 so far.
> +AC_MSG_CHECKING([UST support for architecture perf event counters])
> +case $host_cpu in
> +changequote(,)dnl
> +	i[3456]86)
> +changequote([,])dnl
> +	UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
> +	x86_64) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
> +	amd64) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
> +	*) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=no;;
> +esac
> +AC_MSG_RESULT([$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS])
> +
> +AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes" -a
> "x$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS" = "xyes"])
> +
> +if test "x$have_perf_event" = "xyes" -a
> "x$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS" = "xyes"; then
>  AC_DEFINE([LTTNG_UST_HAVE_PERF_EVENT], [1])
>  fi
>  
> --
> 1.9.3
> 
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH lttng-ust] Fix: Wrong configure check for UST perf event counters context support
@ 2014-06-26 15:42 Christian Babeux
  0 siblings, 0 replies; 2+ messages in thread
From: Christian Babeux @ 2014-06-26 15:42 UTC (permalink / raw)
  To: lttng-dev

When building on non-x86 platforms, the build errors out with the following:

  CC       lttng-context-perf-counters.lo
lttng-context-perf-counters.c:95:2: error: #error "Perf event counters are only supported on x86 so far."
lttng-context-perf-counters.c: In function 'read_perf_counter':
lttng-context-perf-counters.c:114:4: warning: implicit declaration of function 'rdpmc' [-Wimplicit-function-declaration]
make[2]: *** [lttng-context-perf-counters.lo] Error 1

The configure script checks for the presence of the "perf_event.h" header to enable support for
perf events counters. However, the current implementation is only available on x86,
hence the build fails on platform where the perf header is available.

Fix this issue by detecting the architecture we are currently building and wether
to enable or not the support for perf event counters context.

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
---
 configure.ac | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 76851db..4841f46 100644
--- a/configure.ac
+++ b/configure.ac
@@ -194,9 +194,23 @@ AC_CHECK_LIB([urcu-bp], [call_rcu_bp], [], [AC_MSG_ERROR([liburcu 0.6 or newer i
 
 # optional linux/perf_event.h
 AC_CHECK_HEADERS([linux/perf_event.h], [have_perf_event=yes], [])
-AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes"])
 
-if test "x$have_perf_event" = "xyes"; then
+# Perf event counters are only supported on x86 so far.
+AC_MSG_CHECKING([UST support for architecture perf event counters])
+case $host_cpu in
+changequote(,)dnl
+	i[3456]86)
+changequote([,])dnl
+	UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
+	x86_64) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
+	amd64) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=yes;;
+	*) UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS=no;;
+esac
+AC_MSG_RESULT([$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS])
+
+AM_CONDITIONAL([HAVE_PERF_EVENT], [test "x$have_perf_event" = "xyes" -a "x$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS" = "xyes"])
+
+if test "x$have_perf_event" = "xyes" -a "x$UST_SUPPORT_FOR_ARCH_PERF_EVENT_COUNTERS" = "xyes"; then
 AC_DEFINE([LTTNG_UST_HAVE_PERF_EVENT], [1])
 fi
 
-- 
1.9.3

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-06-26 15:54 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1403797348-3958-1-git-send-email-christian.babeux@efficios.com>
2014-06-26 15:53 ` [PATCH lttng-ust] Fix: Wrong configure check for UST perf event counters context support Mathieu Desnoyers
2014-06-26 15:42 Christian Babeux

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.