From: compudj@krystal.dyndns.org (Mathieu Desnoyers)
Subject: [ltt-dev] [PATCH 1/1] Fix compilation on uclibc
Date: Mon, 13 Jun 2011 10:25:06 -0400 [thread overview]
Message-ID: <BLU0-SMTP330025D3AFAAD68834C9A396690@phx.gbl> (raw)
In-Reply-To: <1307947751-6738-1-git-send-email-dexuan.cui@intel.com>
* Dexuan Cui (dexuan.cui at intel.com) wrote:
> 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>
Hi Dexuan,
> ---
> 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
I am going for an approach less intrusive into the code:
adding ust/compat.h with the sched_getcpu wrapper, and including it into
tracer.h: commit 0a2aba1397f90fa65c293ab856d18579ae14b77f
> 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>
I created a separate commit for this one:
5c3950f8809ce2c5272fdbfa27b606f648b485fb
Testing on uclibc would be very welcome.
Thanks,
Mathieu
>
> #include "ustcomm.h"
> #include "usterr.h"
> --
> 1.7.2
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2011-06-13 14:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-13 6:49 Dexuan Cui
2011-06-13 14:25 ` Mathieu Desnoyers [this message]
[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=BLU0-SMTP330025D3AFAAD68834C9A396690@phx.gbl \
--to=compudj@krystal.dyndns.org \
/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