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 Upstream-Status: Submitted Index: ust-0.12/libust/tracer.h =================================================================== --- ust-0.12.orig/libust/tracer.h +++ ust-0.12/libust/tracer.h @@ -342,14 +342,22 @@ static __inline__ void ltt_write_trace_h header->start_freq = trace->start_freq; 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; /* Index: ust-0.12/libustcomm/ustcomm.c =================================================================== --- ust-0.12.orig/libustcomm/ustcomm.c +++ ust-0.12/libustcomm/ustcomm.c @@ -31,7 +31,6 @@ #include #include #include -#include #include "ustcomm.h" #include "usterr.h"