mirror of https://gitee.com/openkylin/qemu.git
Tracing pull request
-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAl+sCaIACgkQnKSrs4Gr c8iIkQf9EY+dublO65TxV4t/VkcB9Z21BNbcCXNF3F+FtkxkGTszrU9t+Vj6k1wL hBkhmQZWOjkYq0/UrbpYCFljulStmUM2stHHI6X/E2RDQkBcqZzXzpz1CkXcyHAh 4UhA+Mgcga3BvhFbkrni8OUI0zNqjw6LBp8CP9woWQWcFlxUmTg+N1RNHH5DpcqZ JbVARvSsy6ts6LDC+YUKeDGe8sj2BeOFymYzh0hmxs4msW3GzR7CSR1oP9J2+G3D hzRE62RHXG90SaoGxj8HrpZe/NaW3/esAuOcWgmd0Ef/6FE9qoW0GzDGUENsHIDk c5XRuLnHlxQ/J4XyvQ2IudhMStjgxw== =yulo -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/tracing-pull-request' into staging Tracing pull request # gpg: Signature made Wed 11 Nov 2020 15:56:18 GMT # gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full] # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full] # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha-gitlab/tags/tracing-pull-request: scripts/tracetool: silence SystemTap dtrace(1) long long warnings trace: remove argument from trace_init_file Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
a4c141dca4
|
@ -745,7 +745,6 @@ int main(int argc, char **argv)
|
|||
const char *gdbstub = NULL;
|
||||
char **target_environ, **wrk;
|
||||
envlist_t *envlist = NULL;
|
||||
char *trace_file = NULL;
|
||||
bsd_type = target_openbsd;
|
||||
|
||||
if (argc <= 1)
|
||||
|
@ -851,8 +850,7 @@ int main(int argc, char **argv)
|
|||
} else if (!strcmp(r, "strace")) {
|
||||
do_strace = 1;
|
||||
} else if (!strcmp(r, "trace")) {
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(optarg);
|
||||
trace_opt_parse(optarg);
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
|
@ -880,7 +878,7 @@ int main(int argc, char **argv)
|
|||
if (!trace_init_backends()) {
|
||||
exit(1);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
|
||||
/* Zero out regs */
|
||||
memset(regs, 0, sizeof(struct target_pt_regs));
|
||||
|
|
|
@ -386,11 +386,9 @@ static void handle_arg_version(const char *arg)
|
|||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
static char *trace_file;
|
||||
static void handle_arg_trace(const char *arg)
|
||||
{
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(arg);
|
||||
trace_opt_parse(arg);
|
||||
}
|
||||
|
||||
#if defined(TARGET_XTENSA)
|
||||
|
@ -672,7 +670,7 @@ int main(int argc, char **argv, char **envp)
|
|||
if (!trace_init_backends()) {
|
||||
exit(1);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
if (qemu_plugin_load_list(&plugins)) {
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
@ -5466,7 +5466,6 @@ int main(int argc, char **argv)
|
|||
const img_cmd_t *cmd;
|
||||
const char *cmdname;
|
||||
Error *local_error = NULL;
|
||||
char *trace_file = NULL;
|
||||
int c;
|
||||
static const struct option long_options[] = {
|
||||
{"help", no_argument, 0, 'h'},
|
||||
|
@ -5516,8 +5515,7 @@ int main(int argc, char **argv)
|
|||
printf(QEMU_IMG_VERSION);
|
||||
return 0;
|
||||
case 'T':
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(optarg);
|
||||
trace_opt_parse(optarg);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -5535,7 +5533,7 @@ int main(int argc, char **argv)
|
|||
if (!trace_init_backends()) {
|
||||
exit(1);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
qemu_set_log(LOG_TRACE);
|
||||
|
||||
/* find the command */
|
||||
|
|
|
@ -536,7 +536,6 @@ int main(int argc, char **argv)
|
|||
Error *local_error = NULL;
|
||||
QDict *opts = NULL;
|
||||
const char *format = NULL;
|
||||
char *trace_file = NULL;
|
||||
bool force_share = false;
|
||||
|
||||
#ifdef CONFIG_POSIX
|
||||
|
@ -601,8 +600,7 @@ int main(int argc, char **argv)
|
|||
}
|
||||
break;
|
||||
case 'T':
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(optarg);
|
||||
trace_opt_parse(optarg);
|
||||
break;
|
||||
case 'V':
|
||||
printf("%s version " QEMU_FULL_VERSION "\n"
|
||||
|
@ -653,7 +651,7 @@ int main(int argc, char **argv)
|
|||
if (!trace_init_backends()) {
|
||||
exit(1);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
qemu_set_log(LOG_TRACE);
|
||||
|
||||
/* initialize commands */
|
||||
|
|
|
@ -581,7 +581,6 @@ int main(int argc, char **argv)
|
|||
const char *tlscredsid = NULL;
|
||||
bool imageOpts = false;
|
||||
bool writethrough = true;
|
||||
char *trace_file = NULL;
|
||||
bool fork_process = false;
|
||||
bool list = false;
|
||||
int old_stderr = -1;
|
||||
|
@ -768,8 +767,7 @@ int main(int argc, char **argv)
|
|||
imageOpts = true;
|
||||
break;
|
||||
case 'T':
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(optarg);
|
||||
trace_opt_parse(optarg);
|
||||
break;
|
||||
case QEMU_NBD_OPT_TLSAUTHZ:
|
||||
tlsauthz = optarg;
|
||||
|
@ -816,7 +814,7 @@ int main(int argc, char **argv)
|
|||
if (!trace_init_backends()) {
|
||||
exit(1);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
qemu_set_log(LOG_TRACE);
|
||||
|
||||
socket_activation = check_socket_activation();
|
||||
|
|
|
@ -57,6 +57,12 @@ def generate(events, backend, group):
|
|||
# Avoid it by changing probe type to signed char * beforehand.
|
||||
if type_ == 'int8_t *':
|
||||
type_ = 'signed char *'
|
||||
|
||||
# SystemTap dtrace(1) emits a warning when long long is used
|
||||
type_ = type_.replace('unsigned long long', 'uint64_t')
|
||||
type_ = type_.replace('signed long long', 'int64_t')
|
||||
type_ = type_.replace('long long', 'int64_t')
|
||||
|
||||
if name in RESERVED_WORDS:
|
||||
name += '_'
|
||||
args.append(type_ + ' ' + name)
|
||||
|
|
|
@ -884,7 +884,6 @@ int main(int argc, char **argv)
|
|||
int quiet = 0;
|
||||
int ch;
|
||||
Error *local_err = NULL;
|
||||
char *trace_file = NULL;
|
||||
bool daemonize = false;
|
||||
bool pidfile_specified = false;
|
||||
bool socket_path_specified = false;
|
||||
|
@ -968,8 +967,7 @@ int main(int argc, char **argv)
|
|||
++loglevel;
|
||||
break;
|
||||
case 'T':
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(optarg);
|
||||
trace_opt_parse(optarg);
|
||||
break;
|
||||
case 'V':
|
||||
version(argv[0]);
|
||||
|
@ -992,7 +990,7 @@ int main(int argc, char **argv)
|
|||
if (!trace_init_backends()) {
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
qemu_set_log(LOG_TRACE);
|
||||
|
||||
#ifdef CONFIG_MPATH
|
||||
|
|
|
@ -2887,7 +2887,6 @@ void qemu_init(int argc, char **argv, char **envp)
|
|||
int display_remote = 0;
|
||||
const char *log_mask = NULL;
|
||||
const char *log_file = NULL;
|
||||
char *trace_file = NULL;
|
||||
ram_addr_t maxram_size;
|
||||
uint64_t ram_slots = 0;
|
||||
FILE *vmstate_dump_file = NULL;
|
||||
|
@ -3689,8 +3688,7 @@ void qemu_init(int argc, char **argv, char **envp)
|
|||
xen_domid_restrict = true;
|
||||
break;
|
||||
case QEMU_OPTION_trace:
|
||||
g_free(trace_file);
|
||||
trace_file = trace_opt_parse(optarg);
|
||||
trace_opt_parse(optarg);
|
||||
break;
|
||||
case QEMU_OPTION_plugin:
|
||||
qemu_plugin_opt_parse(optarg, &plugin_list);
|
||||
|
@ -3940,7 +3938,7 @@ void qemu_init(int argc, char **argv, char **envp)
|
|||
if (!trace_init_backends()) {
|
||||
exit(1);
|
||||
}
|
||||
trace_init_file(trace_file);
|
||||
trace_init_file();
|
||||
|
||||
/* Open the logfile at this point and set the log mask if necessary.
|
||||
*/
|
||||
|
|
|
@ -180,12 +180,9 @@ static void process_options(int argc, char *argv[])
|
|||
help();
|
||||
exit(EXIT_SUCCESS);
|
||||
case 'T':
|
||||
{
|
||||
char *trace_file = trace_opt_parse(optarg);
|
||||
trace_init_file(trace_file);
|
||||
g_free(trace_file);
|
||||
break;
|
||||
}
|
||||
trace_opt_parse(optarg);
|
||||
trace_init_file();
|
||||
break;
|
||||
case 'V':
|
||||
printf("qemu-storage-daemon version "
|
||||
QEMU_FULL_VERSION "\n" QEMU_COPYRIGHT "\n");
|
||||
|
|
|
@ -222,8 +222,10 @@ static void trace_init_events(const char *fname)
|
|||
loc_pop(&loc);
|
||||
}
|
||||
|
||||
void trace_init_file(const char *file)
|
||||
void trace_init_file(void)
|
||||
{
|
||||
QemuOpts *opts = qemu_find_opts_singleton("trace");
|
||||
const char *file = qemu_opt_get(opts, "file");
|
||||
#ifdef CONFIG_TRACE_SIMPLE
|
||||
st_set_trace_file(file);
|
||||
if (init_trace_on_startup) {
|
||||
|
@ -289,9 +291,8 @@ bool trace_init_backends(void)
|
|||
return true;
|
||||
}
|
||||
|
||||
char *trace_opt_parse(const char *optarg)
|
||||
void trace_opt_parse(const char *optarg)
|
||||
{
|
||||
char *trace_file;
|
||||
QemuOpts *opts = qemu_opts_parse_noisily(qemu_find_opts("trace"),
|
||||
optarg, true);
|
||||
if (!opts) {
|
||||
|
@ -301,11 +302,8 @@ char *trace_opt_parse(const char *optarg)
|
|||
trace_enable_events(qemu_opt_get(opts, "enable"));
|
||||
}
|
||||
trace_init_events(qemu_opt_get(opts, "events"));
|
||||
trace_file = g_strdup(qemu_opt_get(opts, "file"));
|
||||
init_trace_on_startup = true;
|
||||
qemu_opts_del(opts);
|
||||
|
||||
return trace_file;
|
||||
}
|
||||
|
||||
uint32_t trace_get_vcpu_event_count(void)
|
||||
|
|
|
@ -167,8 +167,6 @@ void trace_event_set_vcpu_state_dynamic(CPUState *vcpu,
|
|||
|
||||
/**
|
||||
* trace_init_backends:
|
||||
* @file: Name of trace output file; may be NULL.
|
||||
* Corresponds to commandline option "--trace file=...".
|
||||
*
|
||||
* Initialize the tracing backend.
|
||||
*
|
||||
|
@ -178,14 +176,12 @@ bool trace_init_backends(void);
|
|||
|
||||
/**
|
||||
* trace_init_file:
|
||||
* @file: Name of trace output file; may be NULL.
|
||||
* Corresponds to commandline option "--trace file=...".
|
||||
*
|
||||
* Record the name of the output file for the tracing backend.
|
||||
* Exits if no selected backend does not support specifying the
|
||||
* output file, and a non-NULL file was passed.
|
||||
* output file, and a file was specified with "-trace file=...".
|
||||
*/
|
||||
void trace_init_file(const char *file);
|
||||
void trace_init_file(void);
|
||||
|
||||
/**
|
||||
* trace_init_vcpu:
|
||||
|
@ -229,10 +225,8 @@ extern QemuOptsList qemu_trace_opts;
|
|||
* @optarg: A string argument of --trace command line argument
|
||||
*
|
||||
* Initialize tracing subsystem.
|
||||
*
|
||||
* Returns the filename to save trace to. It must be freed with g_free().
|
||||
*/
|
||||
char *trace_opt_parse(const char *optarg);
|
||||
void trace_opt_parse(const char *optarg);
|
||||
|
||||
/**
|
||||
* trace_get_vcpu_event_count:
|
||||
|
|
Loading…
Reference in New Issue