aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog88
-rw-r--r--gdb/ada-lang.c3
-rw-r--r--gdb/breakpoint.c41
-rw-r--r--gdb/cli-out.c2
-rw-r--r--gdb/cli/cli-cmds.c2
-rw-r--r--gdb/cli/cli-decode.c2
-rw-r--r--gdb/cli/cli-interp.c6
-rw-r--r--gdb/cli/cli-logging.c5
-rw-r--r--gdb/cli/cli-script.c2
-rw-r--r--gdb/cli/cli-setshow.c3
-rw-r--r--gdb/cp-abi.c3
-rw-r--r--gdb/exceptions.c12
-rw-r--r--gdb/frame.c4
-rw-r--r--gdb/infcmd.c2
-rw-r--r--gdb/inferior.c6
-rw-r--r--gdb/infrun.c11
-rw-r--r--gdb/interps.c6
-rw-r--r--gdb/mi/mi-cmd-break.c2
-rw-r--r--gdb/mi/mi-cmd-disas.c1
-rw-r--r--gdb/mi/mi-cmd-env.c7
-rw-r--r--gdb/mi/mi-cmd-file.c4
-rw-r--r--gdb/mi/mi-cmd-stack.c6
-rw-r--r--gdb/mi/mi-cmd-var.c15
-rw-r--r--gdb/mi/mi-interp.c8
-rw-r--r--gdb/mi/mi-main.c37
-rw-r--r--gdb/mi/mi-symbol-cmds.c1
-rw-r--r--gdb/osdata.c1
-rw-r--r--gdb/progspace.c2
-rw-r--r--gdb/python/py-auto-load.c2
-rw-r--r--gdb/python/py-breakpoint.c6
-rw-r--r--gdb/remote-fileio.c3
-rw-r--r--gdb/remote.c1
-rw-r--r--gdb/solib.c1
-rw-r--r--gdb/source.c1
-rw-r--r--gdb/stack.c10
-rw-r--r--gdb/symfile-mem.c2
-rw-r--r--gdb/symfile.c4
-rw-r--r--gdb/thread.c6
-rw-r--r--gdb/top.c4
-rw-r--r--gdb/tracepoint.c5
-rw-r--r--gdb/tui/tui-interp.c6
-rw-r--r--gdb/tui/tui-io.c8
-rw-r--r--gdb/ui-out.c2
-rw-r--r--gdb/ui-out.h2
44 files changed, 270 insertions, 75 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 570fca8..60ad1aa 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,93 @@
2011-08-04 Pedro Alves <pedro@codesourcery.com>
+ * ui-out.h (uiout): Rename to ...
+ (current_uiout): ... this.
+ * ui-out.c (uiout): Rename to ...
+ (current_uiout): ... this.
+ * ada-lang.c (print_it_exception, print_one_exception)
+ (print_mention_exception): Adjust.
+ * breakpoint.c (watchpoint_check): Adjust.
+ (print_breakpoint_location, print_one_breakpoint, breakpoint_1)
+ (default_collect_info, watchpoints_info, print_one_catch_fork)
+ (print_one_catch_vfork, print_one_catch_syscall)
+ (print_one_catch_exec, mention, print_it_ranged_breakpoint)
+ (print_one_ranged_breakpoint, print_mention_ranged_breakpoint)
+ (print_it_watchpoint, print_mention_watchpoint)
+ (print_it_masked_watchpoint, print_mention_masked_watchpoint)
+ (print_it_exception_catchpoint, print_one_exception_catchpoint)
+ (print_mention_exception_catchpoint, say_where, bkpt_print_it)
+ (bkpt_print_mention, momentary_bkpt_print_it)
+ (tracepoint_print_mention, update_static_tracepoint)
+ (tracepoints_info, save_breakpoints): Adjust.
+ * cli-out.c (field_separator): Adjust.
+ * cp-abi.c (list_cp_abis, show_cp_abi_cmd): Adjust.
+ * exceptions.c (catch_exceptions_with_msg, catch_errors): Adjust.
+ * frame.c (get_current_frame): Adjust.
+ * infcmd.c (run_command_1, print_return_value): Adjust.
+ * inferior.c (inferior_command, info_inferiors_command): Adjust.
+ * infrun.c (print_end_stepping_range_reason): Adjust.
+ (print_signal_exited_reason, print_exited_reason): Adjust.
+ (print_signal_received_reason, print_no_history_reason): Adjust.
+ * interps.c (interp_set): Adjust.
+ * osdata.c (info_osdata_command): Adjust.
+ * progspace.c (maintenance_info_program_spaces_command): Adjust.
+ * remote-fileio.c (remote_fileio_request): Adjust.
+ * remote.c (show_remote_cmd): Adjust.
+ * solib.c (info_sharedlibrary_command): Adjust.
+ * source.c (print_source_lines_base): Adjust.
+ * stack.c (print_stack_frame): Adjust.
+ (do_gdb_disassembly, print_frame_info, print_frame): Adjust.
+ * symfile-mem.c (add_vsyscall_page): Adjust.
+ * symfile.c (load_progress, generic_load)
+ (print_transfer_performance): Adjust.
+ * thread.c (info_threads_command, restore_selected_frame)
+ (thread_command): Adjust.
+ * top.c (make_cleanup_restore_ui_file): Adjust.
+ * tracepoint.c (tvariables_info_1, trace_status_mi, tfind_1)
+ (print_one_static_tracepoint_marker): Adjust.
+ * cli/cli-cmds.c (print_disassembly): Adjust.
+ * cli/cli-decode.c (print_doc_line): Adjust.
+ * cli/cli-interp.c (safe_execute_command): Adjust.
+ * cli/cli-logging.c (set_logging_redirect, pop_output_files)
+ (handle_redirections): Adjust.
+ * cli/cli-script.c (show_user_1): Adjust.
+ * cli/cli-setshow.c (do_setshow_command, cmd_show_list): Adjust.
+ * mi/mi-cmd-break.c (breakpoint_notify): Adjust.
+ * mi/mi-cmd-disas.c (mi_cmd_disassemble): Adjust.
+ * mi/mi-cmd-env.c (mi_cmd_env_pwd, mi_cmd_env_path)
+ (mi_cmd_env_dir): Adjust.
+ * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file)
+ (print_partial_file_name, mi_cmd_file_list_exec_source_files): Adjust.
+ * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
+ (mi_cmd_stack_info_depth, mi_cmd_stack_list_args)
+ (list_args_or_locals): Adjust.
+ * mi/mi-cmd-var.c (print_varobj, mi_cmd_var_create)
+ (mi_cmd_var_delete, mi_cmd_var_set_format, mi_cmd_var_set_frozen)
+ (mi_cmd_var_show_format, mi_cmd_var_info_num_children)
+ (mi_cmd_var_list_children, mi_cmd_var_info_type)
+ (mi_cmd_var_info_path_expression, mi_cmd_var_info_expression)
+ (mi_cmd_var_show_attributes, mi_cmd_var_evaluate_expression)
+ (mi_cmd_var_assign, mi_cmd_var_update, varobj_update_one): Adjust.
+ * mi/mi-interp.c (mi_on_normal_stop): Adjust.
+ * mi/mi-main.c (mi_cmd_gdb_exit, mi_cmd_thread_select)
+ (mi_cmd_thread_list_ids, mi_cmd_thread_info, print_one_inferior)
+ (list_available_thread_groups, mi_cmd_list_thread_groups)
+ (mi_cmd_data_list_register_names)
+ (mi_cmd_data_list_changed_registers)
+ (mi_cmd_data_list_register_values, get_register)
+ (mi_cmd_data_evaluate_expression, mi_cmd_data_read_memory)
+ (mi_cmd_data_read_memory_bytes, mi_cmd_list_features)
+ (mi_cmd_list_target_features, mi_cmd_add_inferior)
+ (mi_execute_command, mi_load_progress): Adjust.
+ * mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Adjust.
+ * python/py-auto-load.c (print_script, info_auto_load_scripts):
+ Adjust.
+ * python/py-breakpoint.c (bppy_get_commands): Adjust.
+ * tui/tui-interp.c (tui_command_loop): Adjust.
+ * tui/tui-io.c (tui_setup_io, tui_initialize_io): Adjust.
+
+2011-08-04 Pedro Alves <pedro@codesourcery.com>
+
* exceptions.c (struct catcher): Remove saved_uiout field.
(exceptions_state_mc_init): Remove the `func_uiout' parameter, and
no longer save/resvore the global ui_out builder.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 02115de..1dabd0f 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -11078,6 +11078,7 @@ check_status_exception (enum exception_catchpoint_kind ex, bpstat bs)
static enum print_stop_action
print_it_exception (enum exception_catchpoint_kind ex, bpstat bs)
{
+ struct ui_out *uiout = current_uiout;
struct breakpoint *b = bs->breakpoint_at;
annotate_catchpoint (b->number);
@@ -11150,6 +11151,7 @@ static void
print_one_exception (enum exception_catchpoint_kind ex,
struct breakpoint *b, struct bp_location **last_loc)
{
+ struct ui_out *uiout = current_uiout;
struct ada_catchpoint *c = (struct ada_catchpoint *) b;
struct value_print_options opts;
@@ -11199,6 +11201,7 @@ print_mention_exception (enum exception_catchpoint_kind ex,
struct breakpoint *b)
{
struct ada_catchpoint *c = (struct ada_catchpoint *) b;
+ struct ui_out *uiout = current_uiout;
ui_out_text (uiout, b->disposition == disp_del ? _("Temporary catchpoint ")
: _("Catchpoint "));
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 96d78ac..1495a5e 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -3685,6 +3685,8 @@ watchpoint_check (void *p)
}
else
{
+ struct ui_out *uiout = current_uiout;
+
/* This seems like the only logical thing to do because
if we temporarily ignored the watchpoint, then when
we reenter the block in which it is valid it contains
@@ -4498,6 +4500,7 @@ static void
print_breakpoint_location (struct breakpoint *b,
struct bp_location *loc)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *old_chain = save_current_program_space ();
if (loc != NULL && loc->shlib_disabled)
@@ -4616,6 +4619,7 @@ print_one_breakpoint_location (struct breakpoint *b,
struct command_line *l;
static char bpenables[] = "nynny";
+ struct ui_out *uiout = current_uiout;
int header_of_multiple = 0;
int part_of_multiple = (loc != NULL);
struct value_print_options opts;
@@ -4906,6 +4910,7 @@ print_one_breakpoint (struct breakpoint *b,
int allflag)
{
struct cleanup *bkpt_chain;
+ struct ui_out *uiout = current_uiout;
bkpt_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "bkpt");
@@ -5031,6 +5036,7 @@ breakpoint_1 (char *args, int allflag,
struct value_print_options opts;
int print_address_bits = 0;
int print_type_col_width = 14;
+ struct ui_out *uiout = current_uiout;
get_user_print_options (&opts);
@@ -5177,6 +5183,8 @@ breakpoint_1 (char *args, int allflag,
static void
default_collect_info (void)
{
+ struct ui_out *uiout = current_uiout;
+
/* If it has no value (which is frequently the case), say nothing; a
message like "No default-collect." gets in user's face when it's
not wanted. */
@@ -5202,6 +5210,7 @@ static void
watchpoints_info (char *args, int from_tty)
{
int num_printed = breakpoint_1 (args, 0, is_watchpoint);
+ struct ui_out *uiout = current_uiout;
if (num_printed == 0)
{
@@ -6165,6 +6174,7 @@ print_one_catch_fork (struct breakpoint *b, struct bp_location **last_loc)
{
struct fork_catchpoint *c = (struct fork_catchpoint *) b;
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
get_user_print_options (&opts);
@@ -6260,6 +6270,7 @@ print_one_catch_vfork (struct breakpoint *b, struct bp_location **last_loc)
{
struct fork_catchpoint *c = (struct fork_catchpoint *) b;
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
get_user_print_options (&opts);
/* Field 4, the address, is omitted (which makes the columns not
@@ -6501,6 +6512,7 @@ print_one_catch_syscall (struct breakpoint *b,
{
struct syscall_catchpoint *c = (struct syscall_catchpoint *) b;
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
get_user_print_options (&opts);
/* Field 4, the address, is omitted (which makes the columns not
@@ -6743,6 +6755,7 @@ print_one_catch_exec (struct breakpoint *b, struct bp_location **last_loc)
{
struct exec_catchpoint *c = (struct exec_catchpoint *) b;
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
get_user_print_options (&opts);
@@ -7027,7 +7040,7 @@ static void
mention (struct breakpoint *b)
{
b->ops->print_mention (b);
- if (ui_out_is_mi_like_p (uiout))
+ if (ui_out_is_mi_like_p (current_uiout))
return;
printf_filtered ("\n");
}
@@ -8160,6 +8173,7 @@ print_it_ranged_breakpoint (bpstat bs)
{
struct breakpoint *b = bs->breakpoint_at;
struct bp_location *bl = b->loc;
+ struct ui_out *uiout = current_uiout;
gdb_assert (b->type == bp_hardware_breakpoint);
@@ -8192,6 +8206,7 @@ print_one_ranged_breakpoint (struct breakpoint *b,
{
struct bp_location *bl = b->loc;
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
/* Ranged breakpoints have only one location. */
gdb_assert (bl && bl->next == NULL);
@@ -8241,6 +8256,7 @@ static void
print_mention_ranged_breakpoint (struct breakpoint *b)
{
struct bp_location *bl = b->loc;
+ struct ui_out *uiout = current_uiout;
gdb_assert (bl);
gdb_assert (b->type == bp_hardware_breakpoint);
@@ -8668,6 +8684,7 @@ print_it_watchpoint (bpstat bs)
struct ui_stream *stb;
enum print_stop_action result;
struct watchpoint *w;
+ struct ui_out *uiout = current_uiout;
gdb_assert (bs->bp_location_at != NULL);
@@ -8760,6 +8777,7 @@ print_mention_watchpoint (struct breakpoint *b)
{
struct cleanup *ui_out_chain;
struct watchpoint *w = (struct watchpoint *) b;
+ struct ui_out *uiout = current_uiout;
switch (b->type)
{
@@ -8874,6 +8892,7 @@ static enum print_stop_action
print_it_masked_watchpoint (bpstat bs)
{
struct breakpoint *b = bs->breakpoint_at;
+ struct ui_out *uiout = current_uiout;
/* Masked watchpoints have only one location. */
gdb_assert (b->loc && b->loc->next == NULL);
@@ -8940,6 +8959,7 @@ static void
print_mention_masked_watchpoint (struct breakpoint *b)
{
struct watchpoint *w = (struct watchpoint *) b;
+ struct ui_out *uiout = current_uiout;
struct cleanup *ui_out_chain;
switch (b->type)
@@ -9720,6 +9740,7 @@ catch_exec_command_1 (char *arg, int from_tty,
static enum print_stop_action
print_it_exception_catchpoint (bpstat bs)
{
+ struct ui_out *uiout = current_uiout;
struct breakpoint *b = bs->breakpoint_at;
int bp_temp, bp_throw;
@@ -9754,6 +9775,7 @@ print_one_exception_catchpoint (struct breakpoint *b,
struct bp_location **last_loc)
{
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
get_user_print_options (&opts);
if (opts.addressprint)
@@ -9777,6 +9799,7 @@ print_one_exception_catchpoint (struct breakpoint *b,
static void
print_mention_exception_catchpoint (struct breakpoint *b)
{
+ struct ui_out *uiout = current_uiout;
int bp_temp;
int bp_throw;
@@ -10650,6 +10673,7 @@ bpstat_remove_breakpoint_callback (struct thread_info *th, void *data)
static void
say_where (struct breakpoint *b)
{
+ struct ui_out *uiout = current_uiout;
struct value_print_options opts;
get_user_print_options (&opts);
@@ -10888,6 +10912,7 @@ bkpt_print_it (bpstat bs)
struct breakpoint *b;
const struct bp_location *bl;
int bp_temp;
+ struct ui_out *uiout = current_uiout;
gdb_assert (bs->bp_location_at != NULL);
@@ -10919,7 +10944,7 @@ bkpt_print_it (bpstat bs)
static void
bkpt_print_mention (struct breakpoint *b)
{
- if (ui_out_is_mi_like_p (uiout))
+ if (ui_out_is_mi_like_p (current_uiout))
return;
switch (b->type)
@@ -11069,6 +11094,8 @@ momentary_bkpt_check_status (bpstat bs)
static enum print_stop_action
momentary_bkpt_print_it (bpstat bs)
{
+ struct ui_out *uiout = current_uiout;
+
if (ui_out_is_mi_like_p (uiout))
{
struct breakpoint *b = bs->breakpoint_at;
@@ -11134,7 +11161,7 @@ tracepoint_print_one_detail (const struct breakpoint *self,
static void
tracepoint_print_mention (struct breakpoint *b)
{
- if (ui_out_is_mi_like_p (uiout))
+ if (ui_out_is_mi_like_p (current_uiout))
return;
switch (b->type)
@@ -11500,6 +11527,7 @@ update_static_tracepoint (struct breakpoint *b, struct symtab_and_line sal)
struct symtab_and_line sal;
struct symbol *sym;
struct static_tracepoint_marker *marker;
+ struct ui_out *uiout = current_uiout;
marker = VEC_index (static_tracepoint_marker_p, markers, 0);
@@ -12765,6 +12793,7 @@ create_tracepoint_from_upload (struct uploaded_tp *utp)
static void
tracepoints_info (char *args, int from_tty)
{
+ struct ui_out *uiout = current_uiout;
int num_printed;
num_printed = breakpoint_1 (args, 0, is_tracepoint);
@@ -13079,12 +13108,12 @@ save_breakpoints (char *filename, int from_tty,
fprintf_unfiltered (fp, " commands\n");
- ui_out_redirect (uiout, fp);
+ ui_out_redirect (current_uiout, fp);
TRY_CATCH (ex, RETURN_MASK_ALL)
{
- print_command_lines (uiout, tp->commands->commands, 2);
+ print_command_lines (current_uiout, tp->commands->commands, 2);
}
- ui_out_redirect (uiout, NULL);
+ ui_out_redirect (current_uiout, NULL);
if (ex.reason < 0)
throw_exception (ex);
diff --git a/gdb/cli-out.c b/gdb/cli-out.c
index 9a8515d..8c85c38 100644
--- a/gdb/cli-out.c
+++ b/gdb/cli-out.c
@@ -342,7 +342,7 @@ out_field_fmt (struct ui_out *uiout, int fldno,
static void
field_separator (void)
{
- cli_out_data *data = ui_out_data (uiout);
+ cli_out_data *data = ui_out_data (current_uiout);
struct ui_file *stream = VEC_last (ui_filep, data->streams);
fputc_filtered (' ', stream);
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index d4b29a21..ccf6ea6 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1063,7 +1063,7 @@ print_disassembly (struct gdbarch *gdbarch, const char *name,
paddress (gdbarch, low), paddress (gdbarch, high));
/* Dump the specified range. */
- gdb_disassembly (gdbarch, uiout, 0, flags, -1, low, high);
+ gdb_disassembly (gdbarch, current_uiout, 0, flags, -1, low, high);
printf_filtered ("End of assembler dump.\n");
gdb_flush (gdb_stdout);
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index 744d52e..622ee68 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -1018,7 +1018,7 @@ print_doc_line (struct ui_file *stream, char *str)
line_buffer[p - str] = '\0';
if (islower (line_buffer[0]))
line_buffer[0] = toupper (line_buffer[0]);
- ui_out_text (uiout, line_buffer);
+ ui_out_text (current_uiout, line_buffer);
}
/* Print one-line help for command C.
diff --git a/gdb/cli/cli-interp.c b/gdb/cli/cli-interp.c
index 32883cf..3284849 100644
--- a/gdb/cli/cli-interp.c
+++ b/gdb/cli/cli-interp.c
@@ -118,8 +118,8 @@ safe_execute_command (struct ui_out *command_uiout, char *command, int from_tty)
struct ui_out *saved_uiout;
/* Save and override the global ``struct ui_out'' builder. */
- saved_uiout = uiout;
- uiout = command_uiout;
+ saved_uiout = current_uiout;
+ current_uiout = command_uiout;
TRY_CATCH (e, RETURN_MASK_ALL)
{
@@ -127,7 +127,7 @@ safe_execute_command (struct ui_out *command_uiout, char *command, int from_tty)
}
/* Restore the global builder. */
- uiout = saved_uiout;
+ current_uiout = saved_uiout;
/* FIXME: cagney/2005-01-13: This shouldn't be needed. Instead the
caller should print the exception. */
diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c
index d0e25ea..46f89c0 100644
--- a/gdb/cli/cli-logging.c
+++ b/gdb/cli/cli-logging.c
@@ -81,6 +81,7 @@ set_logging_redirect (char *args, int from_tty, struct cmd_list_element *c)
{
struct cleanup *cleanups = NULL;
struct ui_file *output, *new_logging_no_redirect_file;
+ struct ui_out *uiout = current_uiout;
if (saved_filename == NULL
|| (logging_redirect != 0 && logging_no_redirect_file == NULL)
@@ -166,7 +167,7 @@ pop_output_files (void)
saved_output.targ = NULL;
saved_output.targerr = NULL;
- ui_out_redirect (uiout, NULL);
+ ui_out_redirect (current_uiout, NULL);
}
/* This is a helper for the `set logging' command. */
@@ -226,7 +227,7 @@ handle_redirections (int from_tty)
gdb_stdtarg = output;
gdb_stdtargerr = output;
- if (ui_out_redirect (uiout, output) < 0)
+ if (ui_out_redirect (current_uiout, output) < 0)
warning (_("Current output protocol does not support redirection"));
}
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index c94f7ee..66fa220 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -1661,7 +1661,7 @@ show_user_1 (struct cmd_list_element *c, char *prefix, char *name,
return;
fprintf_filtered (stream, "User command \"%s%s\":\n", prefix, name);
- print_command_lines (uiout, cmdlines, 1);
+ print_command_lines (current_uiout, cmdlines, 1);
fputs_filtered ("\n", stream);
}
diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c
index 8dbfaad..5e48466 100644
--- a/gdb/cli/cli-setshow.c
+++ b/gdb/cli/cli-setshow.c
@@ -125,6 +125,8 @@ deprecated_show_value_hack (struct ui_file *ignore_file,
void
do_setshow_command (char *arg, int from_tty, struct cmd_list_element *c)
{
+ struct ui_out *uiout = current_uiout;
+
if (c->type == set_cmd)
{
switch (c->var_type)
@@ -411,6 +413,7 @@ void
cmd_show_list (struct cmd_list_element *list, int from_tty, char *prefix)
{
struct cleanup *showlist_chain;
+ struct ui_out *uiout = current_uiout;
showlist_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "showlist");
for (; list != NULL; list = list->next)
diff --git a/gdb/cp-abi.c b/gdb/cp-abi.c
index 040962e..82a164e 100644
--- a/gdb/cp-abi.c
+++ b/gdb/cp-abi.c
@@ -262,6 +262,7 @@ find_cp_abi (const char *short_name)
static void
list_cp_abis (int from_tty)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *cleanup_chain;
int i;
@@ -309,6 +310,8 @@ set_cp_abi_cmd (char *args, int from_tty)
static void
show_cp_abi_cmd (char *args, int from_tty)
{
+ struct ui_out *uiout = current_uiout;
+
ui_out_text (uiout, "The currently selected C++ ABI is \"");
ui_out_field_string (uiout, "cp-abi", current_cp_abi.shortname);
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 6704f93..23a85fe 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -462,16 +462,16 @@ catch_exceptions_with_msg (struct ui_out *func_uiout,
struct ui_out *saved_uiout;
/* Save and override the global ``struct ui_out'' builder. */
- saved_uiout = uiout;
- uiout = func_uiout;
+ saved_uiout = current_uiout;
+ current_uiout = func_uiout;
TRY_CATCH (exception, RETURN_MASK_ALL)
{
- val = (*func) (uiout, func_args);
+ val = (*func) (current_uiout, func_args);
}
/* Restore the global builder. */
- uiout = saved_uiout;
+ current_uiout = saved_uiout;
if (exception.reason < 0 && (mask & RETURN_MASK (exception.reason)) == 0)
{
@@ -511,7 +511,7 @@ catch_errors (catch_errors_ftype *func, void *func_args, char *errstring,
struct ui_out *saved_uiout;
/* Save the global ``struct ui_out'' builder. */
- saved_uiout = uiout;
+ saved_uiout = current_uiout;
TRY_CATCH (exception, RETURN_MASK_ALL)
{
@@ -519,7 +519,7 @@ catch_errors (catch_errors_ftype *func, void *func_args, char *errstring,
}
/* Restore the global builder. */
- uiout = saved_uiout;
+ current_uiout = saved_uiout;
if (exception.reason < 0 && (mask & RETURN_MASK (exception.reason)) == 0)
{
diff --git a/gdb/frame.c b/gdb/frame.c
index 7a35192..37f106a 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1306,8 +1306,8 @@ get_current_frame (void)
{
struct frame_info *sentinel_frame =
create_sentinel_frame (current_program_space, get_current_regcache ());
- if (catch_exceptions (uiout, unwind_to_current_frame, sentinel_frame,
- RETURN_MASK_ERROR) != 0)
+ if (catch_exceptions (current_uiout, unwind_to_current_frame,
+ sentinel_frame, RETURN_MASK_ERROR) != 0)
{
/* Oops! Fake a current frame? Is this useful? It has a PC
of zero, for instance. */
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 0a38c64..3e8bf5d 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -503,6 +503,7 @@ run_command_1 (char *args, int from_tty, int tbreak_at_main)
char *exec_file;
struct cleanup *old_chain;
ptid_t ptid;
+ struct ui_out *uiout = current_uiout;
dont_repeat ();
@@ -1421,6 +1422,7 @@ print_return_value (struct type *func_type, struct type *value_type)
struct cleanup *old_chain;
struct ui_stream *stb;
struct value *value;
+ struct ui_out *uiout = current_uiout;
CHECK_TYPEDEF (value_type);
gdb_assert (TYPE_CODE (value_type) != TYPE_CODE_VOID);
diff --git a/gdb/inferior.c b/gdb/inferior.c
index bfdbf30..b4b33de 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -732,10 +732,10 @@ inferior_command (char *args, int from_tty)
}
if (inf->pid != 0 && is_running (inferior_ptid))
- ui_out_text (uiout, "(running)\n");
+ ui_out_text (current_uiout, "(running)\n");
else if (inf->pid != 0)
{
- ui_out_text (uiout, "\n");
+ ui_out_text (current_uiout, "\n");
print_stack_frame (get_selected_frame (NULL), 1, SRC_AND_LOC);
}
}
@@ -745,7 +745,7 @@ inferior_command (char *args, int from_tty)
static void
info_inferiors_command (char *args, int from_tty)
{
- print_inferior (uiout, args);
+ print_inferior (current_uiout, args);
}
/* remove-inferior ID */
diff --git a/gdb/infrun.c b/gdb/infrun.c
index f92bc9b..3022f9b 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -5614,8 +5614,8 @@ print_end_stepping_range_reason (void)
{
if ((!inferior_thread ()->step_multi
|| !inferior_thread ()->control.stop_step)
- && ui_out_is_mi_like_p (uiout))
- ui_out_field_string (uiout, "reason",
+ && ui_out_is_mi_like_p (current_uiout))
+ ui_out_field_string (current_uiout, "reason",
async_reason_lookup (EXEC_ASYNC_END_STEPPING_RANGE));
}
@@ -5624,6 +5624,8 @@ print_end_stepping_range_reason (void)
static void
print_signal_exited_reason (enum target_signal siggnal)
{
+ struct ui_out *uiout = current_uiout;
+
annotate_signalled ();
if (ui_out_is_mi_like_p (uiout))
ui_out_field_string
@@ -5649,6 +5651,7 @@ print_exited_reason (int exitstatus)
{
struct inferior *inf = current_inferior ();
const char *pidstr = target_pid_to_str (pid_to_ptid (inf->pid));
+ struct ui_out *uiout = current_uiout;
annotate_exited (exitstatus);
if (exitstatus)
@@ -5685,6 +5688,8 @@ print_exited_reason (int exitstatus)
static void
print_signal_received_reason (enum target_signal siggnal)
{
+ struct ui_out *uiout = current_uiout;
+
annotate_signal ();
if (siggnal == TARGET_SIGNAL_0 && !ui_out_is_mi_like_p (uiout))
@@ -5722,7 +5727,7 @@ print_signal_received_reason (enum target_signal siggnal)
static void
print_no_history_reason (void)
{
- ui_out_text (uiout, "\nNo more reverse-execution history.\n");
+ ui_out_text (current_uiout, "\nNo more reverse-execution history.\n");
}
/* Here to return control to GDB when the inferior stops for real.
diff --git a/gdb/interps.c b/gdb/interps.c
index c03d424..f042806 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -150,7 +150,7 @@ interp_set (struct interp *interp, int top_level)
if (current_interpreter != NULL)
{
- ui_out_flush (uiout);
+ ui_out_flush (current_uiout);
if (current_interpreter->procs->suspend_proc
&& !current_interpreter->procs->suspend_proc (current_interpreter->
data))
@@ -178,7 +178,7 @@ interp_set (struct interp *interp, int top_level)
interpreter_p = xstrdup (current_interpreter->name);
}
- uiout = interp->interpreter_out;
+ current_uiout = interp->interpreter_out;
/* Run the init proc. If it fails, try to restore the old interp. */
@@ -214,7 +214,7 @@ interp_set (struct interp *interp, int top_level)
{
sprintf (buffer, "Switching to interpreter \"%.24s\".\n",
interp->name);
- ui_out_text (uiout, buffer);
+ ui_out_text (current_uiout, buffer);
}
display_gdb_prompt (NULL);
}
diff --git a/gdb/mi/mi-cmd-break.c b/gdb/mi/mi-cmd-break.c
index fee8f73..c98330d 100644
--- a/gdb/mi/mi-cmd-break.c
+++ b/gdb/mi/mi-cmd-break.c
@@ -50,7 +50,7 @@ static void
breakpoint_notify (struct breakpoint *b)
{
if (mi_can_breakpoint_notify)
- gdb_breakpoint_query (uiout, b->number, NULL);
+ gdb_breakpoint_query (current_uiout, b->number, NULL);
}
enum bp_type
diff --git a/gdb/mi/mi-cmd-disas.c b/gdb/mi/mi-cmd-disas.c
index 28e84f6..6cc0a83 100644
--- a/gdb/mi/mi-cmd-disas.c
+++ b/gdb/mi/mi-cmd-disas.c
@@ -55,6 +55,7 @@ void
mi_cmd_disassemble (char *command, char **argv, int argc)
{
struct gdbarch *gdbarch = get_current_arch ();
+ struct ui_out *uiout = current_uiout;
CORE_ADDR start;
int mode, disasm_flags;
diff --git a/gdb/mi/mi-cmd-env.c b/gdb/mi/mi-cmd-env.c
index ad34aac..9676e83 100644
--- a/gdb/mi/mi-cmd-env.c
+++ b/gdb/mi/mi-cmd-env.c
@@ -69,6 +69,8 @@ env_execute_cli_command (const char *cmd, const char *args)
void
mi_cmd_env_pwd (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
+
if (argc > 0)
error (_("-environment-pwd: No arguments required"));
@@ -112,6 +114,7 @@ env_mod_path (char *dirname, char **which_path)
void
mi_cmd_env_path (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
char *exec_path;
char *env;
int reset = 0;
@@ -185,6 +188,7 @@ mi_cmd_env_path (char *command, char **argv, int argc)
void
mi_cmd_env_dir (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
int i;
int optind = 0;
int reset = 0;
@@ -257,7 +261,8 @@ mi_cmd_inferior_tty_show (char *command, char **argv, int argc)
error (_("-inferior-tty-show: Usage: No args"));
if (inferior_io_terminal)
- ui_out_field_string (uiout, "inferior_tty_terminal", inferior_io_terminal);
+ ui_out_field_string (current_uiout,
+ "inferior_tty_terminal", inferior_io_terminal);
}
void
diff --git a/gdb/mi/mi-cmd-file.c b/gdb/mi/mi-cmd-file.c
index 0150ca0..22cb995 100644
--- a/gdb/mi/mi-cmd-file.c
+++ b/gdb/mi/mi-cmd-file.c
@@ -34,6 +34,7 @@ void
mi_cmd_file_list_exec_source_file (char *command, char **argv, int argc)
{
struct symtab_and_line st;
+ struct ui_out *uiout = current_uiout;
if (!mi_valid_noargs ("-file-list-exec-source-file", argc, argv))
error (_("-file-list-exec-source-file: Usage: No args"));
@@ -67,6 +68,8 @@ static void
print_partial_file_name (const char *filename, const char *fullname,
void *ignore)
{
+ struct ui_out *uiout = current_uiout;
+
ui_out_begin (uiout, ui_out_type_tuple, NULL);
ui_out_field_string (uiout, "file", filename);
@@ -80,6 +83,7 @@ print_partial_file_name (const char *filename, const char *fullname,
void
mi_cmd_file_list_exec_source_files (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct symtab *s;
struct objfile *objfile;
diff --git a/gdb/mi/mi-cmd-stack.c b/gdb/mi/mi-cmd-stack.c
index ad20851..ccd6b04 100644
--- a/gdb/mi/mi-cmd-stack.c
+++ b/gdb/mi/mi-cmd-stack.c
@@ -78,7 +78,7 @@ mi_cmd_stack_list_frames (char *command, char **argv, int argc)
if (fi == NULL)
error (_("-stack-list-frames: Not enough frames in stack."));
- cleanup_stack = make_cleanup_ui_out_list_begin_end (uiout, "stack");
+ cleanup_stack = make_cleanup_ui_out_list_begin_end (current_uiout, "stack");
/* Now let;s print the frames up to frame_high, or until there are
frames in the stack. */
@@ -117,7 +117,7 @@ mi_cmd_stack_info_depth (char *command, char **argv, int argc)
i++, fi = get_prev_frame (fi))
QUIT;
- ui_out_field_int (uiout, "depth", i);
+ ui_out_field_int (current_uiout, "depth", i);
}
static enum print_values
@@ -166,6 +166,7 @@ mi_cmd_stack_list_args (char *command, char **argv, int argc)
struct frame_info *fi;
struct cleanup *cleanup_stack_args;
enum print_values print_values;
+ struct ui_out *uiout = current_uiout;
if (argc < 1 || argc > 3 || argc == 2)
error (_("-stack-list-arguments: Usage: "
@@ -249,6 +250,7 @@ list_args_or_locals (enum what_to_list what, int values, struct frame_info *fi)
static struct ui_stream *stb = NULL;
struct type *type;
char *name_of_result;
+ struct ui_out *uiout = current_uiout;
stb = ui_out_stream_new (uiout);
diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c
index aee6224..c50f863 100644
--- a/gdb/mi/mi-cmd-var.c
+++ b/gdb/mi/mi-cmd-var.c
@@ -51,6 +51,7 @@ static void
print_varobj (struct varobj *var, enum print_values print_values,
int print_expression)
{
+ struct ui_out *uiout = current_uiout;
char *type;
int thread_id;
char *display_hint;
@@ -98,6 +99,7 @@ print_varobj (struct varobj *var, enum print_values print_values,
void
mi_cmd_var_create (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
CORE_ADDR frameaddr = 0;
struct varobj *var;
char *name;
@@ -167,6 +169,7 @@ mi_cmd_var_delete (char *command, char **argv, int argc)
int numdel;
int children_only_p = 0;
struct cleanup *old_cleanups;
+ struct ui_out *uiout = current_uiout;
if (argc < 1 || argc > 2)
error (_("-var-delete: Usage: [-c] EXPRESSION."));
@@ -244,6 +247,7 @@ mi_cmd_var_set_format (char *command, char **argv, int argc)
enum varobj_display_formats format;
struct varobj *var;
char *val;
+ struct ui_out *uiout = current_uiout;
if (argc != 2)
error (_("-var-set-format: Usage: NAME FORMAT."));
@@ -310,6 +314,7 @@ mi_cmd_var_set_frozen (char *command, char **argv, int argc)
void
mi_cmd_var_show_format (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
enum varobj_display_formats format;
struct varobj *var;
@@ -328,6 +333,7 @@ mi_cmd_var_show_format (char *command, char **argv, int argc)
void
mi_cmd_var_info_num_children (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct varobj *var;
if (argc != 1)
@@ -394,6 +400,7 @@ mi_print_value_p (struct varobj *var, enum print_values print_values)
void
mi_cmd_var_list_children (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct varobj *var;
VEC(varobj_p) *children;
struct varobj *child;
@@ -466,6 +473,7 @@ mi_cmd_var_list_children (char *command, char **argv, int argc)
void
mi_cmd_var_info_type (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct varobj *var;
if (argc != 1)
@@ -480,6 +488,7 @@ mi_cmd_var_info_type (char *command, char **argv, int argc)
void
mi_cmd_var_info_path_expression (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct varobj *var;
char *path_expr;
@@ -497,6 +506,7 @@ mi_cmd_var_info_path_expression (char *command, char **argv, int argc)
void
mi_cmd_var_info_expression (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
enum varobj_languages lang;
struct varobj *var;
@@ -515,6 +525,7 @@ mi_cmd_var_info_expression (char *command, char **argv, int argc)
void
mi_cmd_var_show_attributes (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
int attr;
char *attstr;
struct varobj *var;
@@ -538,6 +549,7 @@ mi_cmd_var_show_attributes (char *command, char **argv, int argc)
void
mi_cmd_var_evaluate_expression (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct varobj *var;
enum varobj_display_formats format;
@@ -606,6 +618,7 @@ mi_cmd_var_evaluate_expression (char *command, char **argv, int argc)
void
mi_cmd_var_assign (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct varobj *var;
char *expression, *val;
@@ -667,6 +680,7 @@ mi_cmd_var_update_iter (struct varobj *var, void *data_pointer)
void
mi_cmd_var_update (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *cleanup;
char *name;
enum print_values print_values;
@@ -722,6 +736,7 @@ static void
varobj_update_one (struct varobj *var, enum print_values print_values,
int explicit)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *cleanup = NULL;
VEC (varobj_update_result) *changes;
varobj_update_result *r;
diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
index 7358b73..ac8c171 100644
--- a/gdb/mi/mi-interp.c
+++ b/gdb/mi/mi-interp.c
@@ -401,18 +401,18 @@ mi_on_normal_stop (struct bpstats *bs, int print_frame)
{
int core;
- if (uiout != mi_uiout)
+ if (current_uiout != mi_uiout)
{
/* The normal_stop function has printed frame information into
CLI uiout, or some other non-MI uiout. There's no way we
can extract proper fields from random uiout object, so we print
the frame again. In practice, this can only happen when running
a CLI command in MI. */
- struct ui_out *saved_uiout = uiout;
+ struct ui_out *saved_uiout = current_uiout;
- uiout = mi_uiout;
+ current_uiout = mi_uiout;
print_stack_frame (get_selected_frame (NULL), 0, SRC_AND_LOC);
- uiout = saved_uiout;
+ current_uiout = saved_uiout;
}
ui_out_field_int (mi_uiout, "thread-id",
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 1634778..04a1c97 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -117,7 +117,7 @@ mi_cmd_gdb_exit (char *command, char **argv, int argc)
if (current_token)
fputs_unfiltered (current_token, raw_stdout);
fputs_unfiltered ("^exit\n", raw_stdout);
- mi_out_put (uiout, raw_stdout);
+ mi_out_put (current_uiout, raw_stdout);
gdb_flush (raw_stdout);
/* FIXME: The function called is not yet a formal libgdb function. */
quit_force (NULL, FROM_TTY);
@@ -470,7 +470,7 @@ mi_cmd_thread_select (char *command, char **argv, int argc)
if (argc != 1)
error (_("-thread-select: USAGE: threadnum."));
- rc = gdb_thread_select (uiout, argv[0], &mi_error_message);
+ rc = gdb_thread_select (current_uiout, argv[0], &mi_error_message);
if (rc == GDB_RC_FAIL)
{
@@ -488,7 +488,7 @@ mi_cmd_thread_list_ids (char *command, char **argv, int argc)
if (argc != 0)
error (_("-thread-list-ids: No arguments required."));
- rc = gdb_list_thread_ids (uiout, &mi_error_message);
+ rc = gdb_list_thread_ids (current_uiout, &mi_error_message);
if (rc == GDB_RC_FAIL)
{
@@ -503,7 +503,7 @@ mi_cmd_thread_info (char *command, char **argv, int argc)
if (argc != 0 && argc != 1)
error (_("Invalid MI command"));
- print_thread_info (uiout, argv[0], -1);
+ print_thread_info (current_uiout, argv[0], -1);
}
struct collect_cores_data
@@ -550,6 +550,7 @@ static int
print_one_inferior (struct inferior *inferior, void *xdata)
{
struct print_one_inferior_data *top_data = xdata;
+ struct ui_out *uiout = current_uiout;
if (VEC_empty (int, top_data->inferiors)
|| bsearch (&(inferior->pid), VEC_address (int, top_data->inferiors),
@@ -670,6 +671,7 @@ list_available_thread_groups (VEC (int) *ids, int recurse)
struct osdata *data;
struct osdata_item *item;
int ix_items;
+ struct ui_out *uiout = current_uiout;
/* This keeps a map from integer (pid) to VEC (struct osdata_item *)*
The vector contains information about all threads for the given pid.
@@ -787,6 +789,7 @@ list_available_thread_groups (VEC (int) *ids, int recurse)
void
mi_cmd_list_thread_groups (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *back_to;
int available = 0;
int recurse = 0;
@@ -889,6 +892,7 @@ void
mi_cmd_data_list_register_names (char *command, char **argv, int argc)
{
struct gdbarch *gdbarch;
+ struct ui_out *uiout = current_uiout;
int regnum, numregs;
int i;
struct cleanup *cleanup;
@@ -940,6 +944,7 @@ void
mi_cmd_data_list_changed_registers (char *command, char **argv, int argc)
{
static struct regcache *this_regs = NULL;
+ struct ui_out *uiout = current_uiout;
struct regcache *prev_regs;
struct gdbarch *gdbarch;
int regnum, numregs, changed;
@@ -1044,6 +1049,7 @@ register_changed_p (int regnum, struct regcache *prev_regs,
void
mi_cmd_data_list_register_values (char *command, char **argv, int argc)
{
+ struct ui_out *uiout = current_uiout;
struct frame_info *frame;
struct gdbarch *gdbarch;
int regnum, numregs, format;
@@ -1110,6 +1116,7 @@ static void
get_register (struct frame_info *frame, int regnum, int format)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
+ struct ui_out *uiout = current_uiout;
CORE_ADDR addr;
enum lval_type lval;
static struct ui_stream *stb = NULL;
@@ -1229,6 +1236,7 @@ mi_cmd_data_evaluate_expression (char *command, char **argv, int argc)
struct value *val;
struct ui_stream *stb = NULL;
struct value_print_options opts;
+ struct ui_out *uiout = current_uiout;
stb = ui_out_stream_new (uiout);
@@ -1279,6 +1287,7 @@ void
mi_cmd_data_read_memory (char *command, char **argv, int argc)
{
struct gdbarch *gdbarch = get_current_arch ();
+ struct ui_out *uiout = current_uiout;
struct cleanup *cleanups = make_cleanup (null_cleanup, NULL);
CORE_ADDR addr;
long total_bytes;
@@ -1470,6 +1479,7 @@ void
mi_cmd_data_read_memory_bytes (char *command, char **argv, int argc)
{
struct gdbarch *gdbarch = get_current_arch ();
+ struct ui_out *uiout = current_uiout;
struct cleanup *cleanups;
CORE_ADDR addr;
LONGEST length;
@@ -1702,6 +1712,7 @@ mi_cmd_list_features (char *command, char **argv, int argc)
if (argc == 0)
{
struct cleanup *cleanup = NULL;
+ struct ui_out *uiout = current_uiout;
cleanup = make_cleanup_ui_out_list_begin_end (uiout, "features");
ui_out_field_string (uiout, NULL, "frozen-varobjs");
@@ -1727,6 +1738,7 @@ mi_cmd_list_target_features (char *command, char **argv, int argc)
if (argc == 0)
{
struct cleanup *cleanup = NULL;
+ struct ui_out *uiout = current_uiout;
cleanup = make_cleanup_ui_out_list_begin_end (uiout, "features");
if (target_can_async_p ())
@@ -1751,7 +1763,7 @@ mi_cmd_add_inferior (char *command, char **argv, int argc)
inf = add_inferior_with_spaces ();
- ui_out_field_fmt (uiout, "inferior", "i%d", inf->num);
+ ui_out_field_fmt (current_uiout, "inferior", "i%d", inf->num);
}
/* Callback used to find the first inferior other than the
@@ -1958,14 +1970,14 @@ mi_execute_command (char *cmd, int from_tty)
TRY_CATCH (result, RETURN_MASK_ALL)
{
- captured_mi_execute_command (uiout, command);
+ captured_mi_execute_command (current_uiout, command);
}
if (result.reason < 0)
{
/* The command execution failed and error() was called
somewhere. */
mi_print_exception (command->token, result);
- mi_out_rewind (uiout);
+ mi_out_rewind (current_uiout);
}
bpstat_do_actions ();
@@ -2177,22 +2189,25 @@ mi_load_progress (const char *section_name,
static char *previous_sect_name = NULL;
int new_section;
struct ui_out *saved_uiout;
+ struct ui_out *uiout;
/* This function is called through deprecated_show_load_progress
which means uiout may not be correct. Fix it for the duration
of this function. */
- saved_uiout = uiout;
+ saved_uiout = current_uiout;
if (current_interp_named_p (INTERP_MI)
|| current_interp_named_p (INTERP_MI2))
- uiout = mi_out_new (2);
+ current_uiout = mi_out_new (2);
else if (current_interp_named_p (INTERP_MI1))
- uiout = mi_out_new (1);
+ current_uiout = mi_out_new (1);
else if (current_interp_named_p (INTERP_MI3))
- uiout = mi_out_new (3);
+ current_uiout = mi_out_new (3);
else
return;
+ uiout = current_uiout;
+
update_threshold.tv_sec = 0;
update_threshold.tv_usec = 500000;
gettimeofday (&time_now, NULL);
diff --git a/gdb/mi/mi-symbol-cmds.c b/gdb/mi/mi-symbol-cmds.c
index 17ff8c3..81f2da1 100644
--- a/gdb/mi/mi-symbol-cmds.c
+++ b/gdb/mi/mi-symbol-cmds.c
@@ -37,6 +37,7 @@ mi_cmd_symbol_list_lines (char *command, char **argv, int argc)
struct symtab *s;
int i;
struct cleanup *cleanup_stack, *cleanup_tuple;
+ struct ui_out *uiout = current_uiout;
if (argc != 1)
error (_("-symbol-list-lines: Usage: SOURCE_FILENAME"));
diff --git a/gdb/osdata.c b/gdb/osdata.c
index 024d8f4..c3da23a 100644
--- a/gdb/osdata.c
+++ b/gdb/osdata.c
@@ -291,6 +291,7 @@ get_osdata_column (struct osdata_item *item, const char *name)
static void
info_osdata_command (char *type, int from_tty)
{
+ struct ui_out *uiout = current_uiout;
struct osdata *osdata = NULL;
struct osdata_item *last;
struct cleanup *old_chain;
diff --git a/gdb/progspace.c b/gdb/progspace.c
index 9f32cef..2d0dce7 100644
--- a/gdb/progspace.c
+++ b/gdb/progspace.c
@@ -397,7 +397,7 @@ maintenance_info_program_spaces_command (char *args, int from_tty)
error (_("program space ID %d not known."), requested);
}
- print_program_space (uiout, requested);
+ print_program_space (current_uiout, requested);
}
/* Simply returns the count of program spaces. */
diff --git a/gdb/python/py-auto-load.c b/gdb/python/py-auto-load.c
index 619d995..158b1cb 100644
--- a/gdb/python/py-auto-load.c
+++ b/gdb/python/py-auto-load.c
@@ -494,6 +494,7 @@ collect_matching_scripts (void **slot, void *info)
static void
print_script (struct loaded_script *script)
{
+ struct ui_out *uiout = current_uiout;
struct cleanup *chain;
chain = make_cleanup_ui_out_tuple_begin_end (uiout, NULL);
@@ -530,6 +531,7 @@ sort_scripts_by_name (const void *ap, const void *bp)
static void
info_auto_load_scripts (char *pattern, int from_tty)
{
+ struct ui_out *uiout = current_uiout;
struct auto_load_pspace_info *pspace_info;
struct cleanup *script_chain;
VEC (loaded_script_ptr) *scripts;
diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c
index 448c95d..126957c 100644
--- a/gdb/python/py-breakpoint.c
+++ b/gdb/python/py-breakpoint.c
@@ -492,12 +492,12 @@ bppy_get_commands (PyObject *self, void *closure)
string_file = mem_fileopen ();
chain = make_cleanup_ui_file_delete (string_file);
- ui_out_redirect (uiout, string_file);
+ ui_out_redirect (current_uiout, string_file);
TRY_CATCH (except, RETURN_MASK_ALL)
{
- print_command_lines (uiout, breakpoint_commands (bp), 0);
+ print_command_lines (current_uiout, breakpoint_commands (bp), 0);
}
- ui_out_redirect (uiout, NULL);
+ ui_out_redirect (current_uiout, NULL);
GDB_PY_HANDLE_EXCEPTION (except);
cmdstr = ui_file_xstrdup (string_file, &length);
diff --git a/gdb/remote-fileio.c b/gdb/remote-fileio.c
index d840c56..1c5478a 100644
--- a/gdb/remote-fileio.c
+++ b/gdb/remote-fileio.c
@@ -1416,7 +1416,8 @@ remote_fileio_request (char *buf, int ctrlc_pending_p)
remote_fio_ctrl_c_flag = 0;
remote_fio_no_longjmp = 0;
- ex = catch_exceptions (uiout, do_remote_fileio_request, (void *)buf,
+ ex = catch_exceptions (current_uiout,
+ do_remote_fileio_request, (void *)buf,
RETURN_MASK_ALL);
switch (ex)
{
diff --git a/gdb/remote.c b/gdb/remote.c
index b17cb50..fd4852f 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -10541,6 +10541,7 @@ show_remote_cmd (char *args, int from_tty)
the redundant "show remote Z-packet" and the legacy aliases. */
struct cleanup *showlist_chain;
struct cmd_list_element *list = remote_show_cmdlist;
+ struct ui_out *uiout = current_uiout;
showlist_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "showlist");
for (; list != NULL; list = list->next)
diff --git a/gdb/solib.c b/gdb/solib.c
index 49c1cdb..3296ed4 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -1009,6 +1009,7 @@ info_sharedlibrary_command (char *pattern, int from_tty)
int nr_libs;
struct cleanup *table_cleanup;
struct gdbarch *gdbarch = target_gdbarch;
+ struct ui_out *uiout = current_uiout;
if (pattern)
{
diff --git a/gdb/source.c b/gdb/source.c
index 70890e1..d01dff4 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -1277,6 +1277,7 @@ print_source_lines_base (struct symtab *s, int line, int stopline, int noerror)
FILE *stream;
int nlines = stopline - line;
struct cleanup *cleanup;
+ struct ui_out *uiout = current_uiout;
/* Regardless of whether we can open the file, set current_source_symtab. */
current_source_symtab = s;
diff --git a/gdb/stack.c b/gdb/stack.c
index 0e056e1..4e050fc 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -119,7 +119,7 @@ print_stack_frame (struct frame_info *frame, int print_level,
volatile struct gdb_exception e;
/* For mi, alway print location and address. */
- if (ui_out_is_mi_like_p (uiout))
+ if (ui_out_is_mi_like_p (current_uiout))
print_what = LOC_AND_ADDRESS;
TRY_CATCH (e, RETURN_MASK_ERROR)
@@ -175,6 +175,7 @@ static void
print_frame_args (struct symbol *func, struct frame_info *frame,
int num, struct ui_file *stream)
{
+ struct ui_out *uiout = current_uiout;
int first = 1;
/* Offset of next stack argument beyond the one we have seen that is
at the highest offset, or -1 if we haven't come to a stack
@@ -436,8 +437,9 @@ do_gdb_disassembly (struct gdbarch *gdbarch,
TRY_CATCH (exception, RETURN_MASK_ERROR)
{
- gdb_disassembly (gdbarch, uiout, 0, DISASSEMBLY_RAW_INSN, how_many, low,
- high);
+ gdb_disassembly (gdbarch, current_uiout, 0,
+ DISASSEMBLY_RAW_INSN, how_many,
+ low, high);
}
if (exception.reason < 0)
{
@@ -466,6 +468,7 @@ print_frame_info (struct frame_info *frame, int print_level,
struct symtab_and_line sal;
int source_print;
int location_print;
+ struct ui_out *uiout = current_uiout;
if (get_frame_type (frame) == DUMMY_FRAME
|| get_frame_type (frame) == SIGTRAMP_FRAME
@@ -698,6 +701,7 @@ print_frame (struct frame_info *frame, int print_level,
struct symtab_and_line sal)
{
struct gdbarch *gdbarch = get_frame_arch (frame);
+ struct ui_out *uiout = current_uiout;
char *funname = NULL;
enum language funlang = language_unknown;
struct ui_stream *stb;
diff --git a/gdb/symfile-mem.c b/gdb/symfile-mem.c
index bef28c7..c513e0e 100644
--- a/gdb/symfile-mem.c
+++ b/gdb/symfile-mem.c
@@ -205,7 +205,7 @@ add_vsyscall_page (struct target_ops *target, int from_tty)
vsyscall DSO was not triggered by the user, even if the user
typed "run" at the TTY. */
args.from_tty = 0;
- catch_exceptions (uiout, symbol_file_add_from_memory_wrapper,
+ catch_exceptions (current_uiout, symbol_file_add_from_memory_wrapper,
&args, RETURN_MASK_ALL);
}
}
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 4689e0e..aca907a 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -1864,7 +1864,7 @@ load_progress (ULONGEST bytes, void *untyped_arg)
{
/* The write is just starting. Let the user know we've started
this section. */
- ui_out_message (uiout, 0, "Loading section %s, size %s lma %s\n",
+ ui_out_message (current_uiout, 0, "Loading section %s, size %s lma %s\n",
args->section_name, hex_string (args->section_size),
paddress (target_gdbarch, args->lma));
return;
@@ -1976,6 +1976,7 @@ generic_load (char *args, int from_tty)
struct cleanup *old_cleanups = make_cleanup (null_cleanup, 0);
struct load_section_data cbdata;
struct load_progress_data total_progress;
+ struct ui_out *uiout = current_uiout;
CORE_ADDR entry;
char **argv;
@@ -2103,6 +2104,7 @@ print_transfer_performance (struct ui_file *stream,
const struct timeval *end_time)
{
ULONGEST time_count;
+ struct ui_out *uiout = current_uiout;
/* Compute the elapsed time in milliseconds, as a tradeoff between
accuracy and overflow. */
diff --git a/gdb/thread.c b/gdb/thread.c
index 5a78ad1..ceeaa99 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -971,7 +971,7 @@ No selected thread. See `help thread'.\n");
static void
info_threads_command (char *arg, int from_tty)
{
- print_thread_info (uiout, arg, -1);
+ print_thread_info (current_uiout, arg, -1);
}
/* Switch from one thread to another. */
@@ -1063,7 +1063,7 @@ restore_selected_frame (struct frame_id a_frame_id, int frame_level)
select_frame (get_current_frame ());
/* Warn the user. */
- if (frame_level > 0 && !ui_out_is_mi_like_p (uiout))
+ if (frame_level > 0 && !ui_out_is_mi_like_p (current_uiout))
{
warning (_("Couldn't restore frame #%d in "
"current thread, at reparsed frame #0\n"),
@@ -1292,7 +1292,7 @@ thread_command (char *tidstr, int from_tty)
return;
}
- gdb_thread_select (uiout, tidstr, NULL);
+ gdb_thread_select (current_uiout, tidstr, NULL);
}
/* Implementation of `thread name'. */
diff --git a/gdb/top.c b/gdb/top.c
index 8dba0e0..7b98353 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -504,10 +504,10 @@ execute_command_to_string (char *p, int from_tty)
make_cleanup_restore_ui_file (&gdb_stdtarg);
make_cleanup_restore_ui_file (&gdb_stdtargerr);
- if (ui_out_redirect (uiout, str_file) < 0)
+ if (ui_out_redirect (current_uiout, str_file) < 0)
warning (_("Current output protocol does not support redirection"));
else
- make_cleanup_ui_out_redirect_pop (uiout);
+ make_cleanup_ui_out_redirect_pop (current_uiout);
gdb_stdout = str_file;
gdb_stderr = str_file;
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 8b4e5f5..351cbb2 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -457,6 +457,7 @@ tvariables_info_1 (void)
int ix;
int count = 0;
struct cleanup *back_to;
+ struct ui_out *uiout = current_uiout;
if (VEC_length (tsv_s, tvariables) == 0 && !ui_out_is_mi_like_p (uiout))
{
@@ -1811,6 +1812,7 @@ trace_status_command (char *args, int from_tty)
void
trace_status_mi (int on_stop)
{
+ struct ui_out *uiout = current_uiout;
struct trace_status *ts = current_trace_status ();
int status;
@@ -1950,6 +1952,7 @@ tfind_1 (enum trace_find_type type, int num,
int target_frameno = -1, target_tracept = -1;
struct frame_id old_frame_id = null_frame_id;
struct tracepoint *tp;
+ struct ui_out *uiout = current_uiout;
/* Only try to get the current stack frame if we have a chance of
succeeding. In particular, if we're trying to get a first trace
@@ -4366,6 +4369,7 @@ print_one_static_tracepoint_marker (int count,
char wrap_indent[80];
char extra_field_indent[80];
+ struct ui_out *uiout = current_uiout;
struct ui_stream *stb = ui_out_stream_new (uiout);
struct cleanup *old_chain = make_cleanup_ui_out_stream_delete (stb);
struct cleanup *bkpt_chain;
@@ -4483,6 +4487,7 @@ info_static_tracepoint_markers_command (char *arg, int from_tty)
VEC(static_tracepoint_marker_p) *markers;
struct cleanup *old_chain;
struct static_tracepoint_marker *marker;
+ struct ui_out *uiout = current_uiout;
int i;
old_chain
diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c
index 919d1ac..2f0dd3d 100644
--- a/gdb/tui/tui-interp.c
+++ b/gdb/tui/tui-interp.c
@@ -178,10 +178,10 @@ tui_command_loop (void *data)
preserves the uiout from changing, this must be done at top
level of event loop. */
if (tui_active)
- uiout = tui_out;
+ current_uiout = tui_out;
else
- uiout = tui_old_uiout;
-
+ current_uiout = tui_old_uiout;
+
if (result == 0)
{
/* If any exception escaped to here, we better enable
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index afcd9f9..5fcb395 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -530,7 +530,7 @@ tui_setup_io (int mode)
/* Keep track of previous gdb output. */
tui_old_stdout = gdb_stdout;
tui_old_stderr = gdb_stderr;
- tui_old_uiout = uiout;
+ tui_old_uiout = current_uiout;
/* Reconfigure gdb output. */
gdb_stdout = tui_stdout;
@@ -538,7 +538,7 @@ tui_setup_io (int mode)
gdb_stdlog = gdb_stdout; /* for moment */
gdb_stdtarg = gdb_stderr; /* for moment */
gdb_stdtargerr = gdb_stderr; /* for moment */
- uiout = tui_out;
+ current_uiout = tui_out;
/* Save tty for SIGCONT. */
savetty ();
@@ -551,7 +551,7 @@ tui_setup_io (int mode)
gdb_stdlog = gdb_stdout; /* for moment */
gdb_stdtarg = gdb_stderr; /* for moment */
gdb_stdtargerr = gdb_stderr; /* for moment */
- uiout = tui_old_uiout;
+ current_uiout = tui_old_uiout;
/* Restore readline. */
rl_redisplay_function = tui_old_rl_redisplay_function;
@@ -607,7 +607,7 @@ tui_initialize_io (void)
/* Create the default UI. It is not created because we installed a
deprecated_init_ui_hook. */
- tui_old_uiout = uiout = cli_out_new (gdb_stdout);
+ tui_old_uiout = current_uiout = cli_out_new (gdb_stdout);
#ifdef TUI_USE_PIPE_FOR_READLINE
/* Temporary solution for readline writing to stdout: redirect
diff --git a/gdb/ui-out.c b/gdb/ui-out.c
index 2994828..b821719 100644
--- a/gdb/ui-out.c
+++ b/gdb/ui-out.c
@@ -222,7 +222,7 @@ struct ui_out def_uiout =
/* FIXME: This should not be a global, but something passed down from main.c
or top.c. */
-struct ui_out *uiout = &def_uiout;
+struct ui_out *current_uiout = &def_uiout;
/* These are the interfaces to implementation functions. */
diff --git a/gdb/ui-out.h b/gdb/ui-out.h
index b0fddd8..c86cb4c 100644
--- a/gdb/ui-out.h
+++ b/gdb/ui-out.h
@@ -33,7 +33,7 @@ struct ui_file;
/* FIXME: This should not be a global but something passed down from main.c
or top.c. */
-extern struct ui_out *uiout;
+extern struct ui_out *current_uiout;
/* alignment enum */
enum ui_align