2006-05-23 Daniel Jacobowitz * gdb/remote.c (remote_fileio_errno_to_host) (remote_hostio_error): Rename argument to errnum. (_initialize_remote): Update calls to add_packet_config_cmd. 2006-05-23 Daniel Jacobowitz * gdb/remote.c: Include "gdb/fileio.h". (PACKET_Fopen, PACKET_Fread, PACKET_Fwrite, PACKET_Fclose): New enums. (remote_escape_output, remote_unescape_input): New functions. (remote_write_bytes): Use remote_escape_output. (readchar): Do not mask off the high bit. (read_frame): Print binary packets correctly. (getpkt_sane): Likewise. Return the number of bytes read or -1. (remote_buffer_add_string, remote_buffer_add_bytes) (remote_buffer_add_int, remote_hostio_parse_result) (remote_hostio_send_command, remote_hostio_open) (remote_hostio_write, remote_hostio_read) (remote_hostio_close, remote_fileio_errno_to_host) (remote_hostio_error, fclose_cleanup, remote_download_command) (remote_upload_command): New functions. (_initialize_remote): Register new packets and remote-upload and remote-download commands. * gdb/doc/gdb.texinfo (File Transfer): New section. (Remote Configuration): Document Host I/O packet commands. (Host I/O Packets): New section. (Packets): Mention overloading of F prefix. * gdb/gdbserver/Makefile.in (OBS): Add hostio.o. (hostio.o): New rule. * gdb/gdbserver/hostio.c: New file. * gdb/gdbserver/remote-utils.c (putpkt_binary): New function, broken out from putpkt. (putpkt): Use it. (readchar): Do not mask the high bits. Correct the buffer type. * gdb/gdbserver/server.c (main): Leave space for a trailing zero in the packet buffer. Save the length of the received packet. Handle Host I/O requests. Optionally call putpkt_binary. * gdb/gdbserver/server.h (handle_f_hostio, putpkt_binary): New prototypes. 2006-05-10 Daniel Jacobowitz * gdb/frame.c (get_prev_frame): Move check for pc == 0 ... (get_prev_frame_1): ... to here. 2006-05-09 Daniel Jacobowitz * gdb/bsd-uthread.c (bsd_uthread_solib_loaded): Always pass 0 for from_tty. * gdb/remote.c (remote_get_shared_libraries): Don't call solib_add. * gdb/solib.c: Include "exceptions.h". (solib_map_sections): Throw NOT_FOUND_ERROR if appropriate. (symbol_add_stub): Delete. (solib_read_symbols): Use TRY_CATCH. Inline symbol_add_stub. Use current from_tty, not a copy from the so_list. Don't warn a second time for a missing library. (update_solib_list): Don't save from_tty. Use TRY_CATCH. Print out a single warning for all missing libraries. * gdb/solist.h (struct so_list): Remove from_tty. * gdb/Makefile.in (solib.o): Update. 2006-05-08 Daniel Jacobowitz * gdb/remote.c (remote_get_shared_libraries): Check for NULL ops. (remote_wait): Handle ",nop" on DLL packets and "dll:dll" response. 2006-05-08 Daniel Jacobowitz * gdb/solib-target.c (solib_target_remove_one_solib): Correct loop logic. 2006-04-24 Daniel Jacobowitz * arm-tdep.c (thumb_heuristic_function_start): New function. (thumb_scan_prologue): Use it. (arm_prologue_this_id): Adjust LOWEST_PC check. 2006-04-19 Daniel Jacobowitz Merge from gdb-csl-20060226-branch: 2006-04-19 Daniel Jacobowitz * gdb/doc/gdb.texinfo (Remote configuration): Mention "set remote load-offsets". (General Query Packets): Document qPartInfo. 2006-04-18 Mark Mitchell Issue #655 * gdb/mt-tdep.c (mt_gdb_regnums): Add ZI2, ZQ2, Ichannel2, Iscramb2, Qscramb2, Qchannel2. (mt_register_name): Likewise. (mt_copro_register_type): Describe ZI2 and ZQ2. 2006-04-11 Mark Mitchell Issue #658 * gdb/mt-tdep.c (mt_gdb_regnums): Define MT_COPRO_PSEUDOREG_MAC_REGNUM. (mt_register_name): Use it. (mt_copro_register_type): Likewise. (mt_register_type): Likewise. (mt_pseudo_register_read): Likewise. Read the MAC register, not the coprocessor register. (mt_pseudo_register_write): Likewise. 2006-04-17 Daniel Jacobowitz * gdb/buildsym.c (start_subfile): Handle producer. (record_producer): New function. * gdb/buildsym.h (struct subfile): Include producer. (record_producer): New prototype. * gdb/dwarf2-frame.c (struct dwarf2_cie): Add version. (struct dwarf2_frame_state): Add armcc_cfa_offsets_sf and armcc_cfa_offsets_reversed. (execute_cfa_program): Handle armcc_cfa_offsets_sf. (dwarf2_frame_find_quirks): New function. (dwarf2_frame_cache): Call it. Handle armcc_cfa_offsets_reversed. (decode_frame_entry_1): Record the CIE version. * gdb/dwarf2read.c (read_file_scope): Save the producer. * gdb/symtab.h (struct symtab): Rename unused version member to producer. 2006-04-12 Daniel Jacobowitz * gdb/Makefile.in (ALLDEPFILES): Add solib-target.c. (remote.o): Update dependencies. (solib-target.o, symbian-tdep.o): New rules. * gdb/arm-tdep.c (arm_mode_strings, arm_fallback_mode_string) (arm_force_mode_string): New. (arm_pc_is_thumb): Use them. (thumb_scan_prologue): Abort scan when symbols are missing. (arm_show_fallback_mode, arm_show_force_mode): New. (_initialize_arm_tdep): Register fallback-mode and force-mode. * gdb/configure.tgt: Add arm*-*-symbian*. * gdb/infcmd.c (_initialize_infcmd): Make "set args" a string variable. * gdb/inflow.c (kill_command): Assume that a target with stack can have a frame. * gdb/infrun.c (init_wait_for_inferior): Clear target_last_wait_ptid. (insert_step_resume_breakpoint_at_frame): Add use_previous argument. Use get_prev_frame if requested. (handle_inferior_event): Update TARGET_WAITKIND_LOADED support. Update calls to insert_step_resume_breakpoint_at_frame. * gdb/remote.c: Include "solist.h". (remote_exec_file): New variable. (PACKET_vAttach, PACKET_vRun, PACKET_qfDllInfo): New enums. (remote_mark_running, remote_mark_killed): New functions. (extended_remote_restart): Don't send a query. (get_offsets): Handle TextSeg and DataSeg response. (parse_load_response, remote_get_shared_libraries): New functions. (remote_start_remote): Take a target as the second argument for extended mode. Check whether the target is running. Reset inferior_ptid here. (remote_open_1): Assume the target is running. Don't reset inferior_ptid here. Pass the target to remote_start_remote in extended mode. Only do some setup if the target is running. (remote_detach_1): New function, renamed from remote_detach. Don't say we are disconnecting if we aren't. (remote_detach): Call remote_detach_1. (extended_remote_detach): New function. (remote_disconnect): Take a target_ops argument. Correct the error message. Call remote_mourn_1 directly. (extended_remote_attach_1, extended_remote_attach) (extended_async_remote_attach): New functions. (remote_wait): Handle load and unload events. (extended_remote_mourn_1): New function. (extended_remote_mourn): Replace with a call to extended_remote_mourn_1. (extended_async_remote_mourn): New function. (extended_remote_run): New function. (extended_remote_create_inferior_1): New function, from extended_remote_create_inferior. Call get_offsets. (extended_remote_create_inferior) (extended_remote_async_create_inferior): Use it. (remote_stopped_by_watchpoint, crc32_table) (compare_sections_command): Whitespace tweaks. (init_remote_ops, init_extended_remote_ops): Update. (init_remote_async_ops): Whitespace tweaks and update. (init_extended_async_remote_ops): Update. (_initialize_remote): Add new configurable packets. Add "set remote exec-file". * gdb/solib-som.c (som_current_sos): Set addr_low and addr_high. * gdb/solib-target.c: New file. * gdb/solib.c (solib_symbols_extension): New variable. (solib_open): Use it. (solib_map_sections): Set addr_low and addr_high instead of textsection. (info_sharedlibrary_command): Use addr_low and addr_high. * gdb/solib.h (solib_symbols_extension): New declaration. * gdb/solist.h (struct so_list): Replace textsection with addr_low and addr_high. (struct target_so_ops): Add add_one_solib and remove_one_solib. * gdb/symbian-tdep.c: New file. * gdb/symfile.c (init_objfile_sect_indices): Use symfile_find_segment_sections to find the text section. (symfile_find_segments, symfile_find_segment_sections) (symfile_map_offsets_to_segments, symfile_find_segment_lengths) (symfile_section_offset_from_segment): New functions. * gdb/symfile.h (symfile_map_offsets_to_segments) (symfile_section_offset_from_segment) (symfile_find_segment_lengths): New prototypes. * gdb/target.c (debug_to_disconnect): Delete. (update_current_target): Make global. Do not inherit to_disconnect. Mention to_get_shared_libraries. (target_disconnect): Search for to_disconnect. (target_get_shared_libraries): New. (setup_target_debug): Update. * gdb/target.h (struct target_ops): Update to_disconnect prototype. Add to_get_shared_libraries. (target_has_execution): Update comment. (target_get_shared_libraries, update_current_target): New prototypes. * gdb/cli/cli-setshow.c (do_setshow_command): Revise string variable handling. * gdb/config/arm/symbian.mt: New file. * gdb/doc/gdb.texinfo (ARM): Document set/show arm fallback-mode and set/show arm force-mode. * gdb/testsuite/gdb.base/define.exp: Don't use backslashes in the prompt. * readline/emacs_keymap.c: Add a MINGW32 hack. * readline/readline.c: Use _rl_bind_if_unbound to avoid macro bugs. * gdb/gdbserver/linux-low.c (linux_kill): Reset inferior thread and process lists. (linux_detach): Likewise. (linux_wait_for_process): Discard unexpected exits. * gdb/gdbserver/remote-utils.c (unblock_async_io): Ignore if we are restarting. * gdb/gdbserver/server.c (exit_requested, restarting_program) (program_argv): New variables. (attached): Move higher. (start_inferior): Clear attached. Use restarting_program to avoid troubles with the 'R' packet. (attach_inferior): Set attached. (handle_query): Implement "monitor exit". (handle_query_non_running): New function. (handle_v_cont): Report errors. (handle_v_attach, handle_v_run): New. (handle_v_requests): Handle vAttach and vRun. (handle_v_requests_non_running, non_running): New. (debug_threads): Add declaration. (main): Handle --debug. Don't adjust attached here. Save the argv. Keep track of requested exits. Use non_running when the target is dead. Do not always exit after detach. Fix up Hc support. Do not automatically restart the inferior in extended mode. 2006-04-12 Daniel Jacobowitz Backport: 2006-04-12 Daniel Jacobowitz * remote.c (extended_remote_restart): Pass the correct length to getpkt. 2006-03-30 Daniel Jacobowitz * remote.c (struct remote_state): Add BUF and BUF_SIZE. (init_remote_state): Initialize the new fields. (get_memory_packet_size): Update BUF and BUF_SIZE if necessary. (set_thread, remote_thread_alive, remote_unpack_thread_info_response) (remote_get_threadinfo, parse_threadlist_response) (remote_get_threadlist, remote_current_thread, remote_threads_info) (remote_threads_extra_info, extended_remote_restart, get_offsets) (remote_check_symbols, remote_open_1, remote_detach) (remove_vcont_probe, remote_vcont_resume, remote_resume) (remote_wait, remote_async_wait, fetch_register_using_p) (remote_fetch_registers, store_register_using_P) (remote_store_registers, check_binary_download, remote_write_bytes) (remote_read_bytes, remote_insert_breakpoint) (remote_remove_breakpoint, remote_insert_watchpoint) (remote_remove_watchpoint, remote_insert_hw_breakpoint) (remote_remove_hw_breakpoint, compare_sections_command) (remote_xfer_partial, remote_rcmd, packet_command) (remote_get_thread_local_address): Use the global incoming buffer instead of alloca or xmalloc. Limit outgoing packets to rs->remote_packet_size and incoming packets to rs->buf_size. Update calls to getpkt and remote_send. (remote_send): Take arguments by reference. (putpkt_binary): Eliminate junkbuf. Use skip_frame. (skip_frame): New function. (read_frame): Take arguments by reference. Expand the packet buffer instead of issuing an error. (getpkt, getpkt_sane): Take arguments by reference. * remote.h (getpkt): Update prototype and doc. * tracepoint.c (remote_get_noisy_reply): Take arguments by reference. (target_buf): Change from array to pointer. (target_buf_size): New variable. (remote_set_transparent_ranges): Update call to getpkt. (trace_start_command, trace_stop_command, trace_status_command): Update calls to remote_get_noisy_reply. (finish_tfind_command): Take arguments by reference. (trace_find_command, trace_find_pc_command) (trace_find_tracepoint_command, trace_find_line_command): (trace_find_range_command, trace_find_outside_command): Update calls to finish_tfind_command. (_initialize_tracepoint): Initialize target_buf_size and target_buf. 2006-04-11 Daniel Jacobowitz * gdb/breakpoint.c (insert_bp_location, reattach_breakpoints) (remove_breakpoint, delete_breakpoint): Update calls to changed methods. (deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint) (single_step_breakpoints, insert_single_step_breakpoint) (remove_single_step_breakpoints): New. * gdb/breakpoint.h (struct bp_location): Add placed_address and placed_size. Move shadow_contents below the new comment. (deprecated_insert_raw_breakpoint, deprecated_remove_raw_breakpoint) (insert_single_step_breakpoint, remove_single_step_breakpoints): New prototypes. * gdb/gdbarch.sh: Forward struct bp_location in gdbarch.h. (memory_insert_breakpoint, memory_remove_breakpoint): Update second argument. * gdb/mem-break.c (default_memory_insert_breakpoint): Update. Set placed_address and placed_size. (default_memory_remove_breakpoint): Update. Don't use BREAKPOINT_FROM_PC. (memory_insert_breakpoint, memory_remove_breakpoint): Update. * gdb/target.c (update_current_target): Update prototypes for changed functions. (debug_to_insert_breakpoint, debug_to_remove_breakpoint) (debug_to_insert_hw_breakpoint, debug_to_remove_hw_breakpoint): Update. * gdb/target.h: Forward declare struct bp_location. (struct target_ops): Use a bp_location argument for to_insert_breakpoint, to_remove_breakpoint, to_insert_hw_breakpoint, and to_remove_hw_breakpoint. (target_insert_breakpoint, target_remove_breakpoint) (target_insert_hw_breakpoint, target_remove_hw_breakpoint) (memory_insert_breakpoint, memory_remove_breakpoint) (default_memory_insert_breakpoint, default_memory_remove_breakpoint): Update. * gdb/config/i386/nm-i386.h: Forward declare struct bp_location. (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): Update. (target_insert_hw_breakpoint, target_remove_hw_breakpoint): Likewise. * gdb/gdbarch.c, gdbarch.h: Regenerated. * gdb/alpha-tdep.c (alpha_software_single_step): Use insert_single_step_breakpoint and remove_single_step_breakpoints. Remove unused statics. * gdb/arm-tdep.c (arm_software_single_step): Likewise. Add a note. * gdb/cris-tdep.c (cris_software_single_step): Likewise. * gdb/mips-tdep.c (mips_software_single_step): Likewise. * gdb/rs6000-tdep.c (rs6000_software_single_step): Likewise. * gdb/sparc-tdep.c (sparc_software_single_step): Likewise. * gdb/wince.c (struct thread_info_struct): Remove step_prev. (undoSStep): Use remove_single_step_breakpoints. (wince_software_single_step): Use insert_single_step_breakpoint. * gdb/corelow.c (ignore): Remove unneeded prototype. Update second argument. * gdb/exec.c (ignore): Likewise. * gdb/sol-thread.c (ignore): Likewise. * gdb/procfs.c (dbx_link_bpt_addr, dbx_link_shadow_contents): Delete. (dbx_link_bpt): New. (procfs_wait): Check it. (procfs_mourn_inferior): Remove it if necessary. (remove_dbx_link_breakpoint): Use it. (insert_dbx_link_bpt_in_file): Set it. (procfs_init_inferior): Don't update dbx_link_bpt_addr. * gdb/rs6000-nat.c (exec_one_dummy_insn): Use deprecated_insert_raw_breakpoint and deprecated_remove_raw_breakpoint. * gdb/solib-irix.c (shadow_contents, breakpoint_addr): Delete. (base_breakpoint): New. (disable_break): Use it. (enable_break): Set it. * gdb/i386-nat.c (i386_insert_hw_breakpoint, i386_remove_hw_breakpoint): Update. * gdb/ia64-tdep.c (ia64_memory_insert_breakpoint) (ia64_memory_remove_breakpoint): Likewise. * gdb/m32r-tdep.c (m32r_memory_insert_breakpoint) (m32r_memory_remove_breakpoint): Likewise. * gdb/monitor.c (monitor_insert_breakpoint, monitor_remove_breakpoint): Likewise. Remove unnecessary prototypes. Use placed_address and placed_size. Removed useless read from memory. * gdb/nto-procfs.c (procfs_insert_breakpoint) (procfs_remove_breakpoint, procfs_insert_hw_breakpoint) (procfs_remove_hw_breakpoint): Update. * gdb/ocd.c (ocd_insert_breakpoint, ocd_remove_breakpoint): Likewise. * gdb/ocd.h (ocd_insert_breakpoint, ocd_remove_breakpoint): Likewise. * gdb/ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise. * gdb/ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Likewise. * gdb/remote-e7000.c (e7000_insert_breakpoint) (e7000_remove_breakpoint): Likewise. * gdb/remote-m32r-sdi.c (m32r_insert_breakpoint) (m32r_remove_breakpoint): Likewise. * gdb/remote-mips.c (mips_insert_breakpoint) (mips_remove_breakpoint): Likewise. * gdb/remote-rdp.c (remote_rdp_insert_breakpoint) (remote_rdp_remove_breakpoint): Likewise. (rdp_step): Use deprecated_insert_raw_breakpoint and deprecated_remove_raw_breakpoint. * gdb/remote-sds.c (sds_insert_breakpoint, sds_remove_breakpoint): Update. * gdb/remote-sim.c (gdbsim_insert_breakpoint, gdbsim_remove_breakpoint): Delete. (init_gdbsim_ops): Use memory_insert_breakpoint and memory_remove_breakpoint. * gdb/remote-st.c (st2000_insert_breakpoint) (st2000_remove_breakpoint): Update. Remove unused BREAKPOINT_FROM_PC. * gdb/remote.c (remote_insert_breakpoint, remote_remove_breakpoint): Update. Use placed_address and placed_size. (remote_insert_hw_breakpoint, remote_remove_hw_breakpoint): Likewise. * gdb/doc/gdbint.texinfo (Watchpoints, Target Conditionals): Update insert and remove breakpoint prototypes. 2006-04-11 Daniel Jacobowitz Backport: 2006-04-07 Daniel Jacobowitz * remote.c (remote_wait): Convert warning to error before parsing corrupt packets. 2006-04-11 Daniel Jacobowitz * bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Accept more mapping symbols. 2006-04-11 Daniel Jacobowitz Backport: 2006-03-09 Paul Brook * bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Recognise additional mapping symbols. 2006-04-02 Daniel Jacobowitz * Makefile.def (host_modules, dependencies): Add expat. * configure.in (host_libs): Add expat. * Makefile.in, configure: Regenerate. * expat: New directory. * gdb/Makefile.in: Add expat, new files, and xml-builtin.c. Update dependencies. * gdb/acinclude.m4: Include stdint.m4. * gdb/configure.ac: Use AC_C_BIGENDIAN and GCC_HEADER_STDINT. * gdb/aclocal.m4, gdb/config.in, gdb/configure: Regenerate. * gdb/auxv.h: Remove target_auxv_read prototype. * gdb/auxv.c, gdb/avr-tdep.c, gdb/ia64-tdep.c, gdb/linux-nat.c, gdb/procfs.c: Use target_read_whole. * gdb/sparc-tdep.c: Use target_read. * gdb/frame.c: Work around null frame_id handling. * gdb/breakpoint.c, gdb/f-valprint.c, gdb/infcmd.c, gdb/inflow.c, gdb/infrun.c, gdb/stack.c, gdb/valops.c, gdb/varobj.c, gdb/cli-cmds.c, gdb/testsuite/gdb.base/default.exp, gdb/tui/tui-disasm.c, gdb/tui/tui-source.c, gdb/tui/tui-winsource.c: Selected frame fixups. * gdb/README.AVAIL, gdb/available.c, gdb/available.h, gdb/parse-avail.c, gdb/sha1.c, gdb/features/feature_to_c.sh, gdb/features/gdb-target.dtd: New files. * gdb/arm-tdep.c: Handle missing FPA, present VFP, and self-described registers. Decode VFP register numbers from DWARF. * gdb/arm-tdep.h: Add flags for VFP and FPA. * gdb/gdbarch.sh: Add available_features_support and feature_set. Export the arch's obstack. Check feature sets. Improve error handling. * gdb/gdbarch.c, gdb/gdbarch.h: Regenerated. * gdb/infcmd.c: Trigger architecture selection. * gdb/remote.c: Available feature support. qPacketInfo support. Improved g/G packet support. Improved qPart support. qPart:features support. * gdb/symfile.c: Adjust download_write_size. * gdb/target.c: Revise partial transfer support. Handle available features method. Add target_read_whole. * gdb/target.h: Add the available features object and methods. * gdb/doc/gdb.texinfo: Document new features. * gdb/symfile.h: Include symtab.h. 2006-03-31 Nathan Sidwell * gdb/config/m68k/monitor.mt (TDEPFILES): Remove unneeded monitors. (DEPRECATED_TM_FILE): Remove. * gdb/m68k-tdep.c (M68K_FPREG_SIZE): Define. (REGISTER_BYTES_FP): Use it. * gdb/configure.tgt (m68k-*-uclinux*): target is linux. * gdb/remote.c (remote_fetch_registers): Revert bogus change. * gdb/remote.c (remote_fetch_registers): Don't warn about short register packet if we've not set the expected value. * gdb/gdbserver/linux-low.c (linux_read_offsets): Remove debugging printf. * gdb/gdbserver/Makefile.in (reg-cf.o, reg-cf.c): New targets. * gdb/gdbserver/configure.srv (m68k*-*-uclinux*): New target. * gdb/gdbserver/linux-low.c (linux_create_inferior): Use vfork on mmuless systems. (linux_resume_one_process): Remove extraneous cast. (linux_read_offsets): New. (linux_target_op): Add linux_read_offsets on mmuless systems. * gdb/gdbserver/server.c (handle_query): Add qOffsets logic. * gdb/gdbserver/target.h (struct target_ops): Add read_offsets. 2006-03-30 Mark Mitchell * libiberty/configure.ac: Add cygpath for mingw hosts. * libiberty/configure: Rebuilt. * libiberty/Makefile.in: Add cygpath. * libiberty/cygpath.c: New. 2006-03-30 Paul Brook Backport form mainline. * gdb/testsuite/gdb.mi/mi-until.exp: kfail broken until command. * gdb/testsuite/gdb.mi/mi2-until.exp: Ditto. 2006-03-29 Nathan Sidwell * gdb/m68k-tdep.c (M68K_FPREG_TYPE, M68K_LONG_DOUBLE_FORMAT, M68K_RETURN_FP0): New. Set for Coldfire. (m68k_register_type, m68k_register_to_value, m68k_svr4_extract_return_value, m68k_svr4_store_return_value, m68k_gdbarch_init): Use them. 2006-03-21 Mark Mitchell * gdb/ser-mingw.c (net_windows_state): Add mutex. (net_windows_select_thread): Grab lock around access to read_event. (net_windows_wait_handle): Do not reset the read_event. (net_windows_open): Create a mutex. (net_windows_read_prim): New function. (_initialize_ser_windows): Use it. 2006-03-20 Mark Mitchell * libiberty/pex-common.c (pex_run): Close the write end of the pipe after starting the child. * gdb/config/arm/armv7m.mt (TDEPFILES): Add prologue-value.o. 2006-03-21 Paul Brook Daniel Jacobowitz Jim Blandy * gdb/Makefile.in: Add prologue_value.{c,h} * gdb/arm-tdep.c: Include prologue-value.h. (thumb_skip_prologue): Remove. (thumb_analyze_prologue): New function. (arm_skip_prologue): Use thumb_analyze_prologue. (thumb_scan_prologue): Ditto. * gdb/prologue-value.c: New file. * gdb/prologue-value.h: New file. * gdb/config/arm/embed.mt (TDEPFILES): Add prologue-value.o. * gdb/config/arm/linux.mt (TDEPFILES): Add prologue-value.o. * gdb/config/arm/nbsd.mt (TDEPFILES): Add prologue-value.o. * gdb/config/arm/wince.mt (TDEPFILES): Add prologue-value.o. * gdb/testsuite/gdb.arch/thumb-prologue.c: New file. * gdb/testsuite/gdb.arch/thumb-prologue.exp: New file. 2006-03-20 Mark Mitchell * configure.tgt (arm*-stellaris-*): Use armv7m configuration. * config/arm/armv7m.mt: New file. * config/arm/tm-armv7m.h: Likewise. * arm-tdep.c (arm_register_name_strings): Use xPSR on ARM V7M. (arm_pc_is_thumb): ARM V7M is always Thumb. (set_disassembly_style): Use xPSR on ARM V7M. (arm_write_pc): Do not set T bit in CSPR on V7M. 2006-03-20 Mark Mitchell * libiberty/pex-win32.c (): Include. (fix_argv): Remove. (argv_to_cmdline): New function. (std_suffixes): New variable. (no_suffixes): Likewise. (find_executable): New function. (win32_spawn): Likewise. (spawn_script): Use win32_spawn instead of _spawnv[p]. (pex_win32_exec_child): Replace MSVCRT calls with Win32 API calls. (pex_win32_wait): Likewise. 2006-03-19 Mark Mitchell * gdb/ser-mingw.c (free_pipe_state): Close pipe before calling pex_free. 2006-03-17 Mark Mitchell * gdb/config/arm/embed.mt (TDEPFILES): Remove remote-rdp.o. 2006-03-17 Jim Blandy Add support for 'target remote |' on MinGW. * gdb/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. * libiberty/pex-common.c (pex_write_input): New function. * libiberty/pexecute.txh (pex_write_input): Document it. * libiberty/pex-common.h (struct pex_funcs): New function ptr fdopenw. * libiberty/pex-unix.c (pex_unix_fdopenw): New function. (funcs): List it as our fdopenw function. * libiberty/pex-win32.c (pex_win32_fdopenw): New function. (funcs): List it as our fdopenw function. * libiberty/pex-djgpp.c (funcs): Leave fdopenw null. * libiberty/pex-msdos (funcs): Same. * libiberty/functions.texi: Regenerated. * include/libiberty.h (pex_write_input): New declaration. * libiberty/pex-common.h (struct pex_obj): Doc fixes. * libibery/functions.texi: Regenerate. 2006-03-15 Daniel Jacobowitz * gdb/gdb_proc_service.h (paddr_t): Use psaddr_t if available. * gdb/proc-service.c (ps_xfer_memory): Cast paddr_t to unsigned long. (ps_pglobal_lookup): Cast CORE_ADDR to paddr_t. 2006-03-15 Daniel Jacobowitz * gdb/gdbserver/linux-mips-low.c: Include and "gdb_proc_service.h". (PTRACE_GET_THREAD_AREA): Define. (ps_get_thread_area): New function. * gdb/gdbserver/Makefile.in (linux-i386-low.o, linux-mips-low.o) (linux-x86-64-low.o): Update. 2006-03-15 Daniel Jacobowitz * gdb/gdbserver/configure.ac: Remove checks for prfpregset_t. * gdb/gdbserver/gdb_proc_service.h: New file. * gdb/gdbserver/linux-i386-low.c, gdb/gdbserver/linux-x86-64-low.c, gdb/gdbserver/thread-db.c: Use the new "gdb_proc_service.h". * gdb/gdbserver/proc-service.c: Likewise. (ps_pglobal_lookup, ps_pdread, ps_pdwrite): Use psaddr_t. (ps_lgetfpregs, ps_lsetfpregs): Use a void* argument. * gdb/gdbserver/Makefile.in (gdb_proc_service_h): Updated. * gdb/gdbserver/configure, config.in: Regenerated. 2006-03-15 Daniel Jacobowitz * gdb/Makefile.in (mips_linux_tdep_h): New. (mpis-linux-nat.o, mips-linux-tdep.o): Update. * gdb/mips-linux-nat.c: Include "inferior.h", "mips-linux-tdep.h", and . (have_ptrace_regsets, super_fetch_registers, super_store_registers) (mips64_linux_regsets_fetch_registers) (mips64_linux_regsets_store_registers, mips64_linux_fetch_registers) (mips64_linux_store_registers): New. (_initialize_mips_linux_nat): Override to_fetch_registers and to_store_registers. * gdb/mips-linux-tdep.h: New file. * gdb/mips-linux-tdep.c: Include "mips-linux-tdep.c". (ELF_NGREG, ELF_NFPREG, elf_greg_t, elf_gregset_t, elf_fpreg_t) (elf_fpregset_t, FPR_BASE, PC, CAUSE, BADVADDR, MMHI, MMLO) (FPC_CSR, FPC_EIR, EF_REG0, EF_REG31, EF_LO, EF_HI, EF_CP0_EPC) (EF_CP0_BADVADDR, EF_CP0_STATUS, EF_CP0_CAUSE, EF_SIZE) (MIPS64_ELF_NGREG, MIPS64_ELF_NFPREG, mips64_elf_greg_t) (mips64_elf_gregset_t, mips64_elf_fpreg_t, mips64_elf_fpregset_t) (MIPS64_FPR_BASE, MIPS64_PC, MIPS64_CAUSE, MIPS64_BADVADDR) (MIPS64_MMHI, MIPS64_MMLO, MIPS64_FPC_CSR, MIPS64_FPC_EIR) (MIPS64_EF_REG0, MIPS64_EF_REG31, MIPS64_EF_LO, MIPS64_EF_HI) (MIPS64_EF_CP0_EPC, MIPS64_EF_CP0_BADVADDR, MIPS64_EF_CP0_STATUS) (MIPS64_EF_CP0_CAUSE, MIPS64_EF_SIZE): Delete. (supply_32bit_reg): Use gdb_byte. (supply_64bit_reg): New. (mips_supply_gregset, mips_fill_gregset, mips_supply_fpregset) (mips_fill_fpregset, fetch_core_registers, supply_gregset) (fill_gregset, supply_fpregset): Update for renamed types. (mips64_supply_gregset): Use gdb_byte and supply_64bit_reg. (mips64_fill_gregset): Make global. Handle 32-bit register sizes. (mips64_fill_fpregset): Make global. Use gdb_byte. Handle FP regsets properly. 2006-03-15 Daniel Jacobowitz * gdb/mips-linux-tdep.c (mips_supply_gregset): Renamed from supply_gregset. (mips_fill_gregset): Renamed from fill_gregset. (mips_supply_fpregset): Renamed from supply_fpregset. (mips_fill_fpregset): Renamed from fill_fpregset. (fetch_core_registers): Update calls. (supply_gregset, fill_gregset, supply_fpregset, fill_fpregset): New functions. 2006-03-15 Daniel Jacobowitz * gdb/mips-tdep.c (mips_gdbarch_init): Default 64-bit ELF files to N64. 2006-03-15 Daniel Jacobowitz * gdb/mips-tdep.c (is_mips16_addr, mips32_next_pc, add_offset_16): Correct arithmetic for 64-bit CORE_ADDR. 2006-03-15 Daniel Jacobowitz * gdb/mips-linux-tdep.c: Include "floatformat.h". (mips_linux_init_abi): Use 128-bit long double for N32 and N64. (mips_n32n64_return_value): Support 128-bit long double. (print_gp_register_row): Don't print spaces before ignored or floating point registers. 2006-03-15 Daniel Jacobowitz * gdb/mips-mdebug-tdep.c (compare_pdr_entries): Use bfd_get_signed_32 for code addresses. (non_heuristic_proc_desc): Likewise. 2006-03-15 Daniel Jacobowitz * gdb/mips-linux-nat.c: Include "gdb_proc_service.h". (PTRACE_GET_THREAD_AREA): Define. (ps_get_thread_area): New. * gdb/Makefile.in (mips-linux-nat.o): Update. 2006-03-08 Paul Brook Backport from mainline. * gdb/arm-tdep.c (arm_push_dummy_call): Remove stack alignment. (arm_frame_align): New function. (arm_gdbarch_init): Use it. 2006-03-07 Paul Brook Backport from mainline. * gdb/testsuite/gdb.base/assign.exp: Correct fail message. 2006-03-07 Paul Brook Backport from mainline. * sim/arm/elfos.c (ARMul_OSHandleSWI): Call correct function for IsTTY. 2006-03-07 Paul Brook Backport from mainline. * gdb/testsuite/lib/compiler.c: Extract armcc version number. * gdb/testsuite/lib/compiler.cc: Ditto. 2006-03-07 Paul Brook Backport from mainline. 2006-03-03 Khem Raj * remote-rdp.c (remote_rdp_xfer_inferior_memory): Use gdb_byte. 2006-03-07 Paul Brook Backport from mainline. * gdb.arch/altivec-abi.exp: Use nowarnings instead of additional_flags=-w. * gdb.arch/altivec-regs.exp: Ditto. * gdb.arch/e500-abi.exp: Ditto. * gdb.arch/e500-regs.exp: Ditto. * gdb.base/all-bin.exp: Ditto. * gdb.base/annota1.exp: Ditto. * gdb.base/annota3.exp: Ditto. * gdb.base/args.exp: Ditto. * gdb.base/arithmet.exp: Ditto. * gdb.base/assign.exp: Ditto. * gdb.base/async.exp: Ditto. * gdb.base/bang.exp: Ditto. * gdb.base/break.exp: Ditto. * gdb.base/call-rt-st.exp: Ditto. * gdb.base/completion.exp: Ditto. * gdb.base/cond-expr.exp: Ditto. * gdb.base/condbreak.exp: Ditto. * gdb.base/consecutive.exp: Ditto. * gdb.base/define.exp: Ditto. * gdb.base/display.exp: Ditto. * gdb.base/ena-dis-br.exp: Ditto. * gdb.base/environ.exp: Ditto. * gdb.base/eval-skip.exp: Ditto. * gdb.base/info-proc.exp: Ditto. * gdb.base/jump.exp: Ditto. * gdb.base/logical.exp: Ditto. * gdb.base/long_long.exp: Ditto. * gdb.base/maint.exp: Ditto. * gdb.base/miscexprs.exp: Ditto. * gdb.base/pc-fp.exp: Ditto. * gdb.base/pointers.exp: Ditto. * gdb.base/relational.exp: Ditto. * gdb.base/reread.exp: Ditto. * gdb.base/sect-cmd.exp: Ditto. * gdb.base/sep.exp: Ditto. * gdb.base/sepdebug.exp: Ditto. * gdb.base/until.exp: Ditto. * gdb.base/whatis-exp.exp: Ditto. * gdb.cp/annota2.exp: Ditto. * gdb.cp/annota3.exp: Ditto. * gdb.trace/actions.exp: Ditto. * gdb.trace/backtrace.exp: Ditto. * gdb.trace/circ.exp: Ditto. * gdb.trace/collection.exp: Ditto. * gdb.trace/deltrace.exp: Ditto. * gdb.trace/infotrace.exp: Ditto. * gdb.trace/limits.exp: Ditto. * gdb.trace/packetlen.exp: Ditto. * gdb.trace/passc-dyn.exp: Ditto. * gdb.trace/passcount.exp: Ditto. * gdb.trace/report.exp: Ditto. * gdb.trace/save-trace.exp: Ditto. * gdb.trace/tfind.exp: Ditto. * gdb.trace/tracecmd.exp: Ditto. * gdb.trace/while-dyn.exp: Ditto. * gdb.trace/while-stepping.exp: Ditto. * lib/gdb.exp: Ditto. (gdb_compile): Handle nowarning option.