aboutsummaryrefslogtreecommitdiff
path: root/gdb/make-target-delegates.py
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2024-04-19 15:46:52 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2024-04-19 16:30:25 -0400
commitb38f70086dbc2c06ac261829fa31f6cd29d59973 (patch)
treeeac65c487cc32d145d9560994efddc4ebeab7965 /gdb/make-target-delegates.py
parenta887499c6b363aa97a6dd11807878ee9fa406e35 (diff)
downloadgdb-b38f70086dbc2c06ac261829fa31f6cd29d59973.zip
gdb-b38f70086dbc2c06ac261829fa31f6cd29d59973.tar.gz
gdb-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-xgdb/make-target-delegates.py44
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)