Messages in this thread Patch in this message | | | From | Chris Phlipot <> | Subject | [PATCH 3/4] perf tool: Fix build when sysconf doesn't support cache line size | Date | Thu, 30 Jun 2016 22:12:34 -0700 |
| |
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 <cphlipot0@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
| |