sim_resume. Expect target signal numbers from sim_stop_reason.
* wrapper.c (gdb/signals.h): Include it.
(SIGTRAP): Don't define.
(SIGBUS): Likewise.
(sim_stop_reason): Use TARGET_SIGNAL_* instead of SIG*.
* sim-reason.c (sim_stop_reason): Use
sim_signal_to_target, not sim_signal_to_host.
* sim-signal.c (sim_signal_to_host): Fix typo.
(sim_signal_to_target): New function.
* interp.c (gdb/signals.h): Include it.
(sim_stop_reason): Use TARGET_SIGNAL_*.
* interf.c: (gdb/signals.h): Include it.
(sim_stop_reason): Use TARGET_SIGNAL_*.
* sim_calls.c (gdb/signals.h): Include it.
(sim_stop_reason): Use TARGET_SIGNAL_*.
* psim.c (cntrl_c_simulation): Use TARGET_SIGNAL_*.
* gdb.texinfo (Tracepoint Packets): Document restrictions on
placement of 'R' actions in tracepoint action packets; document
dependence of 'X' and 'M' actions on a preceding 'R' action for
their registers.
2005-11-19 Jim Blandy <jimb@redhat.com>
* tracepoint.c (memrange_absolute): New enum constant.
(struct memrange, memrange_cmp, add_memrange, collect_symbol,
stringify_collection_list, encode_actions): Use it instead of '-1'
to indicate an fixed-address memory range.
(Suggested by Eli Zaretskii.)
2005-11-19 Jim Blandy <jimb@redhat.com>
* gdb.texinfo (Tracepoint Packets): New node.
(General Query Packets): Add entries for the tracepoint packets,
referring to the "Tracepoint Packets" node.
(Tracepoints): Add reference to "Tracepoint Packets".
* dwarf2loc.c (dwarf2_tracepoint_var_ref): Remove extra add for
DW_OP_fbreg. Handle DW_OP_breg0 through DW_OP_breg31. Print
DWARF opcode for unsupported case.
* hppa-hpux-tdep.c (hppa_hpux_sigtramp_frame_unwind_cache): Use
HPPA_HPUX_SS_* constants. Ensure "off" is large enough to hold
64-bit offset. Set proper signal context offset for 64-bit
programs. Set pc properly for signal frames.
* hppa-tdep.c (skip_prologue_hard_way): Add one more insn pattern
for "std rp,-0x10(sp)".
(hppa_frame_cache): Likewise.
(hppa_fallback_frame_cache): Likewise.
entries into the General Query Packets section. Add a
cross-reference to that section. Drop description of replies, as
these are covered in the descriptions of each packet.
(General Query Packets): Add introductory text. Explain naming
conventions, and how the end of a name is recognized.
2005-11-16 Jim Blandy <jimb@redhat.com>
* gdb.texinfo (Packets, Stop Reply Packets)
(General Query Packets): Various formatting cleanups.
- Use @samp for packet contents.
- Drop summaries from packet @item lines; the same information appears
immediately below in the description.
- Delete paragraph breaks after packet @item commands, so that the
description appears directly to the right of the packet prototype
in the printed manual, if it fits.
- Place spaces in packet prototypes between @vars and non-@var
letters, and explain that they're just for formatting.
- Use @dots{} instead of '...'.
- Fix uses of @code where @var was needed.
- Replace "deprecated" markers with English text spelling out the
packet's status and the preferred alternatives.
- Remove "(reserved)" markers on 'A' and 'I' packets; it's unclear
what this ever meant.
- Remove "(draft)" markers on 'i' packets; nobody has commented on
this for a long time.
- Remove "(draft)" markers on 'z' and 'Z' packets; these have been
implemented several times, and have been in use for years.
for buffers.
(m68hc11_pseudo_register_read): Likewise.
(m68hc11_return_value): Likewise.
(m68hc11_frame_prev_register): Likewise.
(m68hc11_frame_align): Remove as its seems no longer necessary.
(m68hc11_gdbarch_init): Don't install frame_align handler.
(m68hc11_scan_prologue): Fix crash that occurred when called from
m68hc11_skip_prologue
* hppa-linux-nat.c (_initialize_hppa_linux_nat): Use
hppa_linux_{store,fetch}_inferior_registers instead of
arm_linux_{store,fetch}_inferior_registers.
* main.c (captured_main): Define struct cmdarg. Change type of cmdarg.
Add new options --eval-command and alias -ex.
Adjust --command to use the new struct cmdarg.
Execute commands given with --eval-command.
(print_gdb_help): Add new options --eval-command, -ex and mention -x.
docs/
* gdb.texinfo (Choosing files): Add --eval-command.
* main.c (main): Use INTERP_TUI instead of "tui".
Set interpreter to INTERP_INSIGHT when '-w' given.
* interps.h (INTERP_INSIGHT): New define.
* tui/tui-interp.c (_initialize_tui_interp): Use INTERP_TUI instead
of "tui".
* main.c (main): Use INTERP_TUI instead of "tui".
Set interpreter to INTERP_INSIGHT when '-w' given.
* interps.h (INTERP_INSIGHT): New define.
* tui/tui-interp.c (_initialize_tui_interp): Use INTERP_TUI instead
of "tui".
Checked in by Elena Zannoni <ezannoni@redhat.com>
* dwarf2read.c (read_structure_type): Add IBM XL C++
specific code to set TYPE_VPTR_FIELDNO and TYPE_VPTR_BASETYPE
of a virtual class if a field named "__vfp" is found.
Checked in by Elena Zannoni <ezannoni@redhat.com>
* dwarf2read.c (file_full_name): Cope with file numbers that are
out of range for the given line header.
Checked in by Elena Zannoni <ezannoni@redhat.com>
* elfread.c (elf_symtab_read): Add number_of_symbols and
symbol_table as arguments. Do not load the symbol table
here.
(elf_symfile_read): Load the static and dynamic symbol tables
here, before calling elf_symtab_read. Also load any synthetic
symbols and process those.
* tui/tui-data.h (tui_line_or_address): Encapsulate the union in a
struct with a tag.
(tui_source_element, tui_source_info): Update.
* tui/tui-disasm.c, tui/tui-source.c: Update to use the tagged union.
* tui/tui-source.h, tui/tui-stack.c, tui/tui-win.c: Likewise.
* tui/tui-winsource.c, tui/tui-data.c, tui/tui-layout.c: Likewise.
* tui/tui-winsource.h: Likewise.
(_CYGWIN_SIGNAL_STRING): Define if not already defined in cygwin.h.
(win32_add_thread): Use XZALLOC rather than xmalloc/memset.
(register_loaded_dll): Ditto.
(handle_load_dll): Call solib_add here.
(handle_unload_dll): Ditto.
(info_dll_command): Delete.
(handle_output_debug_string): Use official _CYGWIN_SIGNAL_STRING.
(win32_current_sos): Duplicate table to pass off to caller rather than deleting
our version.
(set_win32_aliases): New function.
(_initialize_win32_nat): Remove local handling of "info shared". Set
deprecated_init_ui_hook to allow late setting of "info dll" alias.
(solib_symbols_add): New function.
(lm_info): Remove end_addr field.
(register_loaded_dll): Don't try to find end_addr since gdb will do this
automatically now. Make so_original_name == so_name for now. Eliminate strcpy
by using so_name directly. Read in symbols if new paramater "readsyms" is
true.
(handle_load_dll): Pass auto_solib_add to register_loaded_dll to control when
symbols should be read.
(win32_free_so): Don't free objfile here.
(win32_create_inferior_hook): New function.
(handle_unload_dll): Remove left-over cruft.
(win32_special_symbol_handling): New (dummy) function.
(map_single_dll_code_section): Reinstate.
(dll_code_sections_add): Reinstate.
(core_section_load_dll_symbols): Reinstate. Don't issue an error on duplicate
attempts to read same dll. Make sure that UNIX-like name is used to register
DLL.
(win32_current_sos): Handle core files. Reset private list before passing
start of list pointer to gdb.
(init_win32_ops): Fill out (currently unused) solib_create_inferior_hook. Fill
out special_symbol_handling.
* config/i386/tm-cygwin.h: Remove most special solib stuff.
floatformat_vax.
(convert_doublest_to_floatformat): Use
floatformat_normalize_byteorder to swap bytes if necessary.
* vax-tdep.c: Include floatformat.h.
(vax_gdbarch_init): Set float_format, double_format,
long_double_format and long_double_bit.
* Makefile.in (vax-tdep.o): Update dependencies.
* win32-nat.c (win32_ops): New variable.
(win32_so_ops): Ditto.
(psapi_get_dll_name): Make function static.
(struct so_stuff): Delete.
(struct lm_info): New struct.
(solib_start, solib_end): Redefine as struct so_list.
(safe_symbol_file_add_stub): Use so_list rather than so_stuff.
(register_loaded_dll): Ditto. Special-case ntdll.dll. Fill in lm_info field
of so_list with information previously stored in so_stuff.
(get_image_name): Make function static.
(max_dll_name_len): Make variable static.
(win32_free_so): New function.
(win32_current_sos): Ditto.
(win32_relocate_section_addresses): Ditto.
(handle_unload_dll): Use so_list rather than so_stuff. Call free_so to delete
shared library.
(solib_address): Delete function.
(child_solib_loaded_library_pathname): Ditto.
(win32_clear_solib): Rename from child_clear_solibs. Use so_list rather than
so_stuff. Just clear win32-specific stuff.
(get_relocated_section_addrs): Delete.
(solib_symbols_add): Ditto.
(info_dll_command): Make static. Use lm_info field from so_list to retrieve
load address.
(fake_create_process): Make function static.
(win32_xfer_memory): Ditto.
(win32_kill_inferior): Ditto.
(win32_resume): Ditto.
(cygwin_pid_to_str): Ditto.
(do_initial_win32_stuff): Use win32_ops rather than deprecated_child_ops.
(child_detach): Ditto.
(win32_mourn_inferior): Ditto.
(_initialize_win32_nat): Ditto.
(init_win32_ops): Ditto. Fill out win32_so_ops and set current_target_so_ops
to win32_so_ops.
(core_dll_symbols_add): Delete.
(map_single_dll_code_section): Ditto.
(dll_code_sections_add): Ditto.
(core_section_load_dll_symbols): Ditto.
(child_solib_add): Ditto.
* gdb.base/structs.exp (any): New function.
(test_struct_returns): Don't make any assumptions at all about
what value the function returns when GDB can't set the return
value.
* language.h (language_defn): New field la_print_array_index.
(LA_PRINT_ARRAY_INDEX): New macro.
(default_print_array_index): Add declaration.
* language.c (default_print_array_index): new function.
(unknown_language): Add value for new field.
(auto_language): Likewise.
(local_language): Likewise.
* ada-lang.c (ada_print_array_index): New function.
(ada_language_defn): Add value for new field.
* c-lang.c (c_language_defn): Likewise.
(cpluc_language_defn): Likewise.
(asm_language_defn): Likewise.
(minimal_language_defn): Likewise.
* f-lang.c (f_language_defn): Likewise.
* jv-lang.c (java_language_defn): Likewise.
* m2-lang.c (m2_language_defn): Likewise.
* objc-lang.c (objc_language_defn): Likewise.
* p-lang.c (pascal_language_defn): Likewise.
* scm-lang.c (scm_language_defn): Likewise.
* valprint.h (print_array_indexes_p): Add declaration.
(get_array_low_bound): Add declaration.
(maybe_print_array_index): Add declaration.
* valprint.c (print_array_indexes): New static variable.
(show_print_array_indexes): New function.
(print_array_indexes_p): New function.
(get_array_low_bound): New function.
(maybe_print_array_index): New function.
(val_print_array_elements): Print the index of each element if
requested by the user.
(_initialize_valprint): Add new array-indexes "set/show print" command.
* ada-valprint.c (print_optional_low_bound): Replace extracted code
by call to ada_get_array_low_bound_and_type(). Stop printing the low
bound if indexes will be printed for all elements of the array.
(val_print_packed_array_elements): Print the index of each element
of the array if necessary.
(_initialize_annotate): Print breakpoints-invalid and
frames-invalid for level 2 annotations only.
* gdb.base/annota3.exp, gdb.cp/annota3.exp: The annotations
frames-invalid and breakpoints-invalid are no longer generated
with level 3 so don't expect them in the output.
2005-09-26 Jan Beulich <jbeulich@novell.com>
* amd64-tdep.h (AMD64_FCTRL_REGNUM, AMD64_FSTAT_REGNUM,
AMD64_MXCSR_REGNUM): New.
* amd64-tdep.c (amd64_dwarf_regmap): Add eflags, selector regs,
mxcsr, fp control and status words.
* i386-tdep.c (): Add selector regs, mxcsr, fp control and status
words.
* arm-tdep.c (arm_type_align): New function.
(arm_push_dummy_call): Use it. Ensure proper argument alignment.
(arm_extract_struct_value_address): Remove.
(arm_use_struct_convention): Rename...
(arm_return_in_memory): ... To this. Return nonzero for all small
aggregates under the EABI.
(arm_return_value): New function.
(arm_gdbarch_init): Default for VFP float model for EABI binaries.
Use set_gdbarch_return_value instead of obsolete functions.
* testsuite/long_long.exp: Exclude eabi targets from arm FPA float
format test.
of subarray and substring variable.
* gdb.fortran/subarray.f: New source file for the test of subarray
and substring variable evaluation.
* gdb.fortran/exprs.exp: Add four tests for substring evaluation
of string constant.
subrange.
* f-lang.h (enum f90_range_type): New enumeration type to identify
F90 subrange type.
* f-exp.y (yyparse): Add support for parsing F90 subrange and
change substring parsing to subrange parsing.
* parse.c (operator_length_standard): Set the operator length
and args number for OP_F90_RANGE.
* eval.c (evaluate_subexp_standard): Add code to evaluate F90
array section and substring.
(value_f90_subarray): New function to evaluate F90 array section.
(evaluate_subexp_standard): Delete label op_f77_substr and its code
because the logic is implemented by function value_f90_subarray now.
'info powerpc' command prefix.
* gdb.arch/altivec-regs.exp (info powerpc altivec): Replace the 'info
powerpc altivec' test with an almost identical 'info vector' test.
* lib/mi-support.exp (mi_gdb_test): Change -re to not be anchored.
* gdb.mi/mi-syn-frame.exp: Call mi_gdb_test twice instead of once for
commands that return an MI output command and an asyncronous MI output
command.
* gdb.mi/mi-console.exp: Ditto.
(alpha-linux-nat.o, sparc-linux-nat.o): New rules.
(amd64-linux-nat.o, arm-linux-nat.o, hppa-linux-nat.o)
(i386-linux-nat.o, ia64-linux-nat.o, linux-nat.o, m32r-linux-nat.o)
(m68klinux-nat.o, mips-linux-nat.o, ppc-linux-nat.o, s390-nat.o)
(sparc64-linux-nat.o): Update dependencies.
* alpha-linux-nat.c, sparc-linux-nat.c: New files.
* amd64-linux-nat.c (amd64_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(amd64_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(amd64_linux_child_post_start_inferior): Renamed from
child_post_startup_inferior and made static. Call
super_post_startup_inferior.
(super_post_startup_inferior): New.
(_initialize_amd64_linux_nat): Set it. Call linux_target and
add_target.
* arm-linux-nat.c (arm_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(arm_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_arm_linux_nat): Add a prototype. Use linux_target and
add_target.
* hppa-linux-nat.c (hppa_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(hppa_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_hppa_linux_nat): New function.
* i386-linux-nat.c (i386_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(i386_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(i386_linux_resume): Renamed from child_resume and made static.
(i386_linux_child_post_start_inferior): Renamed from
child_post_startup_inferior and made static. Call
super_post_startup_inferior.
(super_post_startup_inferior): New.
(_initialize_i386_linux_nat): New function.
* i386-nat.c: Remove LINUX_CHILD_POST_STARTUP_INFERIOR #ifndef.
* ia64-linux-nat.c (ia64_linux_xfer_unwind_table): Remove.
(super_xfer_partial): New.
(ia64_linux_xfer_partial): New function. Use it.
(_initialize_ia64_linux_nat): New function.
* ia64-tdep.c (getunwind_table): Revert 2005-06-08 change; use
target_read_partial and document the problem.
* inf-ptrace.c (inf_ptrace_fetch_register): Use
CANNOT_FETCH_REGISTER. Fix some comments.
(inf_ptrace_store_register): Use CANNOT_STORE_REGISTER. Fix some
comments.
* linux-nat.c: Include "inf-ptrace.h" and "auxv.h".
(linux_ops, super_xfer_partial): New variables.
(linux_child_post_startup_inferior): Make static.
(child_post_startup_inferior): Delete.
(linux_nat_attach, linux_nat_detach, resume_callback)
(linux_nat_resume, linux_nat_wait, linux_nat_create_inferior)
(linux_nat_mourn_inferior): Use linux_ops instead of
deprecated_child_ops.
(child_wait): Do not depend on CHILD_WAIT.
(linux_nat_xfer_memory): Remove, replace by ...
(linux_nat_xfer_partial): ... this. Use linux_ops->to_xfer_partial
instead of linux_proc_xfer_memory and child_xfer_memory.
(linux_nat_fetch_registers, linux_nat_store_registers)
(linux_nat_child_post_startup_inferior): New functions.
(init_linux_nat_ops): Use the new functions.
(linux_proc_xfer_memory): Remove, replace by ...
(linux_proc_xfer_partial): ... this. Make static.
(linux_xfer_partial, linux_register_u_offset, linux_target): New
functions.
(_initialize_linux_nat): Do not modify deprecated_child_ops.
* linux-nat.h (linux_proc_xfer_memory): Remove prototype.
(struct mem_attrib, struct target_ops): Remove forward declarations.
(linux_child_post_startup_inferior): Remove prototype.
(linux_target): Add prototype.
* linux-thread-db.c (thread_db_xfer_memory): Remove, replace by ...
(thread_db_xfer_partial): ... this.
(init_thread_db_ops): Set to_xfer_partial instead of
deprecated_xfer_memory.
* m32r-linux-nat.c (m32r_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(m32r_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_m32r_linux_nat): New function.
* m68klinux-nat.c (m68k_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(m68k_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(old_fetch_inferior_registers, old_store_inferior_registers): Made
static.
(_initialize_m68k_linux_nat): Use linux_target and add_target.
* mips-linux-nat.c (_initialize_mips_linux_nat): New function.
* ppc-linux-nat.c (ppc_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(ppc_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_ppc_linux_nat): New function.
* s390-nat.c (s390_linux_fetch_inferior_registers): Renamed
from fetch_inferior_registers and made static.
(s390_linux_store_inferior_registers): Renamed from
store_inferior_registers and made static.
(_initialize_s390_nat): New function.
* sparc64-linux-nat.c (_initialize_sparc64_linux_nat): Use
linux_target and add_target.
* config/nm-linux.h: Don't include "auxv.h".
(struct target_waitstatus, child_wait, CHILD_WAIT)
(CHILD_PID_TO_EXEC_FILE, CHILD_INSERT_FORK_CATCHPOINT)
(CHILD_INSERT_VFORK_CATCHPOINT, CHILD_INSERT_EXEC_CATCHPOINT)
(CHILD_POST_STARTUP_INFERIOR, CHILD_POST_ATTACH, CHILD_FOLLOW_FORK)
(DEPRECATED_KILL_INFERIOR, NATIVE_XFER_AUXV): Delete.
* config/alpha/alpha-linux.mh (NATDEPFILES): Replace infptrace.o
and inftarg.o with inf-ptrace.o and alpha-linux-nat.o.
* config/sparc/linux.mh (NATDEPFILES): Replace infptrace.o and
inftarg.o with sparc-linux-nat.o.
* config/sparc/linux64.mh (NATDEPFILES): Remove infptrace.o and
inftarg.o.
* config/arm/linux.mh (NATDEPFILES): Replace infptrace.o and
inftarg.o with inf-ptrace.o.
* config/i386/linux.mh (NATDEPFILES): Likewise.
* config/i386/linux64.mh (NATDEPFILES): Likewise.
* config/ia64/linux.mh (NATDEPFILES): Likewise.
* config/m32r/linux.mh (NATDEPFILES): Likewise.
* config/m68k/linux.mh (NATDEPFILES): Likewise.
* config/mips/linux.mh (NATDEPFILES): Likewise.
* config/pa/linux.mh (NATDEPFILES): Likewise.
* config/powerpc/linux.mh (NATDEPFILES): Likewise.
* config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
* config/s390/s390.mh (NATDEPFILES): Likewise.
* config/i386/nm-linux.h (DEPRECATED_CHILD_RESUME): Don't define.
(LINUX_CHILD_POST_STARTUP_INFERIOR): Don't define.
* config/i386/nm-linux64.h (LINUX_CHILD_POST_STARTUP_INFERIOR):
Don't define.
* config/ia64/nm-linux.h: Don't include "target.h".
(NATIVE_XFER_UNWIND_TABLE, ia64_linux_xfer_unwind_table): Remove.
* config/djgpp/fnchange.lst: Add alpha-linux-tdep.c,
alpha-linux-nat.c, sparc-linux-tdep.c, and sparc-linux-nat.c.