blob: 115621dd069469aefcf3d2faebd9c4d3e9557b08 [file] [log] [blame]
2005-03-30 Paul Brook <paul@codesourcery.com>
* arm/wrapper.c: Provide SIGTRAP and SIGBUS.
2005-03-30 Daniel Jacobowitz <dan@codesourcery.com>
* gdb/Makefile.in (arm-linux-nat.o): Update dependencies.
* gdb/arm-linux-nat.c: Include "gdb_assert.h".
(PTRACE_GETWMMXREGS, PTRACE_SETWMMXREGS): Define.
(arm_linux_has_wmmx_registers): New flag.
(GET_THREAD_ID): Remove stray punctuation.
(IWMMXT_REGS_SIZE): Define.
(fetch_wmmx_regs, store_wmmx_regs): New functions.
(fetch_inferior_registers, store_inferior_registers): Call them.
(arm_linux_available_registers): New function.
* gdb/inftarg.c (child_xfer_partial): Handle
TARGET_OBJECT_AVAILABLE_REGISTERS.
* gdb/config/arm/nm-linux.h (arm_linux_available_registers): Add
prototype.
(NATIVE_XFER_AVAILABLE_REGISTERS): Define.
* gdb/gdbserver/linux-arm-low.c (arm_fill_wmmxregset)
(arm_store_wmmxregset): Remove stray text.
(arm_available_registers): Remove debugging output. Use hex.
* gdb/gdbserver/regcache.c (num_registers): Make global.
* gdb/gdbserver/server.c (handle_p_packet, handle_P_packet): Check
the value of regnum.
2005-03-28 Paul Brook <paul@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* gdb/Makefile.in: arm-tdep.o depends on $(observer_h).
* gdb/arm-linux-nat.c (fetch_fpregister, fetch_fpregs,
store_fpregister, store_fpregs): Rename...
(fetch_fpa_register, fetch_fpa_regs, store_fpa_register,
store_fpa_regs): ... to this.
* gdb/arm-linux-tdep.c (arm_linux_init_abi): Provide ABI specific
overrides.
* gdb/arm-tdep.c: Include opserver.h.
(struct gdbarch_tdep_info): Add.
(arm_push_dummy_call): Handle doubleword alignment.
(arm_register_type): Handle iWMMXt and VFP regs.
(arm_register_byte): Ditto.
(arm_pseudo_register_read): New function.
(arm_pseudo_register_write): New function.
(arm_dwarf_reg_to_regnum): New function.
(arm_register_sim_regno): Handle iWMMXT regs.
(arm_register_remote_regno): New function.
(arm_extract_return_value): Use new macro names.
(arm_register_name): Handle iWMMXt and VFP registers.
(arm_sim_available_registers): New function.
(arm_update_architecture): New function.
(arm_gdbarch_init): Handle optional register sets. Register new
hooks. Fix misleading error message.
(_initialize_arm_tdep): Call observer_attach_inferior_created.
* gdb/arm-tdep.h (ARM_NUM_FP_ARG_REGS, ARM_LAST_FP_ARG_REGNUM,
FP_REGISTER_SIZE, NUM_FREGS): Rename ...
(ARM_NUM_FPA_ARG_REGS, ARM_LAST_FPA_ARG_REGNUM, FPA_REGISTER_SIZE,
NUM_FPA_REGS): ... to this.
(NUM_IWMMXT_COP0REGS, NUM_IWMMXT_COP1REGS, NUM_IWMMXT_REGS,
IWMMXT_COP0_REGSIZE, IWMMXT_COP1_REGSIZE, NUM_VFP_XREGS,
VFP_XREG_SIZE, NUM_VFP_SREGS, VFP_SREG_SIZE, NUM_VFP_PSEUDOS): Define.
(struct gdbarch_tdep): Add target_has_iwmmxt_regs,
target_has_vfp_regs, first_iwmmxt_regnum, target_iwmmxt_regnum,
first_vfp_regnum, first_vfp_pseudo and target_vfp_regnum.
* gdb/gdbarch.c (struct gdbarch): Add remote_num_g_packet_regs,
sim_available_registers and register_remote_regno.
(startup_gdbarch, verify_gdbarch): Ditto.
(gdbarch_dump): Dump new fields.
(gdbarch_remote_num_g_packet_regs_p, gdbarch_remote_num_g_packet_regs,
set_gdbarch_remote_num_g_packet_regs,
gdbarch_sim_available_registers_p, gdbarch_sim_available_registers,
set_gdbarch_sim_available_registers, gdbarch_register_remote_regno_p,
gdbarch_register_remote_regno, set_gdbarch_register_remote_regno):
New functions.
* gdb/gdbarch.h: Add prototypes.
* gdb/gdbarch.sh: Add new fields.
(deprecated_current_gdbarch_select_hack): Call flush_cached_frames.
* gdb/remote-sim.h (gdbsim_create_inferior): Call
observer_notify_inferior_created.
(gdbsim_xfer_partial): New function.
(init_gdbsim_ops): Use it.
* gdb/remote.c (struct remote_state): Add num_g_regs.
(init_remote_state): Only consider hard regs. Allow target to provide
register mapping.
(packet_reg_from_regnum): Don't check pseudo regs.
(packet_reg_from_pnum): Ditto.
(remote_protocol_qPart_availableRegisters): Add.
(set_remote_protocol_qPart_availableRegisters_packet_cmd,
show_remote_protocol_qPart_availableRegisters_packet_cmd): New
functions.
(fetch_register_using_p, store_register_using_P): Handle arbitrary
register mappings.
(fetch_registers_using_g): New function.
(remote_fetch_registers): Use it.
(store_registers_using_G): New function.
(remote_store_registers): Use it.
(remote_xfer_partial): Handle TARGET_OBJECT_AVAILABLE_REGISTERS.
(show_remote_cmd): Display availableRegisters.
(_initialize_remote): Register qPart_availableRegisters.
* gdb/target.h (enum target_object): Add
TARGET_OBJECT_AVAILABLE_REGISTERS.
* gdb/gdbserver/configure.srv (arm*-*-linux*): set
srv_linux_regsets=yes.
* gdb/gdbserver/linux-arm-low.c (PTRACE_GETWMMXREGS,
PTRACE_SETWMMXREGS): Define.
(arm_fill_gregset, arm_store_gregset, arm_fill_wmmxregset,
arm_store_wmmxregset, arm_available_registers): New functions.
(target_regsets): Add.
(the_low_target): Use arm_available_registers.
* gdb/gdbserver/linux-low.c (linux_available_registers): New function.
(linux_target_op): Use it.
* gdb/gdbserver/linux-low.h (gdbserver/linux-low.h): Add
available_registers.
(use_regsets_p): Declare.
* gdb/gdbserver/regcache.c (g_register_bytes): Add.
(regcache_invalidate, registers_to_string, registers_from_string):
Use it.
(set_register_cache): Set g_register_bytes.
(supply_register_as_string): New function.
* gdb/gdbserver/regcache.h (supply_register_as_string): Add prototype.
* gdb/gdbserver/server.c (handle_query): Handle
qPart:availableRegisters.
(handle_p_packet, handle_P_packet): New functions.
(main): Handle 'p' and 'P' packets.
* gdb/gdbserver/target.h (struct target_ops): Add available_registers.
* gdb/regformats/reg-arm.dat: Add last_g_reg and iWMMXT regs.
* gdb/regformats/regdat.sh: Handle last_g_reg.
* gdb/regformats/regdef.h (set_register_cache): Update prototype.
2005-03-28 Mark Mitchell <mark@codesourcery.com>
* include/libiberty.h (ffs): Declare.
2005-03-28 Mark Mitchell <mark@codesourcery.com>
* gdb/ser-tcp.c (net_read_prim): Use recv unconditionally.
(net_write_prim): Use send unconditionally.
* gdb/configure.ac: Do not check for send and recv.
* gdb/configure: Regenerated.
2005-03-28 Daniel Jacobowitz <dan@codesourcery.com>
* gdb/remote-rdi.c (arm_rdi_insert_breakpoint): Don't call
arm_pc_is_thumb_dummy.
2005-03-28 Mark Mitchell <mark@codesourcery.com>
* readline/Makefile.in (RLTTYOBJ): New variable.
(OBJECTS): Use RLTTYOBJ.
* readline/aclocal.m4: Use AC_RTY_LINK to check for mbstate_t.
* readline/complete.c (pwd.h): Guard with HAVE_PWD_H.
(getpwent): Guard with HAVE_GETPWENT.
(rl_username_completion_function): Guard use of getpwent.
(endpwent): Likewise.
* readline/config.h.in (HAVE_FCNTL): New macro.
(HAVE_GETPWENT): Likewise.
(HAVE_GETPWNAM): Likewise.
(HAVE_GETPWUID): Likewise.
(HAVE_PWD_H): Likewise.
* readline/configure: Regenerated.
* readline/configure.in: Handle MinGW when cross compiling. Check for
getpwnam, getpwent, getpwuid, and pwd.h. Set RLTTYOBJ.
* readline/display.c (rl_clear_screen): Treat Windows like DOS.
(insert_some_chars): Likewise.
(delete_chars): Likewise.
* readline/rldefs.h (NEW_TTY_DRIVER): Do not define for Windows.
* readline/rlnotty.c: New file.
* readline/shell.c (pwd.h): Guard with HAVE_PWD_H.
(getpwuid): Guard with HAVE_GETPWUID.
(sh_unset_nodelay_mode): Guard use of fnctl with HAVE_FNCTL_H.
* readline/signals.c (rl_signal_handler): Don't use SIGALRM or
SIGQUIT if not defined. Use "raise" rather than "kill".
(rl_set_signals): Don't set handlers for SIGQUIT or SIGALRM if
they are not defined.
(rl_clear_signals): Likewise.
* readline/tilde.c (pwd.h): Guard with HAVE_PWD_H.
(getpwuid): Guard declaration with HAVE_GETPWUID.
(getpwnam): Guard declaration with HAVE_GETPWNAM.
(tilde_expand_word): Guard use of getpwnam with HAVE_GETPWNAM.
2005-03-28 Mark Mitchell <mark@codesourcery.com>
* 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 <mark@codesourcery.com>
* 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 <mark@codesourcery.com>
Backport from mainline:
2005-03-25 Mark Mitchell <mark@codesourcery.com>
* 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 <mark@codesourcery.com>
Backport from mainline.
2005-03-22 Mark Mitchell <mark@codesourcery.com>
* 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 <dan@codesourcery.com>
* 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 <paul@codesourcery.com>
Daniel Jacobowitz <dan@codesourcery.com>
* 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 <dan@codesourcery.com>
* gdb/arm-linux-nat.c (store_register, store_regs): Handle
ARM_PS_REGNUM.
2005-03-25 Daniel Jacobowitz <dan@codesourcery.com>
* 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 <dan@codesourcery.com>
* 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 <dan@codesourcery.com>
* 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 <dan@codesourcery.com>
* gdb/elfread.c (elf_symtab_read): Skip symbols which BFD considers
special.
2005-03-25 Daniel Jacobowitz <dan@codesourcery.com>
* gdb/testsuite/lib/mi-support.exp (mi_gdb_load): Use /tmp for
gdbserver downloads.
* gdb/testsuite/config/gdbserver.exp (gdb_load): Likewise.