diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2024-04-19 15:46:52 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2024-04-19 16:30:25 -0400 |
commit | b38f70086dbc2c06ac261829fa31f6cd29d59973 (patch) | |
tree | eac65c487cc32d145d9560994efddc4ebeab7965 /gdb/make-target-delegates.py | |
parent | a887499c6b363aa97a6dd11807878ee9fa406e35 (diff) | |
download | binutils-b38f70086dbc2c06ac261829fa31f6cd29d59973.zip binutils-b38f70086dbc2c06ac261829fa31f6cd29d59973.tar.gz binutils-b38f70086dbc2c06ac261829fa31f6cd29d59973.tar.bz2 |
gdb: make debug_target use one-liners
Turn the debug prints in debug_target's method to be one liners. For
instance, change this:
gdb_printf (gdb_stdlog, "<- %s->wait (", this->beneath ()->shortname ());
gdb_puts (target_debug_print_ptid_t (arg0), gdb_stdlog);
gdb_puts (", ", gdb_stdlog);
gdb_puts (target_debug_print_target_waitstatus_p (arg1), gdb_stdlog);
gdb_puts (", ", gdb_stdlog);
gdb_puts (target_debug_print_target_wait_flags (arg2), gdb_stdlog);
gdb_puts (") = ", gdb_stdlog);
target_debug_print_ptid_t (result);
gdb_puts ("\n", gdb_stdlog);
into this:
gdb_printf (gdb_stdlog,
"<- %s->wait (%s, %s, %s) = %s\n",
this->beneath ()->shortname (),
target_debug_print_ptid_t (arg0).c_str (),
target_debug_print_target_waitstatus_p (arg1).c_str (),
target_debug_print_target_wait_flags (arg2).c_str (),
target_debug_print_ptid_t (result).c_str ());
This makes it possible for a subsequent patch to turn this gdb_printf
call into a `target_debug_printf` call.
Change-Id: I808202438972fac1bba2f8ccb63e66a4fcef20c9
Approved-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/make-target-delegates.py')
-rwxr-xr-x | gdb/make-target-delegates.py | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/gdb/make-target-delegates.py b/gdb/make-target-delegates.py index 051efce..f6f2bf0 100755 --- a/gdb/make-target-delegates.py +++ b/gdb/make-target-delegates.py @@ -290,28 +290,34 @@ def write_debugmethod( print(", ".join(names), file=f, end="") print(");", file=f) - # Now print the arguments. - print( - ' gdb_printf (gdb_stdlog, "<- %s->' - + name - + ' (", this->beneath ()->shortname ());', - file=f, + # Generate the debug printf call. + args_fmt = ", ".join(["%s"] * len(argtypes)) + args = "".join( + [ + (",\n\t {printer} (arg{i}).c_str ()").format( + printer=munge_type(t), i=i + ) + for i, t in enumerate(argtypes) + ] ) - for i in range(len(argtypes)): - if i > 0: - print(' gdb_puts (", ", gdb_stdlog);', file=f) - printer = munge_type(argtypes[i]) - print( - " gdb_puts (" + printer + " (" + names[i] + "), gdb_stdlog);", - file=f, - ) + if return_type != "void": - print(' gdb_puts (") = ", gdb_stdlog);', file=f) - printer = munge_type(return_type) - print(" " + printer + " (result);", file=f) - print(' gdb_puts ("\\n", gdb_stdlog);', file=f) + ret_fmt = " = %s" + ret = ",\n\t {printer} (result).c_str ()".format( + printer=munge_type(return_type) + ) else: - print(' gdb_puts (")\\n", gdb_stdlog);', file=f) + ret_fmt = "" + ret = "" + + print( + ( + " gdb_printf (gdb_stdlog,\n" + '\t "<- %s->{name} ({args_fmt}){ret_fmt}\\n",\n' + "\t this->beneath ()->shortname (){args}{ret});" + ).format(name=name, args_fmt=args_fmt, args=args, ret_fmt=ret_fmt, ret=ret), + file=f, + ) if return_type != "void": print(" return result;", file=f) |