From mboxrd@z Thu Jan 1 00:00:00 1970 From: compudj@krystal.dyndns.org (Mathieu Desnoyers) Date: Mon, 13 Jun 2011 10:25:06 -0400 Subject: [ltt-dev] [PATCH 1/1] Fix compilation on uclibc In-Reply-To: <1307947751-6738-1-git-send-email-dexuan.cui@intel.com> References: <1307947751-6738-1-git-send-email-dexuan.cui@intel.com> Message-ID: * 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 > " > > I applied it to ust 0.14 and tested it. > > Signed-off-by: Dexuan Cui 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 > #include > #include > -#include 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