support for breakpoints at multiple locations.
* gdb.texinfo (Setting Breakpoints): Revise
documentation for pending breakpoints. Document
breakpoints with multiple locations.
* c-valprint.c (textual_element_type): New.
(c_val_print): Use it. Do not skip address printing for pointers
with a string format.
(c_value_print): Doc update.
* dwarf2read.c (read_array_type): Use make_vector_type.
* gdbtypes.c (make_vector_type): New.
(init_vector_type): Use it.
(gdbtypes_post_init): Initialize builtin_true_unsigned_char.
(_initialize_gdbtypes): Mark int8_t and uint8_t as TYPE_FLAG_NOTTEXT.
* gdbtypes.h (struct builtin_type): Add builtin_true_unsigned_char.
(TYPE_FLAG_NOTTEXT, TYPE_NOTTEXT): New.
(make_vector_type): New.
* printcmd.c (print_formatted): Only handle 's' and 'i' for examine.
Call the language print routine for string format.
(print_scalar_formatted): Call val_print for string format. Handle
unsigned original types for char format.
(validate_format): Do not reject string format.
* stabsread.c (read_type): Use make_vector_type.
* xml-tdesc.c (tdesc_start_vector): Use init_vector_type.
* gdb.texinfo (Output Formats): Update 'c' description. Describe 's'.
(Examining Memory): Update mentions of the 's' format.
(Automatic Display): Likewise.
* gdb.arch/i386-sse.exp: Do not expect character constants.
* gdb.base/charsign.c, gdb.base/charsign.exp: Delete.
* gdb.base/display.exp: Allow print/s.
* gdb.base/printcmds.exp, gdb.base/setvar.exp: Revert signed
and unsigned char array changes.
* disasm.c (gdb_print_insn): Return the number of branch delay
slot instructions too.
* disasm.h (gdb_print_insn): Update prototype.
* printcmd.c (branch_delay_insns): New variable to record the
number of delay slot instructions after disassembling a branch.
(print_formatted): Record the number of branch delay slot
instructions.
(do_examine): When disassembling, if the last instruction
disassembled has any branch delay slots, then bump the count so
that they get disassembled too.
* tui/tui-disasm.c (tui_disassemble): Update the call to
gdb_print_insn().
* NEWS: Document the new behaviour.
gdb/doc/:
* gdb.texinfo (Examining Memory): Document the new behaviour.
gdb/gdbtk/:
* generic/gdbtk-cmds.c (gdbtk_load_asm): Update the call to
gdb_print_insn().
* solib.c (solib_absolute_prefix): Delete. Replace
all uses with gdb_sysroot.
(_initialize_solib): Add "set sysroot" and "show sysroot".
Make "solib-absolute-prefix" an alias to it.
* gdb.texinfo (Commands to specify files): Describe
"set sysroot" and "show sysroot".
(Using the `gdbserver' program): Lowercase argument
to @var. Expand description of setting up GDB on the
host.
* Makefile.in (gnu-v3-abi.o): Delete special rule.
(eval.o, gnu-v3-abi.o, ia64-tdep.o): Update.
* ada-valprint.c (ada_print_scalar): Update for new type codes.
* c-typeprint.c (c_print_type): Update for new type codes.
(c_type_print_varspec_prefix, c_type_print_varspec_suffix)
(c_type_print_base): Likewise.
(c_type_print_args): Rewrite.
* c-valprint.c (c_val_print): Update for new type codes. Remove
support for references to members. Treat methods like functions.
* cp-abi.c (cplus_print_method_ptr, cplus_method_ptr_size)
(cplus_make_method_ptr, cplus_method_ptr_to_value): New.
* cp-abi.h (cplus_print_method_ptr, cplus_method_ptr_size)
(cplus_make_method_ptr, cplus_method_ptr_to_value): New prototypes.
(struct cp_abi_ops): Add corresponding members.
* cp-valprint.c (cp_print_class_method): Delete.
(cp_find_class_member): New function.
(cp_print_class_member): Use it. Simplify support for bogus
member pointers.
* dwarf2read.c (quirk_gcc_member_function_pointer): Use
lookup_methodptr_type.
(read_tag_ptr_to_member_type): Likewise, and lookup_memberptr_type.
* eval.c (evaluate_subexp_standard): Implement EVAL_SKIP for
OP_SCOPE. Update call to value_aggregate_elt. Rewrite member
pointer support.
(evaluate_subexp_for_address): Handle OP_SCOPE explicitly. Handle
references returned by user defined operators.
* f-typeprint.c (f_print_type, f_type_print_varspec_prefix)
(f_type_print_varspec_suffix): Remove support for member pointers.
* gdbtypes.c (lookup_memberptr_type): Renamed from lookup_member_type
and adjusted.
(smash_to_memberptr_type): Likewise, from smash_to_member_type.
(lookup_methodptr_type): New.
(rank_one_type): Adjust for TYPE_CODE_MEMBERPTR.
(recursive_dump_type): Update for new types.
* gdbtypes.h (enum type_code): Replace TYPE_CODE_MEMBER with
TYPE_CODE_MEMBERPTR and TYPE_CODE_METHODPTR.
(lookup_memberptr_type, lookup_methodptr_type)
(smash_to_memberptr_type): New prototypes.
(smash_to_method_type): Formatting fix.
(lookup_member_type, smash_to_member_type): Delete prototypes.
* gnu-v3-abi.c (gnuv3_get_vtable, gnuv3_get_virtual_fn): New.
Do not rely on debug information for the vptr or the method's
enclosing type. Handle function descriptors for IA64.
(gnuv3_virtual_fn_field): Rewrite using the new functions.
(gnuv3_find_method_in, gnuv3_print_method_ptr)
(gnuv3_method_ptr_size, gnuv3_make_method_ptr)
(gnuv3_method_ptr_to_value): New.
(init_gnuv3_ops): Set new members of gnu_v3_abi_ops.
* hpread.c (hpread_type_lookup): Update for new types.
* infcall.c (value_arg_coerce): Likewise.
* m2-typeprint.c (m2_print_type): Remove explicit support
for member pointers.
* m2-valprint.c (m2_val_print): Likewise.
* p-typeprint.c (pascal_type_print_varspec_prefix)
(pascal_type_print_varspec_suffix, pascal_type_print_base): Likewise.
* p-valprint.c (pascal_val_print): Likewise.
(pascal_object_print_class_method, pascal_object_print_class_member):
Delete.
* p-lang.h (pascal_object_print_class_method)
(pascal_object_print_class_member): Delete prototypes.
* stabsread.c (read_type): Update for new types.
* typeprint.c (print_type_scalar): Likewise.
* valops.c (value_struct_elt_for_reference, value_namespace_elt)
(value_maybe_namespace_elt, value_aggregate_elt): Add want_address
argument. Construct a pointer to member if the address of a
function or data member is requested.
(value_cast_pointers): Don't modify the input value.
(value_cast): Adjust pointer to member handling for new types.
Allow null pointer to member constants. Don't modify the input
value.
(value_ind): Remove pointer to member check. Handle function
descriptors for function pointers.
(value_struct_elt, value_find_oload_method_list, check_field):
Remove pointer to member checks.
* value.c (unpack_long): Allow pointers to data members.
(value_from_longest): Allow member pointers.
* value.h (value_aggregate_elt): Add want_address.
* varobj.c (c_variable_editable): Remove check for members.
* gdbarch.sh: Add vtable_function_descriptors and vbit_in_delta.
* ia64-tdep.c (ia64_convert_from_func_ptr_addr): Handle descriptors
in virtual tables.
(ia64_gdbarch_init): Call set_gdbarch_vtable_function_descriptors.
* c-lang.h (cp_print_class_method): Delete prototype.
* arm-tdep.c (arm_gdbarch_init): Call set_gdbarch_vbit_in_delta.
* mips-tdep.c (mips_gdbarch_init): Likewise.
* gdbarch.c, gdbarch.h: Regenerated.
* gdb.cp/classes.exp (test_pointers_to_class_members): Update expected
output. Test the types of members and member pointers.
* gdb.cp/inherit.exp (test_print_mi_member_types): Remove KFAILs for
gdb/2092.
* gdb.cp/member-ptr.exp: Search for a comment instead of a
statement. Enable for GCC. Update expected output for some tests
and add new tests. Remove obsolete GCC KFAILs. Allow GCC's class
layout.
* gdb.cp/member-ptr.cc (Padding, Padding::vspacer, Base, Base::get_x)
(Base::vget_base, Left, Left::vget, Right, Right::vget, Diamond)
(Diamond::vget_base): New.
(main): Add new tests.
* gdb.cp/printmethod.exp: Update expected output for member functions.
* gdb.cp/virtfunc.exp (test_virtual_calls): Add a KFAIL for
print pEe->D::vg().
* remote.c (PACKET_qXfer_auxv): New, renamed from PACKET_qPart_auxv.
(remote_supported_packet): Remove #if 0.
(remote_protocol_features): Add qPart:auxv:read.
(remote_unescape_input): New function.
(readchar): Don't mask off the high bit.
(read_frame): Use fputstrn_filtered for packet data.
(getpkt_sane): Return the number of bytes read or -1. Use
fputstrn_unfiltered.
(remote_read_qxfer): New.
(remote_xfer_partial): Use it for TARGET_OBJECT_AUXV.
(_initialize_remote): Update packet registration.
* defs.h (fputstrn_filtered): New prototype.
* utils.c (fputstrn_filtered): New.
* NEWS: Mention qXfer.
gdb/doc/
* gdb.texinfo (OS Information): Update qPart reference to
qXfer.
(Remote configuration): Likewise.
(Overview): Move @cindex to the start of a paragraph. Talk
about binary data encoding.
(Packets): Refer to the overview for the details of the X
packet encoding.
(General Query Packets): Remove qPart description. Add qXfer
description. Add an anchor to qSupported. Correct feature
table title. Add a new feature for qXfer:auxv:read.
(Interrupts): Add a missing parenthesis.
gdb/gdbserver/
* server.c (decode_xfer_read, write_qxfer_response): New.
(handle_query): Take a packet length argument. Handle
qXfer:auxv:read instead of qPart:auxv:read. Mention it in
the qSupported response.
(main): Update call to handle_query.
that the gdb-6.5 branch has been created.
* NEWS: Create a new section for changes that are included
since gdb-6.5. Name the "since gdb-6.4" section as the "in gdb-6.5"
section.
* 2006-03-22 Jim Blandy <jimb@redhat.com>
Add support for the Renesas M32C and M16C.
* configure.tgt (m32c-*-*): New entry.
* config/m32c/m32c.mt: New file.
* m32c-tdep.c: New file.
* Makefile.in (elf_m32c_h): New variable.
(m32c-tdep.o): New rule.
* NEWS: Mention new target.
* MAINTAINERS: Designate Jim Blandy as responsible maintainer.
* Makefile.in (gdb_select_h, ser_tcp_h): New.
(ALLDEPFILES): Add ser-mingw.c.
(event-loop.o, inflow.o, mingw-hdep.o, posix-hdep.o, ser-base.o)
(ser-tcp.o, ser-unix.o): Update.
(ser-mingw.o): New rule.
* configure: Regenerated.
* configure.ac: Add ser-mingw.o for mingw32.
* ser-mingw.c: New file.
* event-loop.c: Include "gdb_select.h".
(gdb_select): Remove, moved to mingw-hdep.c and posix-hdep.c.
* ser-base.c: Include "gdb_select.h".
(ser_base_wait_for): Use gdb_select.
* serial.c (serial_for_fd): New function.
(serial_fdopen): Try "terminal" before "hardwire". Initialize
the allocated struct serial.
(serial_wait_handle): New function.
* serial.h (serial_for_fd, serial_wait_handle): New prototypes.
(struct serial_ops) [USE_WIN32API]: Add wait_handle.
* gdb_select.h: New file.
* ser-tcp.c: Include "ser-tcp.h". Remove unused "ser-unix.h" include.
(net_close, net_read_prim, net_write_prim): Make global.
(net_open): Likewise. Pass an exception set to select. Whitespace fix.
Document why we can not use gdb_select.
(_initialize_ser_tcp) [USE_WIN32API]: Do not register TCP support here.
* ser-tcp.h: New file.
* inflow.c (gdb_has_a_terminal): Don't initialize stdin_serial here.
(handle_sigio): Use gdb_select.
(initialize_stdin_serial): New function.
* terminal.h (initialize_stdin_serial): New prototype.
* top.c (gdb_init): Call initialize_stdin_serial.
* mingw-hdep.c (gdb_select): New function, moved from gdb_select in
event-loop.c. Add exception condition support. Use serial_for_fd
and serial_wait_handle. Fix timeout handling.
* posix-hdep.c: Include "gdb_select.h".
(gdb_select): New function.
* remote-st.c (connect_command): Use gdb_select.
* ser-unix.c: Include "gdb_select.h".
(hardwire_send_break, wait_for): Use gdb_select.
Checkpoint/Restart for Linux.
* linux-nat.c: Add support for debugging multiple forks.
Add #include for linux-fork.h (interface spec).
(super_mourn_inferior): New function pointer.
(child_mourn_inferior): New function / target method.
(linux_target): Claim to_mourn_inferior method pointer.
(child_follow_fork): Call interface to linux-fork, conditionally
add new fork processes to list of debugged processes.
(kill_inferior): Use interface to linux-fork to kill
multiple processes.
* linux-fork.h: New file.
* linux-fork.c: New file. Support for debugging multiple forks
of the same program. Support for checkpoint and restart commands.
* infrun.c (nullify_last_target_wait_ptid): New function.
* Makefile.in: Add linux-fork.
* config/*/linux.mh: Add linux-fork.
* NEWS: Mention new functionality.
the following configurations have been removed: h8300*-*-*,
mn10300-*-*, and v850-*-*. These configurations had been
removed within the 6.4 development cycle, but were later
restored within the same cycle.
* MAINTAINERS: Mark the xstormy16, sh64, ns32k, mn10300, mcore,
and h8300 as broken.
* NEWS: END-OF-LIFE frame compatibility module.
* PROBLEMS: For "Stack backtraces", remove powerpc, hppa and mips
specific comments.
* configure.host: Add vax-*-netbsdelf* and vax-*-netbsd*.
* config/vax/nbsdelf.mh: New file.
* config/vax/nbsdaout.mh: New file.
* config/vax/nm-nbsd.h: New file.
* config/vax/nm-nbsdaout.h: New file.
instructions to generate a SIGSEGV in addition to SIGTRAP, SIGILL
and SIGEMT. Update comments.
* NEWS (Revised SPARC target): Mention support for non-executable
stack.
Obsolete old MIPS SVr3 and SVr4 systems.
* NEWS: Mention obsoleted systems.
* configure.tgt: Mark mips*-*-sysv4* as obsolete.
* configure.host: Mark mips-dec-*, mips-little-*, mips-sony-*,
mips-*-sysv4*, mips-*-sysv*, mips-*-riscos* and mips-*-mach3* as
obsolete.
* config/mips/decstation.mh: Mark as obsolete.
* config/mips/littlemips.mh: Mark as obsolete.
* config/mips/nm-mips.h: Mark as obsolete.
* config/mips/xm-mips.h: Mark as obsolete.
* config/mips/news-mips.mh: Mark as obsolete.
* config/mips/nm-news-mips.h: Mark as obsolete.
* config/mips/riscos.mh: Mark as obsolete.
* config/mips/nm-riscos.h: Mark as obsolete.
* config/mips/xm-riscos.h: Mark as obsolete.
* config/mips/mipsv4.mt: Mark as obsolete.
* config/mips/tm-mipsv4.h: Mark as obsolete.
* config/mips/xm-mipsv4.h: Mark as obsolete.
Obsolete old m68k systems.
* configure.host: Mark m68*-sun-*, m68*-sun-sunos4*,
m68*-sun-sunos3*, m68*-motorola-*, m68*-*-sysv4*, m68*-*-lynxos*,
m68*-bull*-sysv*, m68*-att-*, m680[01]0-sun-sunos4*, and
m680[01]0-sun-sunos3* as obsolete.
* configure.tgt: Mark m68*-*-lynxos*, m68*-*-sunos3*,
m68*-*-sunos4*, m68*-*-sysv4*, m68000-*-sunos3*, m68000-*-sunos4*,
m68*-bull-sysv*, m68*-att-*, and m68*-motorola-*, as obsolete.
* config/m68k/sun3os4.mh: Mark file obsolete.
* config/m68k/xm-sun3os4.h: Mark file obsolete.
* config/m68k/sun3os3.mh: Mark file obsolete.
* config/m68k/nm-sun3.h: Mark file obsolete.
* config/m68k/xm-sun3.h: Mark file obsolete.
* config/m68k/sun2os4.mh: Mark file obsolete.
* config/m68k/sun2os3.mh: Mark file obsolete.
* config/m68k/nm-sun2.h: Mark file obsolete.
* config/m68k/xm-sun2.h: Mark file obsolete.
* config/m68k/m68kv4.mh: Mark file obsolete.
* config/m68k/nm-sysv4.h: Mark file obsolete.
* config/m68k/xm-m68kv4.h: Mark file obsolete.
* config/m68k/m68klynx.mh: Mark file obsolete.
* config/m68k/nm-m68klynx.h: Mark file obsolete.
* config/m68k/dpx2.mh: Mark file obsolete.
* config/m68k/xm-dpx2.h: Mark file obsolete.
* config/m68k/nm-dpx2.h: Mark file obsolete.
* config/m68k/delta68.mh: Mark file obsolete.
* config/m68k/xm-delta68.h: Mark file obsolete.
* config/m68k/nm-delta68.h: Mark file obsolete.
* config/m68k/3b1.mh: Mark file obsolete.
* config/m68k/xm-3b1.h: Mark file obsolete.
* config/m68k/sun3os4.mt: Mark file obsolete.
* config/m68k/tm-sun3os4.h: Mark file obsolete.
* config/m68k/sun3os3.mt: Mark file obsolete.
* config/m68k/tm-sun3.h: Mark file obsolete.
* config/m68k/sun2os4.mt: Mark file obsolete.
* config/m68k/tm-sun2os4.h: Mark file obsolete.
* config/m68k/sun2os3.mt: Mark file obsolete.
* config/m68k/tm-sun2.h: Mark file obsolete.
* config/m68k/m68kv4.mt: Mark file obsolete.
* config/m68k/tm-m68kv4.h: Mark file obsolete.
* config/m68k/m68klynx.mt: Mark file obsolete.
* config/m68k/tm-m68klynx.h: Mark file obsolete.
* config/m68k/dpx2.mt: Mark file obsolete.
* config/m68k/tm-dpx2.h: Mark file obsolete.
* config/m68k/delta68.mt: Mark file obsolete.
* config/m68k/tm-delta68.h: Mark file obsolete.
* config/m68k/3b1.mt: Mark file obsolete.
* config/m68k/tm-3b1.h: Mark file obsolete.
* NEWS: Mention the new backtrace mechanism, DWARF 2 CFI, hosted
file I/O, multi-arch, TLS and NPTL, DWARF 2 Location Expressions,
and Java.
* PROBLEMS: Mention that mips*-*-*, powerpc*-*-*, sparc*-*-* and
arm*-*-* do not use the new frame code.
* NEWS: Mention that m32r is multi-arch.
From 2003-07-28 Kei Sakamoto <sakamoto.kei@renesas.com>:
* configure.tgt: Recognize m32r-*-*.
* config/m32r/tm-m32r.h: Delete file.
* config/m32r/m32r.mt: New file.
* m32r-rom.c (m32r_upload_command): Use hostent only when
gethostname succeeds, in order to avoid a compilation
warning.
* m32r-tdep.c (m32r_store_return_value): Add a cast to remove a
compiler warning.
* m68hc11-tdep.c (_initialize_m68hc11_tdep): Deprecate "regs" command.
(m68hc11_print_register): New function to print out one register.
(m68hc11_print_registers_info): New function to print registers.
(show_regs): Deprecate and use the above.
(m68hc11_gdbarch_init): Install the print_registers_info.
* MAINTAINERS: Mark h8500 as obsolete.
* configure.tgt (h8500-*-*): Mark h8500 code as obsolete.
* findvar.c (value_from_register): Ditto.
* h8500-tdep.c: Mark file as obsolete.
* config/h8500/h8500.mt: Ditto.
* config/h8500/tm-h8500.h: Ditto.
* NEWS: Mention that h8500 is obsolete.
* frame.h: Note that namelen can be negative.
* frame.c (frame_map_name_to_regnum): When LEN is negative, use
NAME's length.
* NEWS: Mention that the d10v's `regs' command is deprecated.
* d10v-tdep.c (d10v_gdbarch_init): Set print_registers_info.
(d10v_print_registers_info): New function.
(show_regs): Call d10v_print_registers_info.
(_initialize_d10v_tdep): Mark "show regs" command as deprecated.
Jason Molenda <jmolenda@apple.com>.
* Makefile.in (PROFILE_CFLAGS): Substitute from configure.
(INTERNAL_LDFLAGS): Don't include PROFILE_CFLAGS.
* NEWS: Mention profiling.
* configure.in (--enable-gdbtk): Fix typo.
(--enable-profiling): New. Set PROFILE_CFLAGS.
* maint.c (maintenance_set_profile_cmd): Remove NOTYET.
Fill in function.
(profiling_state): New variable.
(mcleanup_wrapper): New function.
(_initialize_maint): Remove NOTYET, fix call to
add_setshow_boolean_cmd for "maint set profile".
* configure: Regenerated.
* NEWS: add recent mi fixes.
* varobj.c (struct varobj): Add new "updated" flag.
(new_variable): Default "updated" flag to 0.
(varobj_set_value): Set "updated" flag to 1 if value
changes.
(varobj_update): Check varobj "updated" flag before
comparing old and refreshed values. Fix for
PR gdb/702.
* NEWS: Mention that MI syntax, selected by "mi" changed to "mi2"
and that "mi0" syntax has been removed.
2002-10-01 Andrew Cagney <ac131313@redhat.com>
* gdb.texinfo (Mode Options): Update --interpreter option. "mi2"
and "mi1" instead of "mi1" and "mi0".
2002-10-01 Andrew Cagney <ac131313@redhat.com>
* mi-main.c (mi2_command_loop): New function.
(mi0_command_loop): Delete function.
(_initialize_mi_main): Recognize, and default to, "mi2". Do not
recognize "mi0".
* mi-out.c (mi_table_begin): Remove mi0 code.
(mi_table_body, mi_table_end): Ditto.
(mi_table_header, mi_open, mi_close): Ditto.
* configure.tgt: Make arc-*-* obsolete.
* NEWS: Mention that arc-*-* has been identifed as obsolete.
* MAINTAINERS: Make arc-elf obsolete.
* arc-tdep.c: Make file obsolete.
* config/arc/arc.mt: Ditto.
* config/arc/tm-arc.h: Ditto.
From Stan Shebs, Jim Blandy, Mark Salter, Kevin Buettner:
* config/frv/frv.mt: New file.
* config/frv/tm-frv.h: New file.
* configure.tgt: Support frv-*-*.
* Makefile.in (frv-tdep.o): New target.
* frv-tdep.c: New file.
* NEWS: Mention frv.
since it has been multi-arch'd.
* NEWS: Note that ns32k-*-* is now partial multi-arch.
Move Alpha and VAX multi-arch news entries to same section
as other multi-arch news.
* configure.host (mips*-*-netbsd*): New host.
* configure.tgt (mips*-*-netbsd*): New target.
* mipsnbsd-nat.c: New file.
* mipsnbsd-tdep.c: New file.
* mipsnbsd-tdep.h: New file.
* config/mips/nbsd.mh: New file.
* config/mips/nbsd.mt: New file.
* config/mips/nm-nbsd.h: New file.
* config/mips/tm-nbsd.h: New file.
* cli/cli-cmds.c (init_cli_cmds): Add new user settable value:
max_user_call_depth.
(init_cmd_lists): Initialize the new value;
* cli/cli-script.c (execute_user_command): Limit the call depth of
user defined commands. This avoids a core-dump when user commands
are infinitly recursive.
Andrew Cagney <cagney@redhat.com>
* cli/cli-dump.c: New file. Dump memory to file,
restore file to memory.
* cli/cli-dump.h: New file.
* Makefile.in: Add rules, dependencies for cli-dump.o.
* NEWS: Mention new commands.
(SET_TEXINPUTS): Add $(GDBMI_DIR).
(SFILES_DOC): Add $(GDBMI_DIR)/gdbmi.texinfo.
(gdbmi.texinfo): New target, for texi2roff.
(gdb.me, gdb.ms, gdb.mm): Depend on gdbmi.texinfo.
(gdb.info, gdb_toc.html): Add "-I ${GDBMI_DIR}".
* gdb.texinfo (Top): Add GDB/MI to the main menu and @include
gdbmi.texinfo.
(Mode Options): Add xref to GDB/MI docs and remove a FIXME
comment.
* gdbmi.texinfo: Lots of changes, to include this document as part
of the GDB manual.
* TODO, NEWS: Update due to inclusion of gdbmi.texinfo in the GDB
manual.
* configure.host, configure.tgt: Comment out Gould configs.
* Makefile.in: Comment out Gould-related actions.
* gould-xdep.c, gould-tdep.c, config/gould/*: Comment out.
* NEWS: Mention obsolete status.
And the first one bites the dust...
* NEWS: Add Alpha Linux as a new native configuration.
* mdebugread.c (parse_symbol): When we find a malloc() symbol with
return type VOID, assume no debugging info is available for that
object file and patch the return value into VOID *. Otherwise,
operations requiring an implicit call to malloc() will fail.
* infrun.c (wait_for_inferior): The criterion to detect entering a
sigtramp handler is now: (a) the current pc is inside a sigtramp
handler, (b) the previous pc is not in a sigtramp handler, and (c)
the current stack pointer is "inner" than the old one. Condition
(c) is new to avoid mistaking a return from a signal handler into
sigtramp as a new sigtramp invocation.
* dcache.c (struct dcache_block): Declare addr as CORE_ADDR. An
int may not be big enough to hold an address.
(dcache_hit): Ditto.
(dcache_peek_byte): Fix indentation.
* configure.in (alpha-*-linux*): Add target.
* configure: Rebuild
* config/alpha/tm-alpha.h (PROC_DESC_IS_DYN_SIGTRAMP): New macro.
(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
(DYNAMIC_SIGTRAMP_OFFSET): Ditto.
(SIGCONTEXT_ADDR): Ditto.
(FRAME_PAST_SIGTRAMP_FRAME): Ditto.
* config/alpha/alpha-linux.mh: New file.
* config/alpha/alpha-linux.mt: Ditto.
* config/alpha/nm-linux.h: Ditto.
* config/alpha/tm-alphalinux.h: Ditto.
* config/alpha/xm-alphalinux.h: Ditto.
* config/alpha/xm-alphaosf.h: Renamed from xm-alpha.h.
* config/alpha/alpha-osf1.mh (XM_FILE): Change from xm-alpha.h to
xm-alphaosf.h.
* config/alpha/alpha-osf2.mh: Ditto.
* blockframe.c (find_pc_partial_function): Pass PC to
SIGTRAMP_START and SIGTRAMP_END macros for the benefit of systems
that detect sigtramp code via designated code sequences (as is the
case for Linux/Alpha, for example).
* config/i386/tm-i386bsd.h: Change SIGTRAMP_START and SIGTRAMP_END
to ignore new PC argument.
* config/m68k/tm-hp300bsd.h: Ditto.
* config/vax/tm-vax.h: Ditto.
* alpha-tdep.c (alpha_linux_sigtramp_offset): New function.
(alpha_osf_skip_sigtramp_frame): Ditto.
(push_sigtramp_desc): Ditto.
(alpha_find_saved_regs): Use SIGCONTEXT_ADDR macro to extract
sigcontext address from frame.
(alpha_saved_pc_after_call): When in sigtramp, use
alpha_frame_saved_pc() instead of read-register().
(after_prologue): When inside a dynamically generated sigtramp
function, there is no prologue, so return address of first
instruction.
(alpha_in_prologue): Fix typo in comment.
(find_proc_desc): Use macro DYNAMIC_SIGTRAMP_OFFSET to determine
whether we're inside a dynamicaly generated sigtramp function. If
so, create and push and appropriate procedure descriptor.
(alpha_frame_chain): Use macro FRAME_PAST_SIGTRAMP_FRAME to obtain
the frame past a sigtramp frame (if the current frame is indeed a
sigtramp function).
(init_extra_frame_info): Don't read next frame register off of
stack-pointer when inside a dynamiccaly generated sigtramp.
(alpha_pop_frame): Also unlink and destroy procedure descriptors
created for dynamically generated sigtramp functions.
* alpha-nat.c: When compiling under Linux, include <asm/reg.h> and
<alpha/ptrace.h> instead of <machine/reg.h>
* Makefile.in (SFILES): Add bcache.c.
(symtab_h): Add bcache.h.
(HFILES_NO_SRCDIR): add bcache.h
(COMMON_OBJS): Add bcache.o
(bcache.o): New target.
* dbxread.c (start_psymtab): Make global_syms & static_syms
type "partial_symbol **".
* hpread.c (hpread_start_symtab): Ditto.
* os9kread.c (os9k_start_psymtab): Ditto.
* stabsread.h (start_psymtab): Ditto.
* {symfile.c, symfile.h} (start_psymtab_common): Ditto.
* maint.c (maintenance_print_statistics): Call
print_symbol_bcache_statistics.
* objfiles.c (allocate_objfile): Initialize psymbol bcache malloc
and free pointers.
* solib.c (allocate_rt_common_objfile): Ditto.
* symfile.c (reread_symbols): Ditto.
(free_objfile): Free psymbol bcache when objfile is freed.
(objfile_relocate): Use new indirect psymbol pointers.
* objfiles.h (struct objfile): Add psymbol cache.
* symfile.c (compare_psymbols): Now passed pointers to pointers to
psymbols.
(reread_symbols): Free psymbol bcache when freeing other objfile
resources.
(add_psymbol_to_list, add_psymbol_addr_to_list): Initialize new
psymbol using the psymbol bcache.
(init_psymbol_list): Psymbol lists now contain pointers rather than
the actual psymbols.
* symfile.h (psymbol_allocation_list): Psymbol lists now dynamically
grown arrays of pointers.
(ADD_PSYMBOL_VT_TO_LIST): Initialize new symbol using the psymbol
bcache.
* symmisc.c (print_partial_symbols): Now takes pointer to pointer
to partial symbol.
(print_symbol_bcache_statistics): New function to print per objfile
bcache statistics.
(print_partial_symbol, print_partial_symbols,
maintenance_check_symtabs, extend_psymbol_list):
Account for change to pointer to pointer to partial symbol.
* symtab.c (find_pc_psymbol, lookup_partial_symbol, decode_line_2,
make_symbol_completion_list):
Account for change to pointer to pointer to partial symbol.
* symtab.h (bcache.h): Include.
* xcoffread.c (xcoff_start_psymtab): Make global_syms & static_syms
type "partial_symbol **".
All references changed.
* breakpoint.c (bpstat_what): Add shlib_event to the class types.
Update state table. Reformat so that it's still readable.
When we hit the shlib_event breakpoint, set the calss of shlib_event.
(breakpoint_1): Add "shlib events" as a breakpoint type.
Print the shlib_event breakpoint like other breakpoints.
(create_solib_event_breakpoint): New function.
(breakpoint_re_set_one): Handle solib_event breakpoints.
* breakpoint.h (enum bytype): Add bp_shlib_event breakpoint type.
(enum bpstat_what_main_action): Add BPSTAT_WHAT_CHECK_SHLIBS
action.
(create_solib_event_breakpoint): Declare.
* infrun.c (wait_for_inferior): Handle CHECK_SHLIBS bpstat.
(normal_stop): Inform the user when the inferior stoped due
to a shared library event.
(_initialize_infrun): Add new set/show variable "stop_on-solib-events"
to control whether or not gdb continues the inferior or stops it when
a shared library event occurs.
* minsyms.c (lookup_minimal_symbol_solib_trampoline): New function.
* somsolib.c (TODO list): Update.
(som_solib_create_inferior_hook): Arrange for gdb to be notified
when significant shared library events occur.
* hppa-tdep.c (find_unwind_entry): No longer static.
First cut at the machine independent changes for 7363. Also includes
code to automatically track shl_load/shl_unload calls on hpux.
Add procfs support for Alpha OSF/1-2.x.
* config/alpha/nm-osf.h: Renamed from nm-alpha.h, generic
OSF/1 native support.
* config/alpha/alpha-osf1.mh (NAT_FILE): Changed accordingly.
(MUNCH_DEFINE): Removed.
* config/alpha/alpha-osf2.mh, config/alpha/nm-osf2.h: New files
for procfs support.
* configure.in (alpha-dec-osf*): Use alpha-osf2.mh for OSF/1
release 2.x and higher, else alpha-osf1.mh, as the procfs support
in release 1.x is incomplete.
* Makefile.in (ALLCONFIG): Add config/alpha/alpha-osf2.mh.
* alpha-nat.c (supply_gregset, fill_gregset, supply_fpgregset,
fill_fpgregset): New routines for procfs support.
* inftarg.c (_initialize_inftarg): Don't add ptrace support
if we have an optional procfs and /proc is accessible.
* procfs.c: Include sys/fault.h and sys/syscall.h before
including sys/procfs.h.
(unconditionally_kill_inferior): If PROCFS_NEED_PIOCSSIG_FOR_KILL
is defined, additionally perform a PIOCSSIG to really terminate
the inferior.
(create_procinfo): Always return a result.
(create_procinfo, do_attach): Don't trace T_IFAULT faults if
PROCFS_DONT_TRACE_IFAULT is defined.
(procfs_init_inferior): Use START_INFERIOR_TRAPS_EXPECTED as
argument to startup_inferior if it is defined.
(proc_set_exec_trap): If PIOCSSPCACT is defined, use it instead
of tracing exits from exec system calls. Needed for the user level
loader under Alpha OSF/1.
(do_detach): Clear any pending signal if we want to detach from
a process without a signal.
(set_proc_siginfo): If PROCFS_DONT_PIOCSSIG_CURSIG is defined,
don't issue a PIOCSSIG if pr_cursig already contains the signal we
intend to set.
(info_proc_signals): If PROCFS_SIGPEND_OFFSET is defined, the
pending signals are numbered from 1 instead of 0.
(info_proc_mappings): Increase size of output format for addresses
if BFD_HOST_64_BIT is defined.
(procfs_stop): Renamed from child_stop.
(_initialize_procfs): Don't add procfs support if we have an
optional procfs and /proc is not accessible.
commands.
* top.c (struct user_args): Structure for holding arguments to
user defined commands.
(print_command_line): Delete unused "tmp_chain" variable. Clean
up flow control by having cases exit in the same manner.
Before executing a command or evaluating an expression, substitute
the current $arg0..$arg9 values if the command/expression uses them.
(arg_cleanup): New function.
(setup_user_args, locate_arg, insert_args): Likewise.
(execute_user_command): Allow arguments to user defined commands.
* Allow if/while commands to be used within a breakpoint command
list.
* breakpoint.c (bpstat_do_actions): Call execute_control_command
rather than execute_command (passes entire command structure rather
than just the command line text).
(breakpoint_1): Use "print_command_line" to print a breakpoint
command line (including control structures).
* gdbcmd.h (execute_control_command): Provide extern decl.
(print_command_line): Likewise.
* top.c (execute_control_command): No longer static.
(print_command_line): New function to recursively print a command
line, including control structures.
Various name changes to match those used by hp-symtab.h.
No longer sanitize away hpread changes. Merge ChangeLog.hpread into
ChangeLog and ChangeLog-93.
* NEWS: Mention filename completion and "info line" enhancements.
* main.c (symbol_completion_function): On "info t foo", return NULL,
don't error().
* main.c (symbol_completion_function): Don't use readline word
breaking. Use new calling convention for c->completer and
complete_on_cmdlist.
* command.h (struct command): Change arguments; now the text passed
to completer does not have any word breaking done. New arg word.
* symtab.{c,h} (make_symbol_completion_list): Do word breaking. Take
word argument.
* {main.c,gdbcmd.h} ({filename,noop}_completer): Take word argument.
* command.{c,h} (complete_on_cmdlist): Take word argument.
* command.c (lookup_cmd_1): Doc fix.
* demangle.c: Change all references to cfront to ARM, since the
actual algorithm is the one specified in the Annotated Reference
Manual. This was confusing users into thinking that full cfront
support was implemented.
* dwarfread.c (CFRONT_PRODUCER): Remove, was never really used.
* eval.c (evaluate_subexp): For STRUCTOP_PTR pass the arg type
directly to lookup_struct_elt_type, which will do the
dereferencing itself.
* gdbtypes.c (lookup_struct_elt_type): Expand comments. Fix
NULL dereferencing bug for unnamed structs, comment out
questionable code.