* Dexuan Cui ([email protected]) 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 <[email protected]>
> "
> 
> I applied it to ust 0.14 and tested it.
> 
> Signed-off-by: Dexuan Cui <[email protected]>

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
> [email protected]
> 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

_______________________________________________
ltt-dev mailing list
[email protected]
http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev

Reply via email to