diff options
author | Khem Raj <raj.khem@gmail.com> | 2011-05-06 15:17:25 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-10 09:56:19 +0100 |
commit | 196f689f63f363b245634131c94fd10e6e84b604 (patch) | |
tree | a17ccddf9b3fea0f4796b3f79774e77f0e57fb92 /meta/recipes-kernel/lttng/lttng-ust | |
parent | 4401c942a82975441bc4d7b3c30dfc1433807579 (diff) | |
download | poky-196f689f63f363b245634131c94fd10e6e84b604.tar.gz |
lttng-ust_0.12.bb: Fix compilation on uclibc
We provide alternative implementation of sched_getcpu()
when compiling for uclibc
(From OE-Core rev: 03f442250579a392b49b54648840fbeb7c0a0142)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/lttng/lttng-ust')
-rw-r--r-- | meta/recipes-kernel/lttng/lttng-ust/uclibc-sched_getcpu.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/meta/recipes-kernel/lttng/lttng-ust/uclibc-sched_getcpu.patch b/meta/recipes-kernel/lttng/lttng-ust/uclibc-sched_getcpu.patch new file mode 100644 index 0000000000..7102a69184 --- /dev/null +++ b/meta/recipes-kernel/lttng/lttng-ust/uclibc-sched_getcpu.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | uClibc does not have sched_getcpu() implemented. So we create a wrapper | ||
2 | to getcpu syscall when compiling for uclibc. | ||
3 | |||
4 | So far execinfo.h does not exist on uclibc but it turns out to be that | ||
5 | this header is not needed even in eglibc case so it can be removed | ||
6 | |||
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
8 | |||
9 | Upstream-status: Pending | ||
10 | |||
11 | Index: ust-0.12/libust/tracer.h | ||
12 | =================================================================== | ||
13 | --- ust-0.12.orig/libust/tracer.h | ||
14 | +++ ust-0.12/libust/tracer.h | ||
15 | @@ -342,14 +342,22 @@ static __inline__ void ltt_write_trace_h | ||
16 | header->start_freq = trace->start_freq; | ||
17 | header->freq_scale = trace->freq_scale; | ||
18 | } | ||
19 | - | ||
20 | +#ifdef __UCLIBC__ | ||
21 | +#define sched_getcpu(cpu, node, cache) syscall(__NR_getcpu, cpu, node, cache) | ||
22 | +#endif | ||
23 | #ifndef UST_VALGRIND | ||
24 | |||
25 | static __inline__ int ust_get_cpu(void) | ||
26 | { | ||
27 | int cpu; | ||
28 | |||
29 | +#ifdef __UCLIBC__ | ||
30 | + int c, s; | ||
31 | + s = syscall(__NR_getcpu, &c, NULL, NULL); | ||
32 | + cpu = (s == -1) ? s : c; | ||
33 | +#else | ||
34 | cpu = sched_getcpu(); | ||
35 | +#endif | ||
36 | if (likely(cpu >= 0)) | ||
37 | return cpu; | ||
38 | /* | ||
39 | Index: ust-0.12/libustcomm/ustcomm.c | ||
40 | =================================================================== | ||
41 | --- ust-0.12.orig/libustcomm/ustcomm.c | ||
42 | +++ ust-0.12/libustcomm/ustcomm.c | ||
43 | @@ -31,7 +31,6 @@ | ||
44 | #include <stdio.h> | ||
45 | #include <stdlib.h> | ||
46 | #include <string.h> | ||
47 | -#include <execinfo.h> | ||
48 | |||
49 | #include "ustcomm.h" | ||
50 | #include "usterr.h" | ||