Commit Graph

27818 Commits

Author SHA1 Message Date
Tom Tromey 66694b75a4 * Makefile.in (HFILES_NO_SRCDIR): Don't mention ada-operator.inc. 2011-02-18 20:31:18 +00:00
Jan Kratochvil eeaafae2bd gdb/
* cp-support.c (make_symbol_overload_list_namespace): Do not call
	make_symbol_overload_list_block with NULL BLOCK.
	* valarith.c (unop_user_defined_p): Resolve also TYPE_CODE_TYPEDEF.

gdb/testsuite/
	* gdb.cp/typedef-operator.exp: New file.
	* gdb.cp/typedef-operator.cc: New file.
2011-02-18 19:10:48 +00:00
Pedro Alves 3c3fe74c6f * breakpoint.c (get_number_trailer): No longer accept a NULL PP.
* breakpoint.h (get_number_or_range): Declare.
	* printcmd.c (ALL_DISPLAYS): Declare.
	(delete_display): Reimplement taking a display pointer.
	(undisplay_command): Accept a range of displays to delete, using
	get_number_or_range.
2011-02-18 16:43:53 +00:00
Pierre Muller 13163d8050 * c-valprint.c (c_val_print): Add embedded_offset to address
for arrays of unspecified length.
	* p-valprint.c (pascal_val_print): Likewise.
2011-02-18 14:17:38 +00:00
Yao Qi b434a28f71 2011-02-18 Yao Qi <yao@codesourcery.com>
* gdb/arm-tdep.c (arm_displaced_step_copy_insn): Move code to ...
	(arm_process_displaced_insn): .. here. Remove parameter INSN.
	(thumb_process_displaced_insn): New.
	* gdb/arm-linux-tdep.c (arm_linux_displaced_step_copy_insn): Update
	call to arm_process_displaced_insn.
	* gdb/arm-tdep.h : Update declaration of arm_process_displaced_insn.
2011-02-18 05:01:54 +00:00
gdbadmin 0bbd5bccf3 *** empty log message *** 2011-02-18 00:00:33 +00:00
Michael Snyder e338d953a9 2011-02-17 Michael Snyder <msnyder@vmware.com>
* gdb.threads/thread-find.exp: Fix regular expressions.
2011-02-17 22:08:12 +00:00
Pedro Alves f65d55530c Prefix filenames with gdb.trace/ 2011-02-17 19:06:07 +00:00
Tom Tromey 9f6f94ff25 * dwarf2loc.h (dwarf2_compile_expr_to_ax): Declare.
* dwarf2loc.c (dwarf2_compile_expr_to_ax): Rename from
	compile_dwarf_to_ax.  No longer static.  Call
	dwarf2_compile_cfa_to_ax.
	(locexpr_tracepoint_var_ref): Update.
	(loclist_tracepoint_var_ref): Update.
	* dwarf2-frame.h (dwarf2_compile_cfa_to_ax): Declare.
	* dwarf2-frame.c (execute_cfa_program): Remove 'this_frame'
	argument; add 'gdbarch' and 'pc'.
	(dwarf2_compile_cfa_to_ax): New function.
	(dwarf2_frame_cache): Update.
2011-02-17 16:20:44 +00:00
Joel Brobecker e67ad678a1 [Ada] Fix unconstrained packed array size
When ada-lang transforms an array descriptor type (an XUP structure)
into an array type, the size of the array type is computed by using
the element size, and multiplying it by the number of elements in
that array. This does not work, however, for packed arrays, where
the *packed* size in bits needs to be used.

This usually does not cause any problem, because we end up reading
more memory than needed.  However, we have observed on LynxOS
a memory error while trying to read the entire array, because
the larger-than-needed read tried to read past the end of the stack
into inaccessible memory.

This patch fixes the problem by correctly computing the array size
in bytes in the case of packed arrays.

gdb/ChangeLog:

        * ada-lang.c (ada_type_of_array): Fix the size of the array
        in the case of an unconstrained packed array.

gdb/testsuite/ChangeLog:

        * gdb.ada/packed_array: Expand testcase to test printing of
        unconstrained packed array.
2011-02-17 06:42:57 +00:00
Joel Brobecker 93084bcabb dw2-ranges.exp: simplify using clean_restart
gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-ranges.exp: Simplify using clean_restart.
2011-02-17 05:21:29 +00:00
Yao Qi 946ebb0d70 2011-02-17 Yao Qi <yao@codesourcery.com>
* common/Makefile.in: Add more targets for make.
2011-02-17 02:15:22 +00:00
gdbadmin acad30882c *** empty log message *** 2011-02-17 00:00:03 +00:00
Tom Tromey 1ba1b3533c * dwarf2loc.c (unimplemented): Fix typo. 2011-02-16 21:45:38 +00:00
Tom Tromey b1bfef6533 * dwarf2loc.c (unimplemented): Handle unnamed opcodes.
(compile_dwarf_to_ax) <default>: Use unimplemented.
	<DW_OP_deref>: Update.
	(disassemble_dwarf_expression): Update.
	* dwarf2read.c (dwarf_stack_op_name): Remove 'def' argument.
	(decode_locdesc): Update.
	* dwarf2expr.h (dwarf_stack_op_name): Update.
2011-02-16 21:32:05 +00:00
Tom Tromey 5f1e6f1949 * ax.h (struct aop_map) <name>: Now const. 2011-02-16 21:02:29 +00:00
Pedro Alves a0c78a733a 2011-02-16 Tom Tromey <tromey@redhat.com>
gdb/
	* ax-gdb.c.c (gen_expr) <UNOP_MEMVAL>: Handle value kinds other
	than axs_rvalue.

2011-02-16  Pedro Alves  <pedro@codesourcery.com>

	gdb/testsuite/
	* collection.c (globalarr3): New global.
	(main): Initialize it before collecting, and and clear it
	afterwards.
	* collection.exp (gdb_collect_globals_test): Test collecting with
	'{type} addr', where the addr expression is not an rvalue.
2011-02-16 18:07:58 +00:00
Yao Qi a42244dbec 2011-02-16 Yao Qi <yao@qiyaows>
* infrun.c (get_displaced_step_closure_by_addr): New.
	* inferior.h: Declare it.
	* arm-tdep.c: (arm_pc_is_thumb): Call
	get_displaced_step_closure_by_addr.  Adjust MEMADDR if it
	returns non-NULL.
2011-02-16 14:54:42 +00:00
Ken Werner 3dfcbbd281 gdb/testsuite/ChangeLog
2011-02-16  Ken Werner  <ken.werner@de.ibm.com>

        * gdb.opencl/datatypes.exp: Allow "false" when printing the content of
        a bool variable. Expect correct OpenCL names for vector types. Use the
        uc3 variable name instead of referring to the uchar3 built-in type.
        Escape the asterisk at the half pointer test.
2011-02-16 14:38:53 +00:00
Pedro Alves 08807d5afd 2011-02-16 Pedro Alves <pedro@codesourcery.com>
Jan Kratochvil  <jan.kratochvil@redhat.com>

	gdb/
	* tracepoint.c (memrange_sortmerge): Fix list A's end calculation.

2011-02-16  Pedro Alves  <pedro@codesourcery.com>

	gdb/testsuite/
	* collection.c (globalarr2): New global.
	(main): Initialize it before collecting, and and clear it
	afterwards.
	* collection.exp (gdb_collect_globals_test): Test collecting
	overlapping memory ranges.
2011-02-16 12:59:05 +00:00
Pedro Alves fb68ae733b Fix pasto... 2011-02-16 11:57:41 +00:00
Pedro Alves 29976f3f7e gdb/
* value.c (value_contents_copy_raw): Extend describing comment.
	Assert that the destination contents we're overwriting are wholly
	available.
	* value.h (value_contents_copy): Extend describing comment.
2011-02-16 11:55:59 +00:00
Pedro Alves cd24cfaa4f * value.c (value_available_contents_eq): Remove redundant local
variables.  Fix available contents comparision.
	* value.h (value_available_contents_eq): Extend describing
	comment.
2011-02-16 10:13:53 +00:00
Yao Qi 60bbf3380a 2011-02-16 Yao Qi <yao@codesourcery.com>
* thread.c (info_threads_command): Add missing i18n markup and remove
        trailing newline.
2011-02-16 09:46:09 +00:00
gdbadmin 7d58ce8f4b *** empty log message *** 2011-02-16 00:00:02 +00:00
Paul Pluzhnikov 17450429ce 2011-02-15 Paul Pluzhnikov <ppluzhnikov@google.com>
* breakpoint.c (longjmp_names): New variable.
	(struct breakpoint_objfile_data): New type.
	(breakpoint_objfile_key): New variable.
	(msym_not_found): New variable.
	(msym_not_found_p): New predicate.
	(get_breakpoint_objfile_data): New function.
	(create_overlay_event_breakpoint): Check per-objfile cache for
	symbols first.
	(create_longjmp_master_breakpoint): Likewise.
	(create_std_terminate_master_breakpoint): Likewise.
	(create_exception_master_breakpoint): Likewise.
	(_initialize_breakpoint): Register per-objfile data key.
2011-02-15 21:43:25 +00:00
Michael Snyder cdf99611e7 Fix mis-merge of changelog. 2011-02-15 21:25:05 +00:00
Paul Pluzhnikov af02033e0a 2011-02-15 Paul Pluzhnikov <ppluzhnikov@google.com>
* breakpoint.c ((create_overlay_event_breakpoint): Const-propagate
	parameter value.
	(create_longjmp_master_breakpoint): Loop over longjmp names.
	(create_std_terminate_master_breakpoint): Const-propagate parameter
	value.
	(update_breakpoints_after_exec): Adjust.
	(breakpoint_re_set): Adjust.
2011-02-15 21:23:34 +00:00
Michael Snyder 60f98dde0a 2011-02-15 Michael Snyder <msnyder@vmware.com>
* command.h (enum command_class): New class 'no_set_class', for
	"show" commands without a corresponding "set" command.
	* value.c (_initialize_values): Use 'no_set_class' for "show values".
	* copying.c (_initialize_copying): Ditto for "show copying" and
	"show warranty".
	* cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
	"show version".
	* cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
	which there is no corresponding "set" command (eg. "show copying").

2011-02-14  Michael Snyder  <msnyder@vmware.com>

	* gdb.texinfo (threads): Document argument for "info threads" cmd.
	Document new command "thread find".

2011-02-15  Michael Snyder  <msnyder@vmware.com>

	* gdb.base/default.exp: Add tests for thread commands.
	* gdb.base/help.exp: Add tests for thread commands.
	* gdb.threads/thread-find.exp: New test for thread find command.
2011-02-15 21:17:53 +00:00
Jan Kratochvil b708a5c7d3 Merge gdb/common/ChangeLog back to gdb/ChangeLog. 2011-02-15 21:14:02 +00:00
Jan Kratochvil 0feedb2cc8 gdb/
* Makefile.in (ACLOCAL_AMFLAGS): Add `-I ../config'.
	* aclocal.m4: Regenerated with aclocal-1.11.1.
	* common/configure: Regenerate with autoconf-2.64.

gdb/gdbserver/
	* aclocal.m4: Regenerated with aclocal-1.11.1.
2011-02-15 21:05:54 +00:00
Ken Werner 648cd113ef gdb/ChangeLog
2011-02-15  Ken Werner  <ken.werner@de.ibm.com>

	* opencl-lang.c (build_opencl_types): Set the size of the built-in
	bool data type to a size of one byte.

gdb/testsuite/ChangeLog

2011-02-15  Ken Werner  <ken.werner@de.ibm.com>

	* gdb.opencl/datatypes.exp: Expect the size of a bool to be one byte.
2011-02-15 20:10:13 +00:00
Pedro Alves 5657161fbd gdb/
* target.c (memory_xfer_live_readonly_partial): Document where to
	look for interface description.
2011-02-15 17:22:21 +00:00
Yao Qi 494e194e77 2011-02-15 Yao Qi <yao@codesourcery.com>
PR tdep/12352
	* arm-tdep.c (copy_ldr_str_ldrb_strb): Replace PC with SP in
	order to store PC value on stack instead of text section.

2011-02-15  Yao Qi  <yao@codesourcery.com>

	PR tdep/12352
	* gdb.arch/arm-disp-step.S : New test for str instruction.
	* gdb.arch/arm-disp-step.exp : Likewise
2011-02-15 14:26:34 +00:00
Thiago Jung Bauermann d9492458a1 gdb/
* rs6000-tdep.c (IS_EFP_PSEUDOREG): Use correct constant for
	the EFP register set size.
	(efpr_pseudo_register_read): Use regcache_raw_read_part to read
	data from the VMX register.
	(efpr_pseudo_register_write): Use regcache_raw_write_part to read
	and write data from/to the VMX register.

gdb/testsuite/
	* gdb.arch/vsx-regs.exp: Add "vector_register1_vr" and
	"vector_register2_vr" test strings.  Test the extended floating
	point registers (F32~F63).
	* lib/gdb.exp (skip_vsx_tests): Update compile flags for the
	IBM XL C compiler.  Make the test program use a register provided
	by the compiler for the lxvd2x instruction.
2011-02-15 13:35:23 +00:00
gdbadmin ad9bb468ae *** empty log message *** 2011-02-15 00:00:03 +00:00
Michael Snyder db5f229b95 2011-02-14 Michael Snyder <msnyder@vmware.com>
* command.h (enum command_class): New class 'no_set_class', for
	"show" commands without a corresponding "set" command.
	* value.c (_initialize_values): Use 'no_set_class' for "show values".
	* copying.c (_initialize_copying): Ditto for "show copying" and
	"show warranty".
	* cli/cli-cmds.c (init_cli_cmds): Ditto for "show commands" and
	"show version".
	* cli/cli-setshow.c (cmd_show_list): Skip "show" commands for
	which there is no corresponding "set" command (eg. "show copying").
2011-02-14 23:41:33 +00:00
Michael Snyder 08e796bc55 2011-02-14 Michael Snyder <msnyder@vmware.com>
* gdb.texinfo (Threads): Update example of new thread message.
2011-02-14 23:14:35 +00:00
Pedro Alves 424447eef3 * exec.c (section_table_available_memory): Change `len' parameter
type to ULONGEST.
	* exec.h (section_table_available_memory): Ditto.
	* value.h (read_value_memory): Rename the `offset' parameter to
	`embedded_offset'.
2011-02-14 22:08:48 +00:00
Pedro Alves e0ccc0c7e0 Add proper attribution. 2011-02-14 19:20:45 +00:00
Pedro Alves c0f61f9c37 gdb/
* memrange.c (compare_mem_ranges): Mention sort order in
	describing comment.
	(normalize_mem_ranges): Add comment.  Fix ra->length calculation.
	* tracepoint.c (traceframe_available_memory): Extend comment to
	mention what happens to RESULT when the target does not support
	the query.
2011-02-14 19:19:18 +00:00
Pedro Alves 6bfc80c738 * value.c (mark_value_bytes_unavailable): Fix indexing the `bef'
range.
2011-02-14 12:54:42 +00:00
Pedro Alves e730304246 * value.c (value_bits_valid, value_bits_synthetic_pointer):
No longer handle NULL values.
2011-02-14 11:52:48 +00:00
Pedro Alves 8af8e3bc81 gdb/
* exceptions.h (NOT_AVAILABLE_ERROR): New error.
	* value.c: Include "exceptions.h".
	(require_available): Throw NOT_AVAILABLE_ERROR instead of a
	generic error.
	* cp-abi.c: Include gdb_assert.h.
	(baseclass_offset): Add `embedded_offset' and `val' parameters.
	Assert the method is implemented.  Wrap NOT_AVAILABLE_ERROR
	errors.
	* cp-abi.h (baseclass_offset): Add `embedded_offset' and `val'
	parameters.  No longer returns -1 on error.
	(struct cp_abi_ops) <baseclass_offset>: Add `embedded_offset' and
	`val' parameters.
	* cp-valprint.c: Include exceptions.h.
	(cp_print_value): Handle NOT_AVAILABLE_ERROR errors when fetching
	the baseclass_offset.  Handle unavailable base classes.  Use
	val_print_invalid_address.
	* p-valprint.c: Include exceptions.h.
	(pascal_object_print_value): Handle NOT_AVAILABLE_ERROR errors
	when fetching the baseclass_offset.  No longer expect
	baseclass_offset returning -1.  Handle unavailable base classes.
	Use val_print_invalid_address.
	* valops.c (dynamic_cast_check_1): Rename `contents' parameter to
	`valaddr' parameter, and change its type to gdb_byte pointer.  Add
	`embedded_offset' and `val' parameters.  Adjust.
	(dynamic_cast_check_2): Rename `contents' parameter to `valaddr'
	parameter, and change its type to gdb_byte pointer.  Add
	`embedded_offset' and `val' parameters.  Adjust.  No longer expect
	baseclass_offset returning -1.
	(value_dynamic_cast): Use value_contents_for_printing rather than
	value_contents.  Adjust.
	(search_struct_field): No longer expect baseclass_offset returning
	-1.
	(search_struct_method): If reading memory from the target is
	necessary, wrap it in a new value to pass to baseclass_offset.  No
	longer expect baseclass_offset returning -1.
	(find_method_list): No longer expect baseclass_offset returning
	-1.  Use value_contents_for_printing rather than value_contents.
	* valprint.c (val_print_invalid_address): New function.
	* valprint.h (val_print_invalid_address): Declare.
	* gdbtypes.c (is_unique_ancestor_worker): New `embedded_offset'
	and `val' parameters.  No longer expect baseclass_offset returning
	-1.  Adjust.
	* gnu-v2-abi.c: Include "exceptions.h".
	(gnuv2_baseclass_offset): Add `embedded_offset' and `val'
	parameters.  Handle unavailable memory.  Recurse through
	gnuv2_baseclass_offset directly, rather than through
	baseclass_offset.  No longer returns -1 on not found, instead
	throw an error.
	* gnu-v3-abi.c (gnuv3_baseclass_offset): Add `embedded_offset' and
	`val' parameters.  Adjust.

	gdb/testsuite/
	* gdb.trace/unavailable.cc (class Base, class Middle, class
	Derived): New types.
	(derived_unavail, derived_partial, derived_whole): New globals.
	(virtual_partial): New global.
	(virtualp): Point at virtual_partial.
	* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add tests
	related to unavailable vptr.
2011-02-14 11:35:45 +00:00
Pedro Alves 1b28d0b3be gdb/testuite/
* gdb.trace/unavailable.cc (a, b, c): New globals.
	(main): Set and clear them.
	* gdb.trace/unavailable.exp (gdb_collect_globals_test): Collect
	`a' and `c', and check that `b' isn't collected, although `a' and
	`c' are.

	gdb/
	* tracepoint.c (memrange_sortmerge): Don't merge ranges that are
	almost but not quite adjacent.
2011-02-14 11:34:31 +00:00
Pedro Alves ec0a52e162 gdb/testsuite/
* gdb.trace/unavailable.cc (struct Virtual): New.
	(virtualp): New global pointer.
	* gdb.trace/unavailable.exp (gdb_collect_globals_test): Test
	printing a pointer to an object whose type has a vtable, with
	print object on.

	gdb/
	* value.h (value_entirely_available): Declare.
	* value.c (value_entirely_available): New function.
	* c-valprint.c (c_value_print): Don't try fetching the pointer's
	real type if the pointer is unavailable.
2011-02-14 11:33:24 +00:00
Pedro Alves 24e6bceefb gdb/
* valops.c (value_repeat): Use read_value_memory instead of
	read_memory.

	gdb/testsuite/
	* gdb.trace/unavailable.exp (gdb_collect_globals_test): Test that
	value repeat handles unavailableness.
2011-02-14 11:32:17 +00:00
Pedro Alves 39d3738556 gdb/
* value.h (value_contents_copy, value_contents_copy_raw): Declare.
	* value.c (value_contents_copy_raw, value_contents_copy): New
	functions.
	(value_primitive_field): Use value_contents_copy_raw instead of
	memcpy.
	* valops.c (value_fetch_lazy): Use value_contents_copy instead of
	memcpy.
	(value_array, value_slice): Ditto.
	* valarith.c (value_subscripted_rvalue): Use
	value_contents_copy_raw instead of memcpy.

	gdb/testsuite/
	* gdb.trace/unavailable.exp (gdb_collect_globals_test): Add new
	tests for building arrays from unavailable values, subscripting
	non-memory rvalue unvailable arrays, and accessing fields or
	baseclasses of non-lazy unavailable values,
	* gdb.trace/unavailable.cc (small_struct, small_struct_b): New
	struct types.
	(g_smallstruct, g_smallstruct_b): New globals.
2011-02-14 11:30:37 +00:00
Pedro Alves 06d72e16c4 gdb/testsuite/
* gdb.trace/unavailable.cc, gdb.trace/unavailable.exp: New files.
2011-02-14 11:29:04 +00:00
Pedro Alves a3d34bf49a <unavailable> references.
gdb/
	* valops.c (get_value_at): Use value_from_contents_and_address,
	avoiding read_memory.
2011-02-14 11:27:36 +00:00