diff options
author | Simon Marchi <simon.marchi@ericsson.com> | 2017-09-03 10:23:31 +0200 |
---|---|---|
committer | Simon Marchi <simon.marchi@ericsson.com> | 2017-09-03 10:23:31 +0200 |
commit | 23fdd69e42180578b3e15ba8f053fadde965bfe8 (patch) | |
tree | 5f8dc1441127578fe91dde474ec94ccde1413e94 /gdb/target | |
parent | f04bdfa7b261402bfa9dbdde58b2feb14becd8a3 (diff) | |
download | binutils-23fdd69e42180578b3e15ba8f053fadde965bfe8.zip binutils-23fdd69e42180578b3e15ba8f053fadde965bfe8.tar.gz binutils-23fdd69e42180578b3e15ba8f053fadde965bfe8.tar.bz2 |
Make target_waitstatus_to_string return an std::string
A quite straightforward change. It does "fix" leaks in record-btrace.c,
although since this is only used in debug printing code, it has no real
world impact.
gdb/ChangeLog:
* target/waitstatus.h (target_waitstatus_to_string): Change
return type to std::string.
* target/waitstatus.c (target_waitstatus_to_string): Return
std::string.
* target.h (target_waitstatus_to_string): Remove declaration.
* infrun.c (resume, clear_proceed_status_thread,
print_target_wait_results, do_target_wait, save_waitstatus,
stop_all_threads): Adjust.
* record-btrace.c (record_btrace_wait): Adjust.
* target-debug.h
(target_debug_print_struct_target_waitstatus_p): Adjust.
gdb/gdbserver/ChangeLog:
* linux-low.c (linux_wait_1): Adjust.
* server.c (queue_stop_reply_callback): Adjust.
Diffstat (limited to 'gdb/target')
-rw-r--r-- | gdb/target/waitstatus.c | 48 | ||||
-rw-r--r-- | gdb/target/waitstatus.h | 5 |
2 files changed, 26 insertions, 27 deletions
diff --git a/gdb/target/waitstatus.c b/gdb/target/waitstatus.c index c59d1b6..eede2d6 100644 --- a/gdb/target/waitstatus.c +++ b/gdb/target/waitstatus.c @@ -23,7 +23,7 @@ /* Return a pretty printed form of target_waitstatus. Space for the result is malloc'd, caller must free. */ -char * +std::string target_waitstatus_to_string (const struct target_waitstatus *ws) { const char *kind_str = "status->kind = "; @@ -31,44 +31,44 @@ target_waitstatus_to_string (const struct target_waitstatus *ws) switch (ws->kind) { case TARGET_WAITKIND_EXITED: - return xstrprintf ("%sexited, status = %d", - kind_str, ws->value.integer); + return string_printf ("%sexited, status = %d", + kind_str, ws->value.integer); case TARGET_WAITKIND_STOPPED: - return xstrprintf ("%sstopped, signal = %s", - kind_str, - gdb_signal_to_symbol_string (ws->value.sig)); + return string_printf ("%sstopped, signal = %s", + kind_str, + gdb_signal_to_symbol_string (ws->value.sig)); case TARGET_WAITKIND_SIGNALLED: - return xstrprintf ("%ssignalled, signal = %s", - kind_str, - gdb_signal_to_symbol_string (ws->value.sig)); + return string_printf ("%ssignalled, signal = %s", + kind_str, + gdb_signal_to_symbol_string (ws->value.sig)); case TARGET_WAITKIND_LOADED: - return xstrprintf ("%sloaded", kind_str); + return string_printf ("%sloaded", kind_str); case TARGET_WAITKIND_FORKED: - return xstrprintf ("%sforked", kind_str); + return string_printf ("%sforked", kind_str); case TARGET_WAITKIND_VFORKED: - return xstrprintf ("%svforked", kind_str); + return string_printf ("%svforked", kind_str); case TARGET_WAITKIND_EXECD: - return xstrprintf ("%sexecd", kind_str); + return string_printf ("%sexecd", kind_str); case TARGET_WAITKIND_VFORK_DONE: - return xstrprintf ("%svfork-done", kind_str); + return string_printf ("%svfork-done", kind_str); case TARGET_WAITKIND_SYSCALL_ENTRY: - return xstrprintf ("%sentered syscall", kind_str); + return string_printf ("%sentered syscall", kind_str); case TARGET_WAITKIND_SYSCALL_RETURN: - return xstrprintf ("%sexited syscall", kind_str); + return string_printf ("%sexited syscall", kind_str); case TARGET_WAITKIND_SPURIOUS: - return xstrprintf ("%sspurious", kind_str); + return string_printf ("%sspurious", kind_str); case TARGET_WAITKIND_IGNORE: - return xstrprintf ("%signore", kind_str); + return string_printf ("%signore", kind_str); case TARGET_WAITKIND_NO_HISTORY: - return xstrprintf ("%sno-history", kind_str); + return string_printf ("%sno-history", kind_str); case TARGET_WAITKIND_NO_RESUMED: - return xstrprintf ("%sno-resumed", kind_str); + return string_printf ("%sno-resumed", kind_str); case TARGET_WAITKIND_THREAD_CREATED: - return xstrprintf ("%sthread created", kind_str); + return string_printf ("%sthread created", kind_str); case TARGET_WAITKIND_THREAD_EXITED: - return xstrprintf ("%sthread exited, status = %d", - kind_str, ws->value.integer); + return string_printf ("%sthread exited, status = %d", + kind_str, ws->value.integer); default: - return xstrprintf ("%sunknown???", kind_str); + return string_printf ("%sunknown???", kind_str); } } diff --git a/gdb/target/waitstatus.h b/gdb/target/waitstatus.h index 52be390..8eee198 100644 --- a/gdb/target/waitstatus.h +++ b/gdb/target/waitstatus.h @@ -145,8 +145,7 @@ enum target_stop_reason /* Prototypes */ -/* Return a pretty printed form of target_waitstatus. - Space for the result is malloc'd, caller must free. */ -extern char *target_waitstatus_to_string (const struct target_waitstatus *); +/* Return a pretty printed form of target_waitstatus. */ +std::string target_waitstatus_to_string (const struct target_waitstatus *); #endif /* WAITSTATUS_H */ |