Commit graph

12373 commits

Author SHA1 Message Date
Daniel Jacobowitz
fb93362492 gdb/
* 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.
2006-07-13 04:31:42 +00:00
Daniel Jacobowitz
d49c44d5f1 * remote.c (unpack_varlen_hex): Correct type of retval.
Reported by Zhigang Gong <zhigang.gong@gmail.com>.
2006-07-13 04:05:54 +00:00
Daniel Jacobowitz
99bcc461a5 * dwarf2read.c (dwarf2_symbol_mark_computed): Handle corrupted
or missing location list information.  Suggested by Jan
	Kratochvil <lace@jankratochvil.net>.
2006-07-12 21:14:57 +00:00
Daniel Jacobowitz
cb587d836a * Makefile.in (arm_linux_tdep_h): New variable.
(arm-linux-nat.o, arm-linux-tdep.o): Update.
	* arm-linux-nat.c: Include "arm-linux-tdep.h".
	(typeNone, typeSingle, typeDouble, typeExtended)
	(FPWORDS, ARM_CPSR_REGNUM, FPREG, FPA11)
	(fetch_nwfpe_single, fetch_nwfpe_double, fetch_nwfpe_none)
	(fetch_nwfpe_extended, fetch_nwfpe_register, store_nwfpe_single)
	(store_nwfpe_double, store_nwfpe_extended, store_nwfpe_register):
	Delete.
	(fetch_fpregister, fetch_fpregs, store_fpregister, store_fpregs):
	Use gdb_byte buffers, NWFPE_FPSR_OFFSET, supply_nwfpe_register,
	and collect_nwfpe_register.
	(fill_gregset, supply_gregset, fill_fpregset, supply_fpregset): Use
	new regset functions.
	* arm-linux-tdep.c: Include "regset.h" and "arm-linux-tdep.h".
	(arm_apcs_32): New declaration.
	(ARM_LINUX_SIZEOF_GREGSET, arm_linux_supply_gregset)
	(arm_linux_collect_gregset, typeNone, typeSingle, typeDouble)
	(typeExtended, supply_nwfpe_register, collect_nwfpe_register)
	(arm_linux_supply_nwfpe, arm_linux_collect_nwfpe)
	(arm_linux_regset_from_core_section): New.
	(arm_linux_init_abi): Register arm_linux_regset_from_core_section.
	* arm-linux-tdep.h: New file.
	* arm-tdep.h (struct regset): Declare.
	(struct gdbarch_tdep): Add gregset, fpregset members.
	* config/arm/linux.mh (NATDEPFILES): Remove corelow.o and
	core-regset.o.
	* config/arm/linux.mt (TDEPFILES): Add corelow.o.
2006-07-12 20:46:33 +00:00
Daniel Jacobowitz
8802d8ed3a * infrun.c (handle_inferior_event): Fixed typos in printf. 2006-07-12 20:43:52 +00:00
Daniel Jacobowitz
6765f3e5d0 * remote.c (REMOTE_ALIGN_WRITES): New.
(remote_write_bytes): Align large write packets.  Remove unused
	payload_start variable.
2006-07-12 18:54:03 +00:00
Daniel Jacobowitz
0876f84a6a gdb/
* 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.
2006-07-12 18:50:18 +00:00
Daniel Jacobowitz
13547ab600 * target.c (target_read): Stop if target_read_partial returns 0
when some bytes have already been read.
	(target_write): Likewise for target_write_partial.
	(target_read_partial, target_write_partial): Make static.
	(target_read_alloc): New.
	* target.h: Doc fixes.
	(target_read_partial, target_write_partial): Delete prototypes.
	(target_read_alloc): New prototype.

	* auxv.c (target_auxv_read): Delete.
	(target_auxv_search, fprint_target_auxv): Use target_read_alloc.
	* auxv.h (target_auxv_read): Delete prototype.
	* avr-tdep.c (avr_io_reg_read_command): Use target_read_alloc.
	* ia64-tdep.c (getunwind_table, get_kernel_table): Likewise.
	* linux-nat.c (linux_nat_make_corefile_notes): Likewise.
	* procfs.c (procfs_make_note_section): Likewise.
	* remote.c (remote_xfer_partial): Don't loop here.
	* sparc-tdep.c (sparc_fetch_wcookie): Use target_read.
2006-07-12 18:13:45 +00:00
Daniel Jacobowitz
edfb1a2648 * arm-linux-tdep.c: Doc fixes.
(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.
2006-07-12 18:05:50 +00:00
Daniel Jacobowitz
6e2c7fa123 * Makefile.in (init.c) [LANG, LC_ALL]: Set to `c'.
* gdb_indent.sh, gdb_mbuild.sh, observer.sh: Likewise.
	* gdbarch.sh: Correct comment.
2006-07-12 18:04:30 +00:00
Daniel Jacobowitz
e0f2823e31 * MAINTAINERS: Add Alfred Szmidt for the Hurd. 2006-07-12 17:37:24 +00:00
Mark Kettenis
24c4176016 * alpha-tdep.h (ALPHA_INSN_SIZE): New define. 2006-07-11 20:44:53 +00:00
Mark Kettenis
8a112c90fe * alphaobsd-tdep.c: New file.
* 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.
2006-07-10 19:40:27 +00:00
Richard Henderson
9823e921f2 * alpha-tdep.h (struct gdbarch_tdep): Add return_in_memory.
* alpha-tdep.c (alpha_register_byte): Remove.
	(alpha_extract_struct_value_address): Remove.
	(alpha_return_value): New.
	(alpha_return_in_memory_always): New.
	(alpha_gdbarch_init): Set tdep->return_in_memory.  Don't call
	set_gdbarch_deprecated_register_byte.  Do call set_gdbarch_return_value
	instead of set_gdbarch_deprecated_use_struct_convention,
	set_gdbarch_extract_return_value, set_gdbarch_store_return_value,
	or set_gdbarch_deprecated_extract_struct_value_address.
	* alphafbsd-tdep.c (alphafbsd_return_in_memory): Rename from
	alphafbsd_use_struct_convention, remove gcc_p argument.
	(alphafbsd_init_abi): Set tdep->return_in_memory instead of
	set_gdbarch_deprecated_use_struct_convention.
2006-07-10 15:28:02 +00:00
Mark Kettenis
b0ca857365 * alphabsd-tdep.h (alphanbsd_regset_from_core_section): New
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.
2006-07-09 22:01:59 +00:00
Mark Kettenis
3b03cc4361 Fix typo. 2006-07-09 16:12:30 +00:00
Mark Kettenis
3beabdb233 * alphabsd-tdep.h: Tweak comments.
(SIZOEF_STRUCT_REG, SIZEOF_STRUCT_FPREG): Remove.
* alphanbsd-tdep.c: Reorder includes.  Include "regset.h".
(ALPHANBSD_SIZEOF_GREGS, ALPHANBSD_SIZEOF_FPREGS): New defines.
(alphanbsd_supply_fpregset, alphanbsd_supply_gregset)
(alphanbsd_aout_supply_gregset): New functions.
(alphanbsd_gregset, alphanbsd_fpregset, alphanbsd_aout_gregset):
New variables.
(alphanbsd_regset_from_core_section)
(alphanbsd_aout_regset_from_core_section): New functions.
(fetch_core_registers, fetch_elfcore_registers): Remove functions.
(alphanbsd_core_fns, alphanbsd_elf_fns): Remove variables.
(alphanbsd_init_abi): Set regset_from_core_section.
(alphanbsd_aout_init_abi, alphanbsd_core_osabi_sniffer): New
functions.
(_initialize_alphanbsd_tdep): Register NetBSD core file sniffer.
Use alphanbsd_aout_init_abi whre appropriate.  Don't call
deprecated_add_core_fns.
* Makefile.in (alphanbsd-tdep.o): Update dependencies.
2006-07-09 16:12:11 +00:00
Mark Kettenis
8fe7c54bf1 * alphabsd-tdep.c (alphabsd_supply_reg, alphabsd_fill_reg)
(alphabsd_supply_fpreg, alphabsd_fill_fpreg): Add missing spaces.
2006-07-09 09:24:39 +00:00
Mark Kettenis
789f3b5fdc * alphanbsd-tdep.c (alphanbsd_init_abi): Use
svr4_lp64_fetch_link_map_offsets instead of
nbsd_lp64_solib_svr4_fetch_link_map_offsets.
2006-07-09 09:21:19 +00:00
Mark Kettenis
071d802b19 Wrap long line. 2006-07-08 21:43:00 +00:00
Andrew Stubbs
09153d5527 2006-07-06 Andrew Stubbs <andrew.stubbs@st.com>
* parse.c (write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block
	write_exp_elt_longcst, write_exp_elt_dblcst, write_exp_elt_type,
	write_exp_elt_intern): Zero initialize tmp.
2006-07-06 14:00:48 +00:00
Daniel Jacobowitz
2ec3381a43 gdb/
* remote.c (remote_xfer_partial): Remove KOD support.
	* target.h (enum target_object): Remove TARGET_OBJECT_KOD.
	* MAINTAINERS: Move Kernel Object Display entry to past maintainers.
	* Makefile.in (SFILES, kod_h, COMMON_OBS, kod.o, kod-cisco.o): Remove KOD
	support.
	* mi/mi-cmds.c (mi_cmds): Remove dummy KOD commands.
	* NEWS: Mention KOD.
	* kod.h, kod.c, kod-cisco.c: Delete files.
gdb/doc/
	* doc/gdb.texinfo (KOD): Remove node.
	(GDB/MI Kod Commands): Remove commented out node.
2006-07-05 19:03:47 +00:00
Daniel Jacobowitz
7fca722e51 * remote.c (init_remote_state): Use xrealloc instead of xmalloc. 2006-07-04 13:31:31 +00:00
Nathan J. Williams
4a35b02aee 2006-07-03 Nathan J. Williams <nathanw@wasabisystems.com>
* bsd-kvm.c (bsd_kvm_open): Open the KVM interface read-write if
        write_files is set.
2006-07-03 17:26:16 +00:00
Eli Zaretskii
a6f0780aa7 defs.h (DIRNAME_SEPARATOR) [!__CYGWIN__ && _WIN32]: Define to `;'. 2006-06-24 13:48:53 +00:00
Daniel Jacobowitz
e4c161579c * arm-tdep.c (arm_register_type): Use unsigned types for registers.
Add special types for sp and pc.
	* Makefile.in (arm-tdep.o): Update.
2006-06-23 13:01:05 +00:00
Daniel Jacobowitz
a31ea83d26 * remote.c (remote_escape_output): New function.
(remote_write_bytes): Use remote_escape_output.
2006-06-22 14:06:37 +00:00
Daniel Jacobowitz
be2a5f717b gdb/
* NEWS: Mention qSupported.
	* remote.c (struct remote_state): Add explicit_packet_size.
	(get_remote_packet_size): Check explicit_packet_size.
	(get_memory_packet_size): Likewise.
	(PACKET_qSupported): New enum value.
	(struct protocol_feature, remote_supported_packet)
	(remote_packet_size, remote_protocol_features)
	(remote_query_supported): New.
	(remote_open_1): Reset explicit_packet_size.  Call
	remote_query_supported.
	(_initialize_remote): Register qSupported.
gdb/doc/
	* gdb.texinfo (Remote configuration): Document set / show
	remote supported-packets.
	(General Query Packets): Document qSupported packet.
gdb/gdbserver/
	* server.c (handle_query): Handle qSupported.
2006-06-21 13:57:21 +00:00
Andrew Stubbs
42b575e545 2006-06-21 Andrew Stubbs <andrew.stubbs@st.com>
* cli/cli-script.c (realloc_body_list): Zero new parts of body_list.
2006-06-21 10:49:16 +00:00
Joel Brobecker
9ae0398634 * GDB 6.5 released from GDB 6.5 branch. 2006-06-21 07:23:04 +00:00
Michael Snyder
8b07f6d84b 2006-06-19 Michael Snyder <msnyder@redhat.com>
* 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.
2006-06-19 18:50:09 +00:00
Kazuhiro Inaoka
ec5a4d7599 2006-06-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* configure.tgt: Add gdbserver support for m32r-linux.
2006-06-19 01:23:26 +00:00
Mark Kettenis
8d3239d55a * m68klinux-tdep.c (m68k_linux_init_abi): Fix typo in comment. 2006-06-18 05:53:51 +00:00
Daniel Jacobowitz
14e60db5bc * infrun.c (insert_step_resume_breakpoint_at_caller): New function,
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-16 01:12:58 +00:00
Julian Brown
81a17f794b * dwarf2read.c (read_unspecified_type): New function.
(read_type_die): Handle DW_TAG_unspecified_type.
	(Committed by Julian Brown.)
2006-06-14 15:06:35 +00:00
Daniel Jacobowitz
6490cafe41 * symfile.c (load_command): Check for a changed executable before
"load".
2006-06-13 20:54:42 +00:00
Fred Fish
22e47e37c4 Approved by Daniel Jacobowitz.
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.
2006-06-13 18:17:20 +00:00
Nathan Sidwell
5600ea19e0 gdb/
* remote-file.io.c (remote_fileio_func_system): Treat zero length
	string as NULL.  Adjust for NULL pointer argument.
	* doc/gdb.texinfo (system): Document behaviour with zero length
	string.

	gdb/testsuite/
	* gdb.base/fileio.c: Add system(NULL) test.
	* gdb.base/fileio.exp: Check it.
2006-06-13 08:55:22 +00:00
Daniel Jacobowitz
bb572ddd39 * remote.c (set_remote_protocol_packet_cmd)
(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.
2006-06-12 19:16:19 +00:00
Daniel Jacobowitz
98739726e2 * mingw-hdep.c (gdb_select): Always check for NULL fd sets
before calling FD_ISSET.  Correct check for exceptfds which
	previously tested writefds.
2006-06-10 18:24:32 +00:00
Daniel Jacobowitz
4a9d57ab54 Typo fix. 2006-06-09 02:33:28 +00:00
Julian Brown
2b949cb6bb * gdb/dwarf2read.c (partial_read_comp_unit_head): Accept version 3. 2006-06-09 00:44:28 +00:00
Julian Brown
5b031165ba * MAINTAINERS (Write After Approval): Add myself. 2006-06-09 00:40:50 +00:00
Michael Snyder
b2d6f210e9 2006-06-08 Michael Snyder <msnyder@redhat.com>
* mips-tdep.c (fp_register_arg_p): Recognize floating point typedefs.
2006-06-08 19:22:46 +00:00
Daniel Jacobowitz
719abd5321 Typo fix. 2006-06-08 19:13:35 +00:00
Nathan Sidwell
6dd0fba671 * m68k-tdep.c (m68k_dwarf_reg_to_regnum): New.
(m68k_gdbarch_init): Set it for dwarf & dwarf2 reg number
	conversion. Use M68K_NUM_REGS for number of regs.
2006-06-08 19:11:45 +00:00
Nathan Sidwell
ad9a8f3f00 * remote-fileio.c (remote_fileio_reset): New.
* remote-fileio.h (remote_fileio_reset): Prototype.
	* remote.c (extended_remote_restart, remote_open_1): Call it.
2006-06-08 19:08:22 +00:00
Nathan Sidwell
1dd41f16d1 * gdb/remote.c (remote_open_1): Do preopen tasks before
irreversably destroying state.
2006-06-08 19:04:08 +00:00
Daniel Jacobowitz
ea9c271d4e * (struct remote_state): New type, only containing
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.
2006-06-08 18:32:12 +00:00
Nathan Sidwell
5cffb35013 * gdb/remote.c (remote_insert_watchpoint): Return -1, rather than
fatal error if packet is disabled.
	(remote_remove_watchpoint, remote_insert_hw_breakpoint,
	remote_remove_hw_breakpoint): Likewise.
2006-06-06 10:03:06 +00:00