|
@@ -24,9 +24,6 @@
|
|
|
#include "build-id.h"
|
|
|
#include "data.h"
|
|
|
|
|
|
-static u32 header_argc;
|
|
|
-static const char **header_argv;
|
|
|
-
|
|
|
/*
|
|
|
* magic2 = "PERFILE2"
|
|
|
* must be a numerical value to let the endianness
|
|
@@ -138,37 +135,6 @@ static char *do_read_string(int fd, struct perf_header *ph)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
-int
|
|
|
-perf_header__set_cmdline(int argc, const char **argv)
|
|
|
-{
|
|
|
- int i;
|
|
|
-
|
|
|
- /*
|
|
|
- * If header_argv has already been set, do not override it.
|
|
|
- * This allows a command to set the cmdline, parse args and
|
|
|
- * then call another builtin function that implements a
|
|
|
- * command -- e.g, cmd_kvm calling cmd_record.
|
|
|
- */
|
|
|
- if (header_argv)
|
|
|
- return 0;
|
|
|
-
|
|
|
- header_argc = (u32)argc;
|
|
|
-
|
|
|
- /* do not include NULL termination */
|
|
|
- header_argv = calloc(argc, sizeof(char *));
|
|
|
- if (!header_argv)
|
|
|
- return -ENOMEM;
|
|
|
-
|
|
|
- /*
|
|
|
- * must copy argv contents because it gets moved
|
|
|
- * around during option parsing
|
|
|
- */
|
|
|
- for (i = 0; i < argc ; i++)
|
|
|
- header_argv[i] = argv[i];
|
|
|
-
|
|
|
- return 0;
|
|
|
-}
|
|
|
-
|
|
|
static int write_tracing_data(int fd, struct perf_header *h __maybe_unused,
|
|
|
struct perf_evlist *evlist)
|
|
|
{
|
|
@@ -405,8 +371,8 @@ static int write_cmdline(int fd, struct perf_header *h __maybe_unused,
|
|
|
{
|
|
|
char buf[MAXPATHLEN];
|
|
|
char proc[32];
|
|
|
- u32 i, n;
|
|
|
- int ret;
|
|
|
+ u32 n;
|
|
|
+ int i, ret;
|
|
|
|
|
|
/*
|
|
|
* actual atual path to perf binary
|
|
@@ -420,7 +386,7 @@ static int write_cmdline(int fd, struct perf_header *h __maybe_unused,
|
|
|
buf[ret] = '\0';
|
|
|
|
|
|
/* account for binary path */
|
|
|
- n = header_argc + 1;
|
|
|
+ n = perf_env.nr_cmdline + 1;
|
|
|
|
|
|
ret = do_write(fd, &n, sizeof(n));
|
|
|
if (ret < 0)
|
|
@@ -430,8 +396,8 @@ static int write_cmdline(int fd, struct perf_header *h __maybe_unused,
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
|
|
|
- for (i = 0 ; i < header_argc; i++) {
|
|
|
- ret = do_write_string(fd, header_argv[i]);
|
|
|
+ for (i = 0 ; i < perf_env.nr_cmdline; i++) {
|
|
|
+ ret = do_write_string(fd, perf_env.cmdline_argv[i]);
|
|
|
if (ret < 0)
|
|
|
return ret;
|
|
|
}
|