diff options
Diffstat (limited to 'tools/perf/perf.c')
| -rw-r--r-- | tools/perf/perf.c | 21 | 
1 files changed, 17 insertions, 4 deletions
diff --git a/tools/perf/perf.c b/tools/perf/perf.c index 85e1aed9520..95c58fc1528 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c @@ -13,7 +13,7 @@  #include "util/quote.h"  #include "util/run-command.h"  #include "util/parse-events.h" -#include <lk/debugfs.h> +#include <api/fs/debugfs.h>  #include <pthread.h>  const char perf_usage_string[] = @@ -49,14 +49,14 @@ static struct cmd_struct commands[] = {  	{ "version",	cmd_version,	0 },  	{ "script",	cmd_script,	0 },  	{ "sched",	cmd_sched,	0 }, -#ifdef LIBELF_SUPPORT +#ifdef HAVE_LIBELF_SUPPORT  	{ "probe",	cmd_probe,	0 },  #endif  	{ "kmem",	cmd_kmem,	0 },  	{ "lock",	cmd_lock,	0 },  	{ "kvm",	cmd_kvm,	0 },  	{ "test",	cmd_test,	0 }, -#ifdef LIBAUDIT_SUPPORT +#ifdef HAVE_LIBAUDIT_SUPPORT  	{ "trace",	cmd_trace,	0 },  #endif  	{ "inject",	cmd_inject,	0 }, @@ -456,7 +456,9 @@ int main(int argc, const char **argv)  {  	const char *cmd; +	/* The page_size is placed in util object. */  	page_size = sysconf(_SC_PAGE_SIZE); +	cacheline_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);  	cmd = perf_extract_argv0_path(argv[0]);  	if (!cmd) @@ -480,7 +482,18 @@ int main(int argc, const char **argv)  		fprintf(stderr, "cannot handle %s internally", cmd);  		goto out;  	} - +	if (!prefixcmp(cmd, "trace")) { +#ifdef HAVE_LIBAUDIT_SUPPORT +		set_buildid_dir(); +		setup_path(); +		argv[0] = "trace"; +		return cmd_trace(argc, argv, NULL); +#else +		fprintf(stderr, +			"trace command not available: missing audit-libs devel package at build time.\n"); +		goto out; +#endif +	}  	/* Look for flags.. */  	argv++;  	argc--;  | 
