diff options
author | Vinson Lee <vlee@twitter.com> | 2015-03-23 15:09:16 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-03-24 11:08:07 -0400 |
commit | e1e455f4f4d35850c30235747620d0d078fe9f64 (patch) | |
tree | d19fa86d5ea9e74ee389a83f0267f2125244a599 /tools | |
parent | 77cfe388767572586b7d4fd533c38f902d020f17 (diff) |
perf tools: Work around lack of sched_getcpu in glibc < 2.6.
This patch fixes this build error with glibc < 2.6.
CC util/cloexec.o
cc1: warnings being treated as errors
util/cloexec.c: In function ‘perf_flag_probe’:
util/cloexec.c:24: error: implicit declaration of function
‘sched_getcpu’
util/cloexec.c:24: error: nested extern declaration of ‘sched_getcpu’
make: *** [util/cloexec.o] Error 1
Signed-off-by: Vinson Lee <vlee@twitter.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Yann Droneaud <ydroneaud@opteya.com>
Cc: stable@vger.kernel.org # 3.18+
Link: http://lkml.kernel.org/r/1427137761-16119-1-git-send-email-vlee@twopensource.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/perf/util/cloexec.c | 6 | ||||
-rw-r--r-- | tools/perf/util/cloexec.h | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/tools/perf/util/cloexec.c b/tools/perf/util/cloexec.c index 6da965bdbc2c..85b523885f9d 100644 --- a/tools/perf/util/cloexec.c +++ b/tools/perf/util/cloexec.c | |||
@@ -7,6 +7,12 @@ | |||
7 | 7 | ||
8 | static unsigned long flag = PERF_FLAG_FD_CLOEXEC; | 8 | static unsigned long flag = PERF_FLAG_FD_CLOEXEC; |
9 | 9 | ||
10 | int __weak sched_getcpu(void) | ||
11 | { | ||
12 | errno = ENOSYS; | ||
13 | return -1; | ||
14 | } | ||
15 | |||
10 | static int perf_flag_probe(void) | 16 | static int perf_flag_probe(void) |
11 | { | 17 | { |
12 | /* use 'safest' configuration as used in perf_evsel__fallback() */ | 18 | /* use 'safest' configuration as used in perf_evsel__fallback() */ |
diff --git a/tools/perf/util/cloexec.h b/tools/perf/util/cloexec.h index 94a5a7d829d5..68888c29b04a 100644 --- a/tools/perf/util/cloexec.h +++ b/tools/perf/util/cloexec.h | |||
@@ -3,4 +3,10 @@ | |||
3 | 3 | ||
4 | unsigned long perf_event_open_cloexec_flag(void); | 4 | unsigned long perf_event_open_cloexec_flag(void); |
5 | 5 | ||
6 | #ifdef __GLIBC_PREREQ | ||
7 | #if !__GLIBC_PREREQ(2, 6) | ||
8 | extern int sched_getcpu(void) __THROW; | ||
9 | #endif | ||
10 | #endif | ||
11 | |||
6 | #endif /* __PERF_CLOEXEC_H */ | 12 | #endif /* __PERF_CLOEXEC_H */ |