* config/alpha/alpha-linux.mt (DEPRECATED_TM_FILE): Set to tm-alpha.h.
* config/alpha/tm-alphalinux.h: Delete file.
* config/arm/linux.mt (DEPRECATED_TM_FILE): Set to tm-arm.h
* config/arm/tm-linux.h: Delete file.
* config/i386/tm-linux.h: Do not include "config/tm-linux.h".
* config/ia64/tm-linux.h: Do not include "config/tm-linux.h".
* config/m32r/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/mips/tm-linux.h: Do not include "config/tm-linux.h".
* config/pa/linux.mt (DEPRECATED_TM_FILE): Set to tm-hppa.h.
* config/pa/tm-linux.h: Delete file.
* config/powerpc/tm-linux.h: Do not include "config/tm-linux.h".
* config/s390/linux.mt (DEPRECATED_TM_FILE): Remove.
* config/sh/linux.mt (DEPRECATED_TM_FILE): Set to tm-sh.h.
* config/sh/tm-linux.h: Delete file.
* alpha-linux-tdep.c: Include "symtab.h".
(alpha_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* i386-linux-tdep.c: Include "symtab.h".
(i386_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* ia64-linux-tdep.c: Include "symtab.h".
(ia64_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* m32r-linux-tdep.c: Include "symtab.h".
(m32r_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* mips-linux-tdep.c: Include "symtab.h".
(mips_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* sh-linux-tdep.c: Include "symtab.h".
(sh_linux_init_abi): Call set_gdbarch_skip_trampoline_code.
* s390-tdep.c (s390_gdbarch_init): Call
set_gdbarch_skip_trampoline_code.
* s390-nat.c: Do not include "tm.h".
* Makefile.in (alpha-linux-tdep.o): Add dependency on $(symtab_h).
(i386-linux-tdep.o): Likewise.
(ia64-linux-tdep.o): Likewise.
(m32r-linux-tdep.o): Likewise.
(mips-linux-tdep.o): Likewise.
(sh-linux-tdep.o): Likewise.
(s390-nat.o): Remove dependency on $(tm_h).
Fetch varobj values from memory in a single place,
and only fetch the values that are really needed.
* varobj.c (struct varobj): Clarify comment.
(my_value_equal): Remove.
(install_new_value): New function.
(type_of_child): Remove.
(varobj_create): Use install_new_value.
(varobj_set_value): Use value_contents_equal, not
my_value_equal.
(varobj_update): Use install_new_value.
(create_child): Likewise. Inline type_of_child here.
(value_of_child): Don't fetch the value.
(c_value_of_root): Likewise.
(c_value_of_variable): Likewise.
(type_changeable): Improve comments.
(compare_pnums): New function.
(init_remote_state): Only allocate packet_reg structures for raw
registers. Define the g/G packet format separately from creating
packet_reg. Don't use DEPRECATED_REGISTER_BYTE.
(packet_reg_from_regnum, packet_reg_from_pnum): Only iterate over
raw registers.
(register_bytes_found): Delete.
(fetch_register_using_p): Take a struct packet_reg. Handle disabled
'p' packet here. Use packet_ok.
(fetch_registers_using_g): New function, split out of
remote_fetch_registers. Check the 'g' packet more strictly. Save
its actual size and contents. Eliminate BUF. Only iterate over
raw registers.
(remote_fetch_registers): Use the new functions for 'p' and 'g'.
Mark unavailable registers.
(store_register_using_P): Likewise to fetch_register_using_p.
(store_registers_using_G): New function, split out of
remote_store_registers. Only iterate over raw registers. Don't
use register_bytes_found.
(remote_store_registers): Likewise to remote_fetch_registers.
* coffread.c (cs_to_bfd_section): New function.
(cs_to_section): Use cs_to_bfd_section.
(record_minimal_symbol): Take the coff_symbol* parameter instead
of the symbol's name as a char*.
Add 'int section' parameter. Call prim_record_minimal_symbol_and_info
instead of prim_record_minimal_symbol_and_info.
Change return type to struct minimal_symbol *.
(coff_symtab_read): Adapt to new record_minimal_symbol's signature.
Make all minimal symbol creations go through record_minimal_symbol.
* memattr.h (enum mem_access_mode): New value
MEM_NONE.
* memattr.c (unknown_mem_attrib): New.
(inaccessible_by_default): New.
(show_inaccessible_by_default): New.
(lookup_mem_region): Check inaccessible_by_default.
(dummy_cmd): New.
(mem_set_cmdlist, mem_show_cmdlist): New.
(_initialize_mem): Register new "set" and "show"
commands.
* target.c (memory_xfer_partial): If memory type
is MEM_NONE, return an error.
Clip to region size when calling to_xfer_partial.
If upper limit of memory range is 0, don't clip
anything.
gdb/doc/
* gdb.texinfo (Memory Access Checking): New.
* arch-utils.c (target_byte_order_user): Renamed from
target_byte_order.
(target_byte_order_auto, selected_byte_order): Removed.
(show_endian): Check target_byte_order_user.
(set_endian): Always update the architecture. Set
target_byte_order_user after success.
(target_architecture_auto): Removed.
(target_architecture_user): New.
(selected_architecture_name, show_architecture): Check it.
(set_architecture): Set target_architecture_user after success.
(gdbarch_from_bfd): Check the argument.
(default_byte_order): New.
(initialize_current_architecture): Set the global default
architecture and endianness.
(gdbarch_info_fill): Remove GDBARCH argument. Do not check the
previous architecture. Use exec_bfd, global selected architecture
and endianness, and global defaults.
* arch-utils.h (selected_byte_order): Remove prototype.
(gdbarch_info_fill): Update.
* exec.c (exec_file_attach): Update the architecture after removing
the current file.
* gdbarch.sh: Update comments.
(find_arch_by_info): Remove OLD_GDBARCH argument. Update call to
gdbarch_info_fill.
(gdbarch_find_by_info): Update call to find_arch_by_info.
* gdbarch.h, gdbarch.c: Regenerated.
* remote-sim.c (gdbsim_open): Use TARGET_BYTE_ORDER.
gdb/doc/
* gdbint.texinfo (Target Architecture Definition): Add new
Initializing a New Architecture section.
* (dwarf_expr_read_reg): Use frame_register_read, not frame_register.
* dwarf2loc.c (dwarf_expr_read_reg): Use frame_register_read
instead of frame_register. Doc fix.
(load_full_comp_unit): Take OBJFILE argument and use it.
(dwarf2_build_psymtabs_hard): Skip partial units.
(process_queue): Pass OBJFILE to load_full_comp_unit. Check
type_hash for read in CUs. Test psymtab for NULL.
2006-10-25 Jim Blandy <jimb@codesourcery.com>
* p-valprint.c (pascal_object_print_value): Add 'static' keyword
to function definition, to match declaration earlier in file.
* breakpoint.c (describe_other_breakpoints): Add thread parameter.
Annotate display with thread number where appropriate.
(create_breakpoints): Add thread parameter to call to
describe_other_breakpoints.
(debug_loader_name, svr4_default_sos): New.
(svr4_current_sos): Call svr4_default_sos.
(enable_break): Add a comment about AT_BASE. Set the new
variables and retry solib_add.
(svr4_clear_solib): Clear the new variables.
* gdbint.texinfo (Target Vector Definition): Move most
content into Existing Targets. Add a menu.
(Existing Targets): New section, moved from Target Vector
Definition. Use @subsection.
(Managing Execution State): New section.
gdb/doc/
* remote-sim.c (gdbsim_kill): Call target_mourn_inferior.
(gdbsim_load): Don't bother to adjust inferior_ptid here.
(gdbsim_create_inferior): Mark the simulator as running.
(gdbsim_open): Don't bother fetching registers. Mark
the target as not running.
(gdbsim_xfer): When the program is not running, pass memory
requests down.
(gdbsim_mourn_inferior): Mark the target as not running.
* target.c (target_mark_running, target_mark_exited): New.
* target.h (target_has_execution): Update the comment.
(target_mark_running, target_mark_exited): New prototypes.
(COMMON_OBS): Add target-memory.o.
* memattr.c (lookup_mem_region): Adjust handling for
the top of memory. Improve comments.
* remote.c (packet_check_result): New function, split out
from packet_ok. Recognize "E." as an error prefix.
(packet_ok): Use it.
(remote_write_bytes_aux): New function, renamed from
remote_write_bytes. Take packet header, packet format,
and length flag as arguments.
(remote_write_bytes): Rewrite to use remote_write_bytes_aux.
(remote_send_printf, restore_remote_timeout)
(remote_flash_timeout, remote_flash_erase, remote_flash_write)
(remote_flash_done): New.
(remote_xfer_partial): Handle flash writes.
(init_remote_ops, init_remote_async_ops): Set to_flash_erase
and to_flash_done.
* symfile.c (struct load_section_data): Include a pointer to
the cumulative stats and a request queue. Move most members
to other types.
(struct load_progress_data, struct load_progress_section_data): New
types.
(load_progress): Handle a NULL baton and zero bytes. Update for
type changes.
(load_section_callback): Create memory write requests instead of
writing to memory. Don't print the progress message here.
(clear_memory_write_data): New function.
(generic_load): Use target_write_memory_blocks.
* target-memory.c: New file.
* target.c (update_current_target): Mention new uninherited methods.
(memory_xfer_partial): Issue an error for flash writes.
(target_flash_erase, target_flash_done): New functions.
(target_write_with_progress): Call the progress callback at the
start also.
* target.h (enum target_object): Add TARGET_OBJECT_FLASH.
(target_write_with_progress): Update comment.
(struct target_ops): Add to_flash_erase and to_flash_done.
(target_flash_erase, target_flash_done, struct memory_write_request)
(memory_write_request_s, enum flash_preserve_mode)
(target_write_memory_blocks): New, including a vector type
for memory_write_request_s.
(strtoulst): Moved to ...
* utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
(strtoulst): ... here. Enhanced to behave more similarly
to strtoul.
* defs.h (strtoulst): New prototype.
* memattr.h: Include "vec.h".
(struct mem_region): Remove linked list pointer.
(mem_region_s): New typedef and corresponding vector.
* memattr.c: Include "vec.h".
(mem_region_chain): Delete.
(mem_region_list): New vector pointer.
(mem_region_lessthan): New function.
(create_mem_region): Remove unused return value. Use vector
operations. Remove linear search.
(delete_mem_region): Delete.
(lookup_mem_region): Use vector operations. Add a FIXME.
(mem_info_command): Update to work with vectors.
(mem_enable, mem_enable_command, mem_disable, mem_disable_command)
(mem_free, mem_delete): Likewise.
* remote.c (remote_thread_alive): Remove local buf.
(remote_get_threadinfo): Remove local threadinfo_pkt.
(remote_get_threadlist): Remove unused threadlist_packet.
(remote_current_thread): Remove local buf.
(remote_threads_info): Set bufp after getpkt.
(remote_threads_extra_info): Remove local bufp.
(get_offsets): Set buf after getpkt.
(remote_check_symbols): Set reply after getpkt.
(remote_vcont_probe): Set buf after getpkt.
(remote_resume): Set buf after set_thread.
(remote_wait, remote_async_wait): Set buf after getpkt.
(fetch_register_using_p): Set buf after remote_send.
(remote_fetch_registers): Likewise.
(store_register_using_P): Don't use buf after remote_send.
(check_binary_download, remote_write_bytes)
(remote_read_bytes, remote_rcmd): Remove local buf.
(sparc64_fprs_type): New variables.
(sparc64_init_types): New function.:
(sparc64_register_info): Use appropriate flag types for %fsr and
%fprs.
(sparc64_pseudo_register_info): Use appropriate type for %pstate.
(_initialize_sparc64_tdep): New function.
* dcache.c (dcache_write_line): Use target_write.
(dcache_read_line): Use target_read.
* mi/mi-main.c (mi_cmd_data_read_memory): Use target_read.
* symfile.c (struct load_section_data): Add new per-section
members.
(load_progress): New function.
(load_section_callback): Pass load_progress to the new
target_write_with_progress.
* target.c (current_xfer_partial, memory_xfer_partial): New.
(target_xfer_partial): New prototype.
(target_xfer_memory, target_xfer_partial_p, xfer_using_stratum)
(do_xfer_memory, target_xfer_memory_partial)
(target_read_memory_partial, target_write_memory_partial): Delete.
(trust_readonly): Move higher in the file.
(update_current_target): Use current_xer_partial.
(target_xfer_partial): Use memory_xfer_partial. Handle
TARGET_OBJECT_RAW_MEMORY specially.
(target_read_memory): Use target_read.
(target_write_memory): Use target_write.
(default_xfer_partial): Call to_xfer_partial directly.
(target_write_with_progress): New function, based on target_write.
(target_write): Call it.
* target.h (enum target_object): Add TARGET_OBJECT_RAW_MEMORY.
(target_write_with_progress): New prototype.
(do_xfer_memory, target_read_memory_partial)
(target_write_memory_partial): Delete prototypes.
Do the checks from remote_xfer_memory.
(remote_read_bytes): Do the checks from remote_xfer_memory.
(remote_xfer_memory): Remove checks pushed into lower level
functions.
(remote_xfer_partial): Call remote_write_bytes and remote_read_bytes
directly.
* remote.h (remote_write_bytes): Update prototype.
(substitute_path_rule): New struct.
(substitute_path_rules): New static global variable.
(substitute_path_rule_matches): New function.
(get_substitute_path_rule): New function.
(rewrite_source_path): New function.
(find_and_open_source): Add source path rewriting support.
(strip_trailing_directory_separator): New function.
(find_substitute_path_rule): New function.
(add_substitute_path_rule): New function.
(delete_substitute_path_rule): New function.
(show_substitute_path_command): New function.
(unset_substitute_path_command): New function.
(set_substitute_path_command): New function.
(_initialize_source): Add new substitute-path commands.
* Makefile.in (source.o): Add dependency on gdb_assert.h.
* objfiles.c: Include "expression.h" and "parser-defs.h".
(free_objfile): Clear global blocks.
* symfile.c: Include "parser-defs.h".
(clear_symtab_users): Clear global blocks.
(struct gdbarch_tdep): Add struct_return member.
* arm-tdep.c (arm_return_value): Return
RETURN_VALUE_STRUCT_CONVENTION for aggregates when the ABI uses
pcc_struct_return.
(arm_gdbarch_init): Default to reg_struct_return.
* armobsd-tdep.c (armobsd_init_abi): Set pcc_struct_return.
* target.c (target_read_alloc_1): Renamed from target_read_alloc.
Take new PADDING argument.
(target_read_alloc): Use it.
(target_read_stralloc): New function.
* eval.c (evaluate_subexp_for_address): Don't incorrectly discard
calls to C++ operator*.
gdb/testsuite/
* gdb.cp/userdef.cc, gdb.cp/userdef.exp: New tests for unary
operator*.
(gdb_int64_bytes): Likewise.
(fetch_lm_info): Use .b fields of gdb_int32_bytes and gdb_int64_bytes
as first argument to extract_unsigned_integer to silence compiler
warnings.
* corefile.c (reopen_exec_file): Only check for an open exec file.
Use exec_file_attach.
* exec.c (exec_open): Make static.
(exec_file_command): Don't use target_preopen. Query directly about
changing the file.
* gdbcore.h (exec_open): Remove prototype.
gdb/testsuite/
* gdb.base/completion.exp: Update for change in "file" behavior.
* gdb.stabs/weird.exp: Likewise.
* lib/mi-support.exp (mi_gdb_file_cmd): Likewise.
* lib/gdb.exp (gdb_file_cmd): Likewise. Kill the program explicitly.
* configure.tgt: Build gdbserver for Cygwin and mingw32.
gdb/gdbserver/
* configure.ac: Check for more headers which are missing on
Windows. Automatically supply -lwsock32 and USE_WIN32API.
* configure.srv: Add Cygwin and mingw32.
* remote-utils.c: Don't include headers unconditionally which
are missing on mingw32. Include <winsock.h> for mingw32.
(remote_open): Adjust for mingw32 support. Flush
standard error after writing to it.
(remote_close, putpkt_binary, input_interrupt, block_async_io)
(unblock_async_io, enable_async_io, disable_async_io)
(readchar, getpkt): Update for Winsock support.
(prepare_resume_reply): Expect a protocol signal number.
* server.c: Disable <sys/wait.h> on mingw32.
(start_inferior): Adjust for mingw32 support. Flush
standard error after writing to it.
(attach_inferior): Likewise. Use protocol signal
numbers.
(main): Skip 'D' packet on mingw32. Use protocol signal numbers
and names.
* win32-i386-low.c: New file.
* Makefile.in (XM_CLIBS): Set.
(gdbserver, gdbreplay): Use $(INTERNAL_CFLAGS).
(win32-i386-low.o): New dependency rule.
* linux-low.c (linux_wait): Use target signal numbers.
* target.h (struct target_ops): Doc fix.
* server.h (target_signal_to_name): New prototype.
* gdbreplay.c: Don't include headers unconditionally which
are missing on mingw32. Include <winsock.h> for mingw32.
(remote_close, remote_open): Adjust for Winsock support.
* configure, config.in: Regenerated.
size to control the cache entry, if available.
* minsyms.c (lookup_minimal_symbol_by_pc_section): Handle minimal
symbols with zero and non-zero sizes differently.
* gdb.arch/i386-size.c, gdb.arch/i386-size.exp: New files.
* Makefile.in (ALLDEPFILES): Add armobsd-tdep.c.
(armobsd-tdep.o): New dependency.
* config/arm/obsd.mt: New file.
* configure.tgt: (arm*-*-openbsd*): Set gdb_target to obsd.
<hurd/process_request.h>.
(gnu_resume): Supply missing argument to error().
(gnu_read_inferior): Add extra parenthesis around arithmetic
expression to silence warnings from GCC.
(gnu_write_inferior): Likewise.
(gnu_xfer_memory): Changed type of MYADDR to `gdb_byte *'.
(m32c_banked_read): Use m32c_banked_register function to evaluate
real register number.
(m32c_banked_write): Ditto.
(m32c_virtual_frame_pointer): New function.
(m32c_gdbarch_init): Add set_gdbarch_virtual_frame_pointer call.
* infcall.c (value_arg_coerce): Use value_cast_pointers for
references. Avoid value_cast to a reference type. Don't silently
convert pointers to references.
* valops.c (value_cast_pointers): New, based on value_cast.
(value_cast): Use it. Reject reference types.
(value_ref): New.
(typecmp): Use it.
* value.h (value_cast_pointers, value_ref): New prototypes.
gdb/testsuite/
* gdb.cp/ref-params.exp: New test.
* gdb.cp/ref-params.cc: New source file.
* gdb.cp/Makefile.in (EXECUTABLES): Add ref-params.
* 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.
(ARM_SIGCONTEXT_R0, ARM_UCONTEXT_SIGCONTEXT)
(ARM_OLD_RT_SIGFRAME_SIGINFO, ARM_OLD_RT_SIGFRAME_UCONTEXT)
(ARM_NEW_RT_SIGFRAME_UCONTEXT, ARM_NEW_SIGFRAME_MAGIC): New
constants.
(arm_linux_sigreturn_init, arm_linux_rt_sigreturn_init): Support
the new signal frame layouts.
* alphanbsd-tdep.c (_initialize_alphanbsd_tdep): Do not register a
handler for GDB_OSABI_OPENBSD_ELF.
* Makefile.in (ALLDEPFILES): Add alphaobsd-tdep.c.
(alphaobsd-tdep.o): New target.
* config/alpha/obsd.mt: New file.
* configure.tgt (alpha*-*-openbsd*): Set gdb_target to obsd.
prototype.
* alphanbsd-tdep.c (alphanbsd_regset_from_core_section): Handle
a.out-style core file format here. Make global.
(alphanbsd_regset_from_core_section): Remove.
(alphanbsd_sigtramp_offset): Make static.
(alphanbsd_aout_init_abi): Remove.
(alphanbsd_core_osabi_sniffer): Return GDB_OSABI_NETBSD_ELF for
a.out style core files.
(_initialize_alphanbsd_tdep): Do not register a handler for
GDB_OSABI_NETBSD_AOUT.
* mips-tdep.c (mips_eabi_push_dummy_call): For 32 bit ABI, to
decide how many registers it takes to pass a floating point
argument, what matters is the size of a floating point register
(not the size of a general purpose register).
(mips_o32_push_dummy_call): Ditto.
based on insert_step_resume_breakpoint_at_frame.
(handle_inferior_event): Update comments. Use
insert_step_resume_breakpoint_at_caller.
(insert_step_resume_breakpoint_at_frame): Revise comments.
2006-06-13 Fred Fish <fnf@specifix.com>
* mips-tdep.c (mips_find_long_section): New function.
(mips_gdbarch_init): Use it to set long and pointer sizes.
(show_remote_protocol_packet_cmd): New prototypes.
(remote_set_cmdlist, remote_show_cmdlist): Move higher.
(struct packet_config): Make name and title const.
(add_packet_config_cmd): Remove unnecessary arguments.
(_initialize_remote): Update calls.
buf and buf_size.
(remote_state): New variable.
(get_remote_state): New function.
(struct remote_arch_state): Renamed from struct remote_state.
Removed buf and buf_size.
(get_remote_arch_state): Renamed from get_remote_state. All
necessary callers updated to call this function.
(init_remote_state): Initialize the architecture-specific state.
Update the target-specific state if necessary.
(get_remote_packet_size): New function. All previous references
changed to use this accessor function.
(packet_reg_from_regnum, packet_reg_from_pnum): Take a
remote_arch_state instead of a remote_state. All callers changed.
(_initialize_remote): Initialize the packet buffer here.
DWARF2_FRAME_REG_SAVED_VAL_OFFSET and
DWARF2_FRAME_REG_SAVED_VAL_EXP.
* dwarf2-frame.c (execute_cfa_program): Handle val_offset,
val_offset_sf and val_expression.
(dwarf2_frame_prev_register): Handle the new reg rules.
(dwarf2_frame_this_id): Use pc instead of function entry point.
(handle_exception): Treat a cygwin exception like a normal exception if
cygwin_exceptions is true.
(_initialize_win32_nat): Add "set cygwin-exceptions" handler.
2006-05-19 Fred Fish <fnf@specifix.com>
* Makefile.in: Fix spelling of 'explicitly' and 'explicit'.
* dwarfread.c: Fix spelling of 'unexpected'.
* mips-tdep.c: Fix spelling of 'possible' and 'Determine'.
* stack.c: Fix spelling of 'RETURN_VALUE'.
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-05-16 Jim Blandy <jimb@codesourcery.com>
* MAINTAINERS (Authorized Committers): Gaius Mulley has accepted
the Global Maintainers' invitation to be an authorized committer
for the Modula-2 support.
* gdb/m2-lang.h: added function extern prototypes for m2_is_long_set
and get_long_set_bounds.
* gm2/m2-typeprint.c: This file has been completely
replaced to reflect the Modula-2 syntax rather than call the
c_print_type function.
(m2_print_type): walk the Modula-2 type tree.
(m2_type_name): added.
(m2_range): added.
(m2_typedef): added.
(m2_array): added.
(m2_pointer): added.
(m2_ref): added.
(m2_unknown): added.
(m2_union): added.
(m2_procedure): added.
(m2_print_bounds): added.
(m2_short_set): added.
(m2_is_long_set): added.
(m2_get_discrete_bounds): added.
(m2_is_long_set_of_type): added.
(m2_long_set): added.
(m2_record_fields): added.
(m2_enum): added.
* gdb/dwarf2read.c: added ability to detect the language Modula-2
and handle SET and CHAR types.
(read_set_type): added.
(process_die): call read_set_type.
(read_base_type): modifed signed/unsigned char handling for Modula-2.
(set_cu_language): added Modula-2 case clause.
* gdb/m2-valprint.c: complete replacement so that Modula-2 values are
printed rather than call the C language routines.
(print_function_pointer_address): added.
(get_long_set_bounds): added.
(m2_print_long_set): added.
(print_unpacked_pointer): added.
(print_variable_at_address): added.
(m2_val_print): replaced.
2006-05-11 Fred Fish <fnf@specifix.com>
* symtab.c (skip_prologue_using_sal): Handle single line functions
like "foo(){}", which may optimize down to a single return inst.
* ppc-linux-nat.c: Clean up types for ptrace.
Replace (CORE_ADDR) with (uintptr_t) to avoid the size difference
between a CORE_ADDR and a void* on ppc64 systems compiled for 32-bits.
* target.c (debug_to_disconnect): Delete.
(update_current_target): Do not inherit to_disconnect.
(target_disconnect): Search for a target to implement to_disconnect.
(setup_target_debug): Do not reference to_disconnect.
* target.h (struct target_ops): Add target argument to
to_disconnect.
2006-05-06 Fred Fish <fnf@specifix.com>
* mips-tdep.c (mips_o64_push_dummy_call): Left shift big endian
structs or unions independent of ABI register size.
insert a single-step breakpoint an error instead of a warning.
* breakpoint.c (remove_single_step_breakpoints): Bail out early if
no breakpoints are inserted.
* linux-fork.c (_initialize_linux_fork): Rename "delete-fork"
command to "delete fork" (no hyphen), compatible with other
"delete" commands.
(info_forks_command): Accept a fork ID argument, for info
on a single fork. Report if no matching forks.
2006-04-26 Michael Snyder <msnyder@redhat.com>
* gdb.base/multi-forks.exp: Modify patterns for "run to exit",
which may have to consume output from other forks.
Add tests to make sure that "delete fork" succeeded.
2006-04-27 Michael Snyder <msnyder@redhat.com>
* gdb.texinfo (delete-fork): Command renamed to "delete fork".
Add support for 'target remote |' on MinGW.
* ser-mingw.c (struct pipe_state): New structure.
(make_pipe_state, free_pipe_state, cleanup_pipe_state)
(pipe_windows_open, pipe_windows_close, pipe_windows_read)
(pipe_windows_write, pipe_wait_handle): New functions.
(_initialize_ser_windows): Register a "pipe" interface based on
them.
(struct ser_console_state, struct net_windows_state): Add exit_select,
have_stopped, thread.
(pipe_select_thread, console_select_thread)
(net_windows_select_thread): Don't create a local state copy or
close stop_select. Exit on exit_select instead of stop_select. Set
have_stopped.
(console_select_thread): Don't report control keypresses as pending
input.
(pipe_select_thread): Allow stop_select to interrupt sleeping.
(set_console_wait_handle): Create exit_select and have_stopped.
Save the thread handle. Check _kbhit before starting a thread.
(ser_console_done_wait_handle): New.
(ser_console_close): Close new handles. Wait for the thread to
exit.
(new_windows_select_thread): Assert that an event occurred.
(net_windows_wait_handle): Check for pending input before starting
a thread.
(net_windows_done_wait_handle): New.
(net_windows_open): Create exit_select and have_stopped.
Save the thread handle.
(net_windows_close): Close new handles. Wait for the thread to
exit.
(_intiialize_ser_windows): Register done_wait_handle methods.
* serial.c [USE_WIN32API] (serial_done_wait_handle): New.
* serial.h [USE_WIN32API] (struct serial_ops): Add done_wait_handle.
[USE_WIN32API] (serial_done_wait_handle): New prototype.
* mingw-hdep.c (gdb_select): Use serial_done_wait_handle.
* dwarf2read.c (dwarf2_start_subfile): Change prototype to accept
compilation directory as last argument.
Always pass comp_dir as second argument to start_subfile and prepend
dirname to the filename when necessary.
Remove now superfluous search for pre-existing subfile.
(dwarf_decode_lines): Pass the compilation directory to
dwarf2_start_subfile.
* m32r-rom.c: On MinGW, include winsock.h instead of sys/types.h,
netdb.h, netinet/in.h.
(m32r_upload_command); Add calls WSAStartup().
* remote-m32r-sdi.c: On MinGW, include winsock.h instead of
netinet/in.h.
2006-04-11 Jim Blandy <jimb@codesourcery.com>
* serial.c (serial_open): Check for special cases at the front of
the "device" name before scanning for the ':' that would indicate
an IP-based connection.
frame sniffer.
* sparc-tdep.c (sparc32_gdbarch_init): Make sure to call
dwarf2_frame_set_init_reg() before gdbarch_init_osabi() so
that the latter can override.
* Makefile.in (sparc64-linux-tdep.o): Update dependencies.