* frame.c: Include "gdb_string.h" and "builtin-regs.h".
(frame_map_regnum_to_name): New function.
(frame_map_name_to_regnum): New function.
* frame.h (frame_map_name_to_regnum): Declare.
(frame_map_regnum_to_name): Declare.
* builtin-regs.c (builtin_reg_map_regnum_to_name): New function.
* builtin-regs.h (builtin_reg_map_regnum_to_name): Declare.
* parse.c: Do not include "builtin-regs.h".
(target_map_name_to_register): Delete function.
(write_dollar_variable): Use frame_map_name_to_regnum.
* parser-defs.h (target_map_name_to_register): Delete declaration.
* expprint.c: Include "frame.h".
(print_subexp): Use frame_map_regnum_to_name.
* eval.c (evaluate_subexp_standard): Use frame_map_regnum_to_name.
* infcmd.c (registers_info): Use frame_map_name_to_regnum.
2002-09-25 Andrew Cagney <cagney@redhat.com>
* gdb.base/pc-fp.exp, gdb.base/pc-fp.c: New test.
exists before using it.
(check_mi_and_console_threads): Likewise.
* gdb669.exp (get_mi_thread_list): Likewise.
(check_mi_and_console_threads): Likewise.
* rs6000-tdep.c (rs6000_frame_saved_pc): If the link register
wasn't saved, and the next innermost frame is a dummy, return the
dummy frame's link register.
Check for pthread.h.
* configure: Regenerate.
* config.in: New file.
* pthreads.c: New file.
* mi-pthreads.exp: New file to test thread functionality.
* gdb669.exp: New file.
* gdb.gdb/complaints.exp (test_initial_complaints): Rename
test_isolated_complaints.
(test_empty_complaint): New function.
(test_empty_complaints): New function. Check no output when no
complaints.
function.
(set_default_source_symtab_and_line): New function. Attempts to
determine a source file to list lines from if one is not currently
defined.
(get_current_source_symtab_and_line): Initialize sal.pc and
sal.end fields.
(set_current_source_symtab_and_line): Mark argument as const.
* source.h: Update declarations and comments.
* linespec.c (decode_line_1): Replace call to removed routine above.
* stack.c (print_frame_info_base): Ditto.
* cli/cli-cmds.c (edit_command): Ditto.
(list_command): Ditto.
sal.end fields.
(get_current_or_default_source_symtab_and_line): Ditto.
* breakpoint.c (parse_breakpoint_sals): Use correct accessor function
so we do not cause a new source symtab to be searched for (reverting an
unintentional change from the 2002-09-20 patch).
* scm-lang.c (scm_unpac): Ditto.
* complaints.c (symfile_explanations): Remove new-line from
``isolated_message''.
(vcomplaint): When ISOLATED_MESSAGE, force a line break.
(clear_complaints): When a SUBSEQUENT_MESSAGE, force a line break.
From Eli Zaretskii <eliz@is.elta.co.il>:
* gdb.texinfo (Character Sets): Use @smallexample instead of
@example. Use GNU/Linux instead of Linux.
2002-09-20 Jim Blandy <jimb@redhat.com>
* gdb.texinfo: Add character set documentation.
current_source_line static.
(list_command): Moved to cli/cli-cmds.c.
(ambiguous_line_spec): Moved to cli/cli-cmds.c.
(get_first_line_listed): New accessor function.
(get_lines_to_list): New accessor function.
(get_current_source_symtab_and_line): New function. Retrieves the
position in the source code that we consider current.
(get_current_or_default_source_symtab_and_line): New function.
Like the above but attempts to determine a default position if one
is not currently defined.
(set_current_source_symtab_and_line): New function. Sets the source
code position considered current and returns the previously set one.
(clear_current_source_symtab_and_line): Reset stored information about
a current source line.
(_initialize_source): Remove registration for the "list" command and
its alias.
* source.h: Add declarations for the new functions above.
* symtab.h: Remove declarations for the global variables mentioned
above.
* breakpoint.c (parse_breakpoint_sals): Use accessor functions to
obtain current source line.
* linespec.c (decode_line_1): Ditto.
* macroscope.c (default_macro_scope): Ditto.
* scm-lang.c (scm_unpac): Ditto.
* stack.c (print_frame_info_base): Ditto.
* symfile.c (clear_symtab_users): Ditto.
* symtab.c (decode_line_spec): Ditto.
* cli/cli-cmds.c (list_command): Moved here from source.c.
(ambiguous_line_spec): Moved here from source.c.
(_init_cli_cmds): Add definition for "list" and its alias.
* Makefile.in: Update dependencies.
texthigh and textlow to reader-specific structs caused
objfile_relocate to miss them. This is fixable, but the work that
the change was supposed to prepare GDB for never got done anyway.
* gdb.c++/m-static.exp: Remove breakpoints depending on line
numbers, and replace them by a single breakpoint after the
constructors are all finished.
Add test 4.
* gdb.c++/m-static.cc: Add test 4.
* gdb.c++/m-static.h: New file.
* gdb.c++/m-static1.cc: New file.
* gdb.c++/printmethod.exp: New file.
* gdb.c++/printmethod.cc: New file.
* gdb.c++/pr-574.exp: New file.
* gdb.c++/pr-574.cc: New file.
* valops.c (hand_function_call): Align the initial stack pointer
and STRUCT_ADDR using frame_align. When STRUCT_RETURN and
FRAME_ALIGN_P, use STRUCT_ADDR to obtain the called function's
return value.
* mips-tdep.c (mips_frame_align): New function.
(mips_gdbarch_init): Set frame_align.
* gdbarch.sh (FRAME_ALIGN): New method.
* gdbarch.h, gdbarch.c: Re-generate.
generic_read_register_dummy() (PR gdb/703).
(avr_push_return_address): #if 0 out unused vars.
(avr_gdbarch_init): Enable use of avr_push_return_address().
`set architecture'. Unify naming convention of functions.
(h8300_skip_prologue): Improve prologue analysis.
(h8300_push_arguments): Rewritten to more closely match GCC's
bizarre argument-passing behavior, along with the comment describing
said behavior.
* remote-hms.c (hms_regnames): Don't use NUM_REGS in definition.
* config/h8300/tm-h8300.h: Multiarch. Just keep stuff needed by
sim, remote-e7000.c, remote-hms.c and remote.c
(i386_print_insn): New function.
(i386_gdbarch_init): Set print_insn to i386_print_insns.
(_initialize_i386_tdep): Don't initialize tm_print_insn and
tm_print_insn_info.
(tui_initialize_readline): Allow to use space to leave SingleKey
to enter one gdb command.
(tui_enable): Restore the TUI keymap when we are back to TUI.
(tui_disable): Restore normal keymap when leaving TUI.
* tuiIO.c (tui_redisplay_readline): Restore the SingleKey mode
when the buffer becomes empty and we are in tui_one_command_mode.
vector. Will be useful for Interix.
* gdbarch.h, gdbarch.c: Regenerate.
* valops.c (value_allocate_space_in_inferior): Replace hard-coded
name of the malloc function by NAME_OF_MALLOC.
for the uiout list. Do the cleanups when returning an error.
(mi_cmd_data_list_changed_registers): Ditto.
(mi_cmd_data_list_register_values): Use cleanups for the uiout list
and tuples. Do the cleanups when returning errors.
regexp for stopping at main. Could have multiple event notifications.
Don't assume that main was declared with no parameters.
(mi_next): Use mi_step_to.
(mi_step): Use mi_next_to.
(tui_command_loop): New function to override gdb loop and make sure
uiout is set according to TUI mode.
(tui_command_loop): Install the specific TUI command hook.
* tuiIO.c (tui_initialize_io): Initialize tui_old_uiout.
(tui_uiout, tui_old_uiout): Make public.
* tuiIO.h (tui_uiout, tui_old_uiout): Declare.
i386_register_convertible, i386_register_convert_to_virtual,
i386_register_comvert_to_raw): Use FP_REGNUM_P and SSE_REGNUM_P
instead of IS_FP_REGNUM and IS_SSE_REGNUM.
(i386_gdbarch_init): Fix comment. Add comments on calls that set
sp_regnum, fp_regnum, pc_regnum, ps_regnum and fp0_regnum.
Don't set push_arguments twice.
sigtramp_end to i386bsd_sigtramp_start and i386bsd_sigtramp_end.
* i386nbsd-tdep.c (i386nbsd_init_abi): Set sigtramp_start and
sigtramp_end to NULL.
* config/i386/tm-fbsd.h (SIGTRAMP_START, SIGTRAMP_END): Remove
defines.
(i386bsd_sigtramp_start, i386_sigtramp_end): Remove prototypes.
* arm-tdep.c (arm_init_extra_frame_info): Distinguish between
generic_dummy_frame method and old method. Also distinguish
between ARM_FP_REGNUM and THUMB_FP_REGNUM.
* mips-tdep.c (mips_n32n64_push_arguments): Remove alignment
adjustment that doesn't conform to the ABI.
(mips_extract_struct_value_address): Retrieve V0_REGNUM from
saved regcache, not from current regcache.
(printable_part): New function from readline/complete.c.
(PUTX): New macro, likewise.
(print_filename): New function, likewise.
(get_y_or_n): New function, likewise and adapted for TUI.
(tui_rl_display_match_list): New function from readline/complete.c
and writes on TUI command window.
(tui_setup_io): Install or remove the readline hook
rl_completion_display_matches_hook so that completion is written
directly in TUI command window instead of in the TUI pipe.
(tui_initialize_io): Use #ifdef TUI_USE_PIPE_FOR_READLINE for the
TUI redirection pipe.
(tui_getc): Likewise for call to tui_readline_output.
(tui_readline_output): Likewise for function.
* tui.c (tui_rl_startup_hook): Always take care of gdb prompt.
(i[3456]86-*-netbsd*): ...this. Set gdb_target to nbsd.
(i[3456]86-*-openbsd*): Make this a separate entry. Add a
comment noting that this needs its own target configuration.
* config/i386/nbsd.mt: New file.
* config/i386/nbsdaout.mt: Remove.
* config/i386/nbsdelf.mt: Ditto.
* config/i386/tm-nbsdaout.h: Ditto.
$(i386_tdep_h), and nbsd-tdep.h to dependency list.
* i386-tdep.h (i386bsd_init_abi): New prototype.
* i386bsd-tdep.c (i386bsd_init_abi): Remove "static" from
function declaration.
(_initialize_i386bsd_tdep): Don't register OS ABI handlers
for NetBSD-a.out or NetBSD-ELF.
(i386nbsd_sigtramp_start, i386nbsd_sigtramp_end)
(i386nbsd_sc_pc_offset, i386nbsd_sc_sp_offset)
(i386nbsd_init_abi, i386nbsdelf_init_abi): Move to...
* i386nbsd-tdep.c: ...here. Include arch-utils.h, i386-tdep.h,
and nbsd-tdep.h.
(i386nbsd_pc_in_sigtramp): New function.
(i386nbsd_init_abi): Set gdbarch_pc_in_sigtramp to
i386nbsd_pc_in_sigtramp.
(_initialize_i386nbsd_tdep): Register i386nbsd_init_abi
and i386nbsdelf_init_abi OS ABI handlers.
* config/i386/nbsdaout.mt (TDEPFILES): Add nbsd-tdep.o.
* config/i386/nbsdelf.mt (TDEPFILES): Likewise.
status line.
(tuiShowLocatorContent): Use it instead of displayableWinContentAt.
* tuiData.h (PROC_PREFIX): Use "In:" to reduce length of prefix.
(PC_PREFIX): Use upper case.
(SINGLE_KEY, MIN_LINE_WIDTH, MIN_PROC_WIDTH): Define.
(MAX_TARGET_WIDTH, MAX_PID_WIDTH): Define.
list.
* alphanbsd-tdep.c (alphanbsd_sigcontext_addr)
(alphanbsd_skip_sigtramp_frame): New functions.
(alphanbsd_init_abi): Set tdep->skip_sigtramp_frame to
alphanbsd_skip_sigtramp_frame. Set tdep->sigcontext_addr
to alphanbsd_sigcontext_addr.
list.
(nbsd-tdep.o): Add $(gdb_string_h) to dependency list.
* alphanbsd-tdep.c (alphanbsd_pc_in_sigtramp): Use
nbsd_pc_in_sigtramp.
* mipsnbsd-tdep.c: Include nbsd-tdep.h.
(mipsnbsd_pc_in_sigtramp): Use nbsd_pc_in_sigtramp.
* nbsd-tdep.c: Include gdb_string.h.
(nbsd_pc_in_sigtramp): New function.
* nbsd-tdep.h (nbsd_pc_in_sigtramp): New prototype.
* ppcnbsd-tdep.c (ppcnbsd_pc_in_sigtramp): New function.
(ppcnbsd_init_abi): Set gdbarch_pc_in_sigtramp to
ppcnbsd_pc_in_sigtramp.
* shnbsd-tdep.c (shnbsd_pc_in_sigtramp): New function.
(shnbsd_init_abi): Set gdbarch_pc_in_sigtramp to
shnbsd_pc_in_sigtramp.
* sparcnbsd-tdep.c (sparcnbsd_init_abi_elf): Set
gdbarch_pc_in_sigtramp to nbsd_pc_in_sigtramp.
* config/mips/nbsd.mt (TDEPFILES): Add nbsd-tdep.o.
* tui.c (tui_commands): Table of single key commands.
(tui_rl_command_key): New function to execute gdb command.
(tui_rl_command_mode): New function to temporarily leave SingleKey.
(tui_rl_next_keymap): New function to enter/leave the SingleKey mode.
(tui_rl_startup_hook): New function to avoid prompt display by
readline functions.
(tui_set_key_mode): New function to set the key mode and install
the readline keymap.
(tui_initialize_readline): Create TUI SingleKey readline map.
(tui_enable): Install rl_startup_hook.
(tui_disable): Remove it.
* tui.h (enum tui_key_mode): Declare.
(tui_set_key_mode, tui_current_key_mode): Declare.
* tuiIO.c (tui_redisplay_readline): Don't display the prompt in
SingleKey mode.
* tuiIO.h (tui_redisplay_readline): Declare.
(tui_update_breakpoint_info): Declare.
(tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove.
* tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Update breakpoint
information using tui_update_breakpoint_info.
(tui_update_all_breakpoint_info): New function to refresh all
execution windows.
(tui_update_breakpoint_info): New function to recompute the status
of exec info window from breakpoints.
(tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove.
(tuiSetExecInfoContent): Use the exec info flags computed by
tui_update_breakpoint_info to display a short status about breakpoints.
* tuiData.h (TuiExecInfoContent): New for exec info string.
(TuiWhichElement): Use it.
(TUI_BP_ENABLED, TUI_BP_DISABLED, TUI_BP_HIT): New defines.
(TUI_BP_CONDITIONAL, TUI_BP_HARDWARE): New defines.
(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS): Likewise.
(TUI_EXECINFO_SIZE): Likewise.
* tuiData.c (initContentElement): Clear exec info string.
* tui-hooks.c (get_breakpoint): Remove.
(tui_event_create_breakpoint): Call tui_update_all_breakpoint_info.
(tui_event_delete_breakpoint): Likewise.
(tui_event_modify_breakpoint): Likewise.
minimal symbol of an appropriate name and use its address to
select a symtab to read and search, use `name' (as passed to us)
as the demangled name when searching the symtab's global and
static blocks, not the minsym's name.
the new PID.
(unstopped_p, linux_signal_pid): Remove.
(linux_target_ops): Remove linux_signal_pid.
* remote-utils.c (putpkt, input_interrupt): Use signal_pid
global instead of target method.
* target.h (struct target_ops): Remove signal_pid. Update comment
for create_inferior.
* server.c (signal_pid): New variable.
(create_inferior): Set signal_pid. Block SIGTTOU and SIGTTIN in
gdbserver. Set the child to be the foreground process group.
(attach_inferior): Set signal_pid.
events.
(select_frame_command): Send selected-frame-level-changed
event notification, but only if the level actually changed.
(up_silently_base): Add selected-frame-level-changed event
notification.
(down_silently_base): Likewise.