Enable perf to build on libc implementations where sysconf() doesn't support _SC_LEVEL1_DCACHE_LINESIZE as a parameter.
For example, the Bionic implementation does not support this as a paremter. Older versions of Bionic will throw an error when this is passed in as a parameter, and more recent versions will just return 0 as the cache line size. Signed-off-by: Chris Phlipot <cphlip...@gmail.com> --- tools/perf/perf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/perf/perf.c b/tools/perf/perf.c index 8f21922..113ca5b 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -509,7 +509,11 @@ int main(int argc, const char **argv) /* The page_size is placed in util object. */ page_size = sysconf(_SC_PAGE_SIZE); +#ifdef _SC_LEVEL1_DCACHE_LINESIZE cacheline_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE); +#else + cacheline_size = 0; +#endif if (sysctl__read_int("kernel/perf_event_max_stack", &value) == 0) sysctl_perf_event_max_stack = value; -- 2.7.4