diff options
author | Catalin Udma <catalin.udma@freescale.com> | 2016-02-29 16:16:19 +0200 |
---|---|---|
committer | Catalin Udma <catalin.udma@freescale.com> | 2016-03-31 15:32:38 +0300 |
commit | e7ea3ec7c623be0b9be1eaf4929794652a84be11 (patch) | |
tree | 4b8fca9e668f79d3e4239c1204a61672b5c11fb7 /gdb/python | |
parent | f7c382926d78b2d6d96b02275e6e16797b132d71 (diff) | |
download | binutils-gdb-e7ea3ec7c623be0b9be1eaf4929794652a84be11.tar.gz |
python: Use console format for output of gdb.execute command
When gdb is started in MI mode, the output of gdb.execute
command is in MI-format in case when it is executed from python stop
handler while for all other cases the output is in console-format.
To assure consistent output format, this is fixed by using the console
format for all python gdb command executions.
PR python/19743
gdb/ChangeLog:
2016-03-31 Catalin Udma <catalin.udma@freescale.com>
PR python/19743
* python/python.c (execute_gdb_command): Use console uiout
when executing gdb command.
* utils.c (restore_ui_out_closure): New structure.
(do_restore_ui_out): New function.
(make_cleanup_restore_ui_out): Likewise.
* utils.h (make_cleanup_restore_ui_out): Declare.
gdb/testsuite/ChangeLog:
2016-03-31 Catalin Udma <catalin.udma@freescale.com>
PR python/19743
* gdb.python/py-mi-events-gdb.py: New file.
* gdb.python/py-mi-events.c: New file.
* gdb.python/py-mi-events.exp: New file.
Signed-off-by: Catalin Udma <catalin.udma@freescale.com>
Diffstat (limited to 'gdb/python')
-rw-r--r-- | gdb/python/python.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/python/python.c b/gdb/python/python.c index 84f05965e1f..e467134849e 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -658,10 +658,17 @@ execute_gdb_command (PyObject *self, PyObject *args, PyObject *kw) /* Copy the argument text in case the command modifies it. */ char *copy = xstrdup (arg); struct cleanup *cleanup = make_cleanup (xfree, copy); + struct interp *interp; make_cleanup_restore_integer (&interpreter_async); interpreter_async = 0; + make_cleanup_restore_ui_out (¤t_uiout); + /* Use the console interpreter uiout to have the same print format + for console or MI. */ + interp = interp_lookup ("console"); + current_uiout = interp_ui_out (interp); + prevent_dont_repeat (); if (to_string) result = execute_command_to_string (copy, from_tty); |