Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: dexuan.cui@intel.com (Dexuan Cui)
Subject: [ltt-dev] [PATCH 1/1] Fix compilation on uclibc
Date: Mon, 13 Jun 2011 14:49:11 +0800	[thread overview]
Message-ID: <1307947751-6738-1-git-send-email-dexuan.cui@intel.com> (raw)

The origin of the patch is
http://git.pokylinux.org/cgit/cgit.cgi/poky/commit/?id=196f689f63f363b245634131c94fd10e6e84b604
"
uClibc does not have sched_getcpu() implemented. So we create a wrapper
to getcpu syscall when compiling for uclibc.

So far execinfo.h does not exist on uclibc but it turns out to be that
this header is not needed even in eglibc case so it can be removed

Signed-off-by: Khem Raj <raj.khem at gmail.com>
"

I applied it to ust 0.14 and tested it.

Signed-off-by: Dexuan Cui <dexuan.cui at intel.com>
---
 libust/tracer.h      |   10 ++++++++++
 libustcomm/ustcomm.c |    1 -
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/libust/tracer.h b/libust/tracer.h
index 03049aa..4013471 100644
--- a/libust/tracer.h
+++ b/libust/tracer.h
@@ -344,13 +344,23 @@ static __inline__ void ltt_write_trace_header(struct ust_trace *trace,
 	header->freq_scale = trace->freq_scale;
 }
 
+#ifdef __UCLIBC__
+#define sched_getcpu(cpu, node, cache) syscall(__NR_getcpu, cpu, node, cache)
+#endif
+
 #ifndef UST_VALGRIND
 
 static __inline__ int ust_get_cpu(void)
 {
 	int cpu;
 
+#ifdef __UCLIBC__
+	int c, s;
+	s = syscall(__NR_getcpu, &c, NULL, NULL);
+	cpu = (s == -1) ? s : c;
+#else
 	cpu = sched_getcpu();
+#endif
 	if (likely(cpu >= 0))
 		return cpu;
 	/*
diff --git a/libustcomm/ustcomm.c b/libustcomm/ustcomm.c
index 3c7c0bb..07f7f87 100644
--- a/libustcomm/ustcomm.c
+++ b/libustcomm/ustcomm.c
@@ -33,7 +33,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <execinfo.h>
 
 #include "ustcomm.h"
 #include "usterr.h"
-- 
1.7.2




             reply	other threads:[~2011-06-13  6:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-13  6:49 Dexuan Cui [this message]
2011-06-13 14:25 ` Mathieu Desnoyers
     [not found] ` <BLU0-SMTP35DED9EACFA9202779957696690@phx.gbl>
2011-06-13 16:05   ` Cui, Dexuan
2011-06-13 16:30     ` Mathieu Desnoyers
     [not found]     ` <BLU0-SMTP75B31C33200C11B9D8DED296690@phx.gbl>
2011-06-13 16:40       ` Cui, Dexuan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1307947751-6738-1-git-send-email-dexuan.cui@intel.com \
    --to=dexuan.cui@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox