2005-03-28 Mark Mitchell * gdb/configure.ac: No tgetent on MinGW. * gdb/configure: Regenerated. * gdb/event-loop.c (struct gdb_notifier): Add "handles" for Windows. (create_file_handler): On Windows, update handles, rather than check_masks and ready_masks. (delete_file_handler): Likewise. (gdb_wait_for_event): Use WaitForMultipleObjects, not select, on Windows. * gdb/event-top.c (gdb_setup_readline): Put console into character-at-a-time mode under Windows. 2005-03-28 Mark Mitchell * gdb/configure.ac: Link with -lws2_32 on mingw. * gdb/configure: Regenerated. * gdb/defs.h (WINAPI): Define, conditionally. * gdb/ser-base.c (winsock2.h): Include it. (fd_event): Use read_prim. (ser_base_wait_for): Moved here from ser-unix.c. (do_ser_base_readchar): Likewise. (generic_readchar): Likewise. (ser_base_readchar): Likewise. * gdb/ser-base.h (generic_readchar): Declare. (ser_base_readchar): Likewise. * gdb/ser-pipe.c (_initialize_ser_pipe): Adjust for name changes. * gdb/ser-tcp.c (winsock2.h): Include it. (ETIMEDOUT): Define on Windows. (closesocket): Define on UNIX. (ioctlsocket): Likewise. (net_open): Adjust for differences in socket functions between Windows and UNIX. (_initialize_ser_tcp): Adjust for name changes. (net_read_prim): New function. (net_write_prim): Likewise. * gdb/ser-unix.c (generic_readchar): Remove. (ser_unix_wait_for): Likewise. (do_unix_readchar): Likewise. (ser_unix_readchar): Likewise. (_initialize_ser_hardwire): Adjust for name changes. (ser_unix_read_prim): New function. (ser_unix_write_prim): New function. * gdb/ser-unix.h (ser_unix_readchar): Remove. (ser_unix_read_prim): Declare. (ser_unix_write_prim): Declare. * gdb/serial.h (struct serial_ops): Add read_prim and write_prim. * gdb/utils.c (winerror.h): Include it. (safe_strerror): Handle winsock errors. 2005-03-28 Mark Mitchell Backport from mainline: 2005-03-25 Mark Mitchell * ser-base.c (ser_unix_write): Rename to ... (ser_base_write): ... this. (ser_unix_nop_flush_output): Rename to ... (ser_base_flush_output): ... this. (ser_unix_flush_input): Rename to ... (ser_base_flush_input): ... this. (ser_unix_nop_send_break): Rename to ... (ser_base_send_break): ... this. (ser_unix_nop_drain_output): Rename to ... (ser_base_drain_output): ... this. (ser_unix_nop_raw): Rename to ... (ser_base_raw): ... this. (ser_unix_nop_get_tty_state): Rename to ... (ser_base_set_tty_state): ... this. (ser_unix_nop_noflush_set_tty_state): Rename to ... (ser_base_noflush_set_tty_state): ... this. (ser_unix_nop_print_tty_state): Rename to ... (ser_base_print_tty_state): ... this. (ser_unix_nop_setbaudrate): Rename to ... (ser_base_setbaudrate): ... this. (ser_unix_nop_setstopbits): Rename to ... (ser_base_setstopbits): ... this. (ser_unix_async): Rename to ... (ser_base_async): ... this. * ser-base.h (ser_unix_write): Rename to ... (ser_base_write): ... this. (ser_unix_nop_flush_output): Rename to ... (ser_base_flush_output): ... this. (ser_unix_flush_input): Rename to ... (ser_base_flush_input): ... this. (ser_unix_nop_send_break): Rename to ... (ser_base_send_break): ... this. (ser_unix_nop_drain_output): Rename to ... (ser_base_drain_output): ... this. (ser_unix_nop_raw): Rename to ... (ser_base_raw): ... this. (ser_unix_nop_get_tty_state): Rename to ... (ser_base_set_tty_state): ... this. (ser_unix_nop_noflush_set_tty_state): Rename to ... (ser_base_noflush_set_tty_state): ... this. (ser_unix_nop_print_tty_state): Rename to ... (ser_base_print_tty_state): ... this. (ser_unix_nop_setbaudrate): Rename to ... (ser_base_setbaudrate): ... this. (ser_unix_nop_setstopbits): Rename to ... (ser_base_setstopbits): ... this. (ser_unix_async): Rename to ... (ser_base_async): ... this. * ser-pipe.c (_initialize_ser_pipe): Update accordingly. * ser-tcp.c (_initialize_ser_tcp): Likewise. * ser-unix.c (hardwire_flush_input): Likewise. (_initializer_ser_hardwire): Likewise. 2005-03-28 Mark Mitchell Backport from mainline. 2005-03-22 Mark Mitchell * Makefile.in (SFILES): Add ser-base.c. (ser_base_h): New variable. (ser-base.o): New target. (ser-pipe.o): Depend on $(ser_base_h). (ser-tcp.o): Likewise. (ser-unix.o): Likewise. Do not depend on $(event_loop_h). * configure.ac (SER_HARDWIRE): Include ser-base.o where appropriate. * ser-base.c: New file. (push_event): Move from ser-unix.c. (fd_event): Likewise. (reschedule): Likewise. (ser_unix_write): Likewise. (ser_unix_nop_flush_output): Likewise. (ser_unix_flush_input): Likewise. (ser_unix_nop_send_break): Likewise. (ser_unix_nop_drain_output): Likewise. (ser_unix_nop_raw): Likewise. (ser_unix_nop_get_tty_state): Likewise. (ser_unix_nop_set_tty_state): Likewise. (ser_unix_nop_noflush_set_tty_state): Likewise. (ser_unix_nop_print_tty_state): Likewise. (ser_unix_nop_setbaudrate): Likewise. (ser_unix_nop_setstopbits): Likewise. (ser_unix_async): Likewise. * ser-base.h: New file. * ser-pipe.c (ser-base.h): Include it. * ser-tcp.c (ser-base.h): Likewise. * ser-unix.h (ser_unix_nop_flush_output): Remove. (ser_unix_flush_input): Likewise. (ser_unix_nop_send_break): Likewise. (ser_unix_nop_raw): Likewise. (ser_unix_nop_get_tty_state): Likewise. (ser_unix_nop_set_tty_state): Likewise. (ser_unix_nop_print_tty_state): Likewise. (ser_unix_nop_noflush_set_tty_state): Likewise. (ser_unix_nop_setbaudrate): Likewise. (ser_unix_nop_setstopbits): Likewise. (ser_unix_nop_drain_output): Likewise. (ser_unix_wait_for): Likewise. (ser_unix_write): Likewise. (ser_unix_async): Likewise. * ser-unix.c (event-loop.h): Do not include it. (push_event): Move to ser-base.c. (fd_event): Likewise. (reschedule): Likewise. (ser_unix_write): Likewise. (ser_unix_nop_flush_output): Likewise. (ser_unix_flush_input): Likewise. (ser_unix_nop_send_break): Likewise. (ser_unix_nop_drain_output): Likewise. (ser_unix_nop_raw): Likewise. (ser_unix_nop_get_tty_state): Likewise. (ser_unix_nop_set_tty_state): Likewise. (ser_unix_nop_noflush_set_tty_state): Likewise. (ser_unix_nop_print_tty_state): Likewise. (ser_unix_nop_setbaudrate): Likewise. (ser_unix_nop_setstopbits): Likewise. (ser_unix_async): Likewise. (ser_unix_wait_for): Make it static. 2005-03-25 Daniel Jacobowitz * gdb/Makefile.in (arm-linux-nat.o): Update dependencies. * gdb/arm-linux-nat.c: Include "gdb_proc_service.h". (PTRACE_GET_THREAD_AREA): Define. (ps_get_thread_area): New function. * gdb/gdbserver/Makefile.in (linux-arm-low.o): Update dependencies. * gdb/gdbserver/linux-arm-low.c: Include "../gdb_proc_service.h". (PTRACE_GET_THREAD_AREA): Define. (ps_get_thread_area): New function. 2005-03-25 Paul Brook Daniel Jacobowitz * gdb/configure.tgt: Add default OSABI setting for arm*-*-linux-gnueabi. * gdb/arm-tdep.c (arm_type_align): New function. (arm_push_dummy_call): Use it. Ensure proper argument alignment. Don't try to align the stack. (arm_frame_align): New function. (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_elf_osabi_sniffer): Add EF_ARM_EABI_VER4 case. Handle GDB_OSABI_ARM_EABI_V4_LINUX. (arm_gdbarch_init): Set different FPU and ABI defaults for EABI objects. Use set_gdbarch_return_value instead of obsolete functions. Call set_gdbarch_frame_align. (arm_init_abi_eabi_v4): New function. (_initialize_arm_tdep): Register GDB_OSABI_ARM_EABI_V4. * gdb/arm-linux-tdep.c (ARM_LINUX_EABI_JB_PC): Define. (arm_linux_eabi_init_abi): New function. (_initialize_arm_linux_tdep): Register GDB_OSABI_ARM_EABI_V4_LINUX. * gdb/arm-tdep.h (enum arm_abi_variant): New. (struct gdbarch_tdep): Add abi field. * gdb/defs.h (enum gdb_osabi): Add GDB_OSABI_ARM_EABI_V4 and GDB_OSABI_ARM_EABI_V4_LINUX. * gdb/osabi.c (gdb_osabi_name): Add "ARM EABI v4" and "ARM EABI v4 GNU/Linux". * gdb/testsuite/gdb.base/long_long.exp: Don't expect FPA format for ARM EABI targets. 2005-03-25 Daniel Jacobowitz * gdb/arm-linux-nat.c (store_register, store_regs): Handle ARM_PS_REGNUM. 2005-03-25 Daniel Jacobowitz * gdb/arm-tdep.c (target_is_thumb, caller_is_thumb) (arm_pc_is_thumb_dummy): Remove. (arm_breakpoint_from_pc): Don't call arm_pc_is_thumb_dummy. 2005-03-25 Daniel Jacobowitz * gdb/arm-linux-tdep.c (arm_linux_thumb_be_breakpoint) (arm_linux_thumb_le_breakpoint): New. Update comments. (arm_linux_init_abi): Set Thumb breakpoints also. 2005-03-25 Daniel Jacobowitz * gdb/Makefile.in (arm-tdep.o): Update dependencies. * gdb/arm-tdep.c: Include "objfiles.h" and "dwarf2-frame.h". (arm_gdbarch_init): Register dwarf2_frame_sniffer. 2005-03-25 Daniel Jacobowitz * gdb/elfread.c (elf_symtab_read): Skip symbols which BFD considers special. 2005-03-25 Daniel Jacobowitz * gdb/testsuite/lib/mi-support.exp (mi_gdb_load): Use /tmp for gdbserver downloads. * gdb/testsuite/config/gdbserver.exp (gdb_load): Likewise.