Patrick Monnerat [Sat, 10 Apr 2021 00:09:26 +0000 (02:09 +0200)]
Fix stop button response
Two fixes are needed:
- The merge of gdb and Tcl event loops via a notifier blocked the
handling of Tcl events while waiting for the running target to stop.
- Updates to gdb introduced the need to disable commit_resumed state
for the target while stopping it.
* gdbtk/generic/gdbtk-cmds.c (gdb_stop): temporary disable
commit_resumed while stopping target.
* gdbtk/generic/gdbtk-hooks.c (gdbtk_call_command): allow reentering
Tcl for event processing.
* gdbtk/generic/gdbtk.[ch] (gdbtk_reenter_tcl): new procedure.
Patrick Monnerat [Fri, 26 Mar 2021 07:57:35 +0000 (08:57 +0100)]
Upgrade submodule, sync patches and code.
Function current_top_target() is gone.
Rename static function fromhex() to hexdigit(), avoiding name clash.
* gdbtk/generic/gdbtk-cmds.c (gdb_entry_point): use current_inferior.
(gdb_update_mem): likewise.
(fromhex): renamed to hexdigit.
(hex2bin): use hexdigit.
* gdbtk/generic/gdbtk.c (gdbtk_start_timer): use current_inferior.
Patrick Monnerat [Fri, 30 Oct 2020 14:28:00 +0000 (15:28 +0100)]
Upgrade submodule, sync patches and code.
exec_close() and exec_bfd are now methods of program_space objects.
Function get_selected_frame_if_set() has been removed.
* gdbtk/generic/gdbtk-cmds.c (gdb_clear_file): use exec_close() method.
(gdb_loadfile): use exec_bfd() method.
* gdbtk/generic/gdbtk-stack.c (gdb_selected_frame_level):
use get_selected_frame().
Patrick Monnerat [Fri, 25 Sep 2020 16:18:31 +0000 (18:18 +0200)]
Upgrade submodule, sync patches and code + new gdb patch
Options of gdb function target_wait() are now passed as a target_wait_flags
object instead of an integer. Handling and definition of
deprecated_target_wait_hook have not been adapted accordingly (probably
because of a problematic file inclusion needed in gdb/defs.h.
The solution implemented here is to pass the object address as a void pointer
and getting the object via a pointer cast in insight's own code.
* gdbtk/generic/gdbtk-hooks.c (gdbtk_wait): options are now received as a void*.
* patches/binutils-gdb/012-target_wait_flags.patch: new gdb patch implementing
the deprecated_target_wait_hook signature described above.
Patrick Monnerat [Wed, 16 Sep 2020 17:02:48 +0000 (19:02 +0200)]
Upgrade submodule, sync patches. Add a new gdb patch.
As insight installs additional subdirectories levels into the gdb tree,
new m4 file inclusion fails for these cases. Fix this problem by using an m4
search include.
* patches/binutils-gdb/011-m4-relative-include.patch: new patch.
Patrick Monnerat [Fri, 24 Jul 2020 12:05:39 +0000 (14:05 +0200)]
Rename libgui tcl "debug" file, package, namespace and help to "debugger".
The introduction of a debug package in tcllib causes a clash with our
(older) definition. This renaming allows to run insight even if tcllib is
installed.
* gdbtk/library/debugwin.itb: rename namespace.
(DebugWin::build_win): update link to help file.
* gdbtk/library/help/debug.html: renamed as gdbtk/library/help/debugger.html
rename namespace.
* gdbtk/library/help/index.html: link to renamed file. Fix a typo.
* gdbtk/library/main.tcl: rename package and namespace.
* libgui/library/Makefile.am: rename tcl file.
* libgui/library/debug.tcl: renamed as libgui/library/debugger.tcl
rename package and namespace.
* libgui/library/pkgIndex.tcl: rename package and file.
* libgui/library/tclIndex: rename namespace and file.
Patrick Monnerat [Thu, 16 Apr 2020 18:32:10 +0000 (20:32 +0200)]
Upgrade submodule, sync patches and code.
Some gdb files have been removed/renamed/split. Insight is then updated to
include them from their new location.
* gdbtk/generic/gdbtk-hooks.c: include event-loop.h from gdbsupport.
* gdbtk/generic/gdbtk-interp.c: include event-loop.h from gdbsupport.
* gdbtk/generic/gdbtk.c: include event-loop.h and gdb_select.h from gdbsupport.
Include new file async-event.h.
Patrick Monnerat [Thu, 19 Mar 2020 14:37:59 +0000 (15:37 +0100)]
Allow 64-bit Debian to build a release tarball
New binutils-gdb patch "debian-tcltk-config" adds unconditional probing of
tclConfig.sh and tkConfig.sh in /usr/lib, even if /usr/lib32 and
/usr/lib64 exist.
Patrick Monnerat [Wed, 27 Nov 2019 13:10:26 +0000 (14:10 +0100)]
Upgrade submodule, sync patches and code.
SYMBOL_*_NAME and MSYMBOL_*_NAME macros in gdb have been replaced by
methods.
* gdbtk/generic/gdbtk-cmds.c (gdb_search): Use name methods.
(gdb_listfuncs): Likewise.
* gdbtk/generic/gdbtk-stack.c (gdb_block_vars): Use name methods.
(gdb_get_vars_command): Likewise.
* gdbtk/generic/gdbtk.h (GDBTK_SYMBOL_SOURCE_NAME): Use name methods.
(GDBTK_MSYMBOL_SOURCE_NAME): Likewise.
Patrick Monnerat [Wed, 16 Oct 2019 13:53:10 +0000 (15:53 +0200)]
Upgrade submodule, sync patches and code.
gdb's breakpoint_chain variable has disappeared. To walk all breakpoints,
function iterate_over_breakpoint must now be used by a lambda function as
argument.
Currently, gdb/main.c has to declare these two variables in the
.c file. This patch adds the declarations to the header so that
gdb can just use them.
gdbtk/ChangeLog:
2019-10-07 Christian Biesinger <cbiesinger@chromium.org>
* generic/gdbtk.h (gdbtk_test): Declare.
(external_editor_command): Declare.
(file): Prefix Tcl_Interp with "struct"
so that this compiles when Tcl headers aren't included.
* generic/gdbtk-interp.h: Likewise.
Access to the source line information has been moved from struct symtab
to source cache. Adapt code to this new situation.
* gdbtk/generic/gdbtk-cmds.c (gdbtk_load_source): Get line offsets from
source cache. Use normal open_source_file() since there are no offsets
loading anymore at this stage.