[RFC]: Fix TUI register display
Stephane Carrez
stcarrez@nerim.fr
Fri Mar 5 22:41:00 GMT 2004
Hi!
Below is the TUI patch I would like to commit to fix the register display
(the TUI register fix I was speaking about some months ago).
- the TUI uses the gdb register groups to know which register to
display. This solves the HP specific code for floating point regs
and special regs (which was broken). This gives more functionalities
to us as the register groups are target specific.
- new gdb TUI commands:
tui reg general
tui reg float
tui reg system
tui reg next
(don't worry, I'll update the doc and send a separate doc patch soon)
- all deprecated_* are removed
I've tested this patch on mainline on the following platforms:
--target=m6811-elf
--target=sparc-unknown-netbsdelf1.6.1
--target=i686-linux
I'll commit this in a week (in main and 6_1 branch too).
Stephane
2004-03-05 Stephane Carrez <stcarrez@nerim.fr>
* tui/tui-win.h (tui_get_cmd_list): Declare.
* tui/tui-win.c (tui_command): New function.
(tui_get_cmd_list): New function.
(_initialize_tui_win): Moved initialization of tui command in
tui_get_cmd_list.
* tui/tui-data.c (init_content_element): Setup new data members.
(init_win_info): Likewise.
(free_content_elements): Free it.
* tui/tui-data.h (struct tui_data_element): Store the register
content to print.
(struct tui_data_info): Keep the current register group.
* tui/tui-layout.c (tui_set_layout): Update call to tui_show_registers.
* tui/tui-regs.h (tui_show_registers): Update prototype.
(tui_toggle_float_regs, tui_calculate_regs_column_count): Remove.
(tui_resize_all): No need to calculate anything for register window.
* tui/tui-regs.c (tui_calculate_regs_column_count): Remove.
(tui_set_register_element, tui_set_general_regs_content): Remove.
(tui_set_special_regs_content): Remove.
(tui_set_general_and_special_regs_content): Remove.
(tui_set_float_regs_content): Remove.
(tui_reg_value_has_changed, tui_get_register_raw_value): Remove.
(tui_set_regs_content): Remove.
(tui_toggle_float_regs, _tui_toggle_float_regs_command): Remove.
(tui_v_show_registers_command_support): Remove.
(tui_show_registers): Use a reggroup to specify the registers to show.
(tui_show_register_group): New function.
(tui_display_registers_from): Compute the layout of register window
and refresh with new API; be sure to delete old register windows.
(tui_check_register_values): Update to use tui_get_register and
tui_display_data.
(tui_display_register): Just refresh the register window part.
(tui_register_format): Format registers and save in tui_data_element.
(tui_get_register): New to combine tui_reg_value_has_changed and
tui_get_register_raw_value; fix to use the new gdb API.
(tui_show_float_command): Renamed tui_reg_float_command.
(tui_show_general_command): Renamed tui_reg_general_command.
(tui_show_special_command): Renamed tui_reg_system_command.
(_initialize_tui_regs): Remove unused commands.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: tui-regs.diffs
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20040305/ad3a13ef/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 253 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/gdb-patches/attachments/20040305/ad3a13ef/attachment.sig>
More information about the Gdb-patches
mailing list