Commit graph

31547 commits

Author SHA1 Message Date
gdbadmin
995ef4dd00 *** empty log message *** 2012-12-10 00:00:03 +00:00
Jan Kratochvil
74a0d9f6a5 gdb/
* configure.ac (CC_HAS_LONG_LONG): Replace by AC_MSG_ERROR.
	* defs.h (LONGEST, ULONGEST): Remove conditionalization for
	CC_HAS_LONG_LONG.
	* dwarf2-frame.c (DW64_CIE_ID): Likewise.
	* dwarf2read.c (extract_cu_value): Remove the function.
	(create_cus_from_index_list): Make the return type void, inline the
	extract_cu_value caller, include new gdb_static_assert.
	(create_cus_from_index): Make the return type void, update the function
	comment, update the create_cus_from_index_list caller.
	(create_signatured_type_table_from_index): Make the return type void,
	inline the extract_cu_value caller, include new gdb_static_assert.
	(dwarf2_read_index): Update the create_cus_from_index and
	create_signatured_type_table_from_index caller.
	* printcmd.c (ui_printf): Remove conditionalizations for
	CC_HAS_LONG_LONG.
	* config.in: Regenerate.
	* configure: Regenerate.

gdb/doc/
	* gdbint.texinfo (Host Definition): Remove CC_HAS_LONG_LONG.
2012-12-09 18:39:59 +00:00
Jan Kratochvil
1b80a9fa75 gdb/
* dwarf2read.c (struct dwarf2_cu): New field producer_is_gcc_lt_4_3.
	Update the comment for checked_producer.
	(check_producer): New forward declaration.
	(producer_is_gcc_lt_4_3): New function.
	(find_file_and_directory): Simulate *COMP_DIR only for gcc < 4.3.
	(check_producer): Initialize also PRODUCER_IS_GCC_LT_4_3.

gdb/testsuite/
	* gdb.dwarf2/dw2-compdir-oldgcc.S: New file.
	* gdb.dwarf2/dw2-compdir-oldgcc.exp: New file.
2012-12-09 17:35:42 +00:00
gdbadmin
8f07217995 *** empty log message *** 2012-12-09 00:00:37 +00:00
Yao Qi
f0b6d50a0c gdb/testsuite
2012-12-08  Yao Qi  <yao@codesourcery.com>
	    Pedro Alves  <palves@redhat.com>

	* gdb.trace/mi-tracepoint-changed.exp (test_reconnect): Test
	'=breakpoint-created' when GDB merges the tracepoints of both
	 sides.
2012-12-08 11:58:01 +00:00
gdbadmin
3018e5fe02 *** empty log message *** 2012-12-08 00:00:44 +00:00
Tom Tromey
2f68a89553 * ada-lang.c (ada_make_symbol_completion_list): Add 'code'
argument, assertion.
	* c-exp.y (typebase): Add completion productions.
	* completer.c (expression_completer): Handle tag completion.
	* expression.h (parse_expression_for_completion): Add argument.
	* f-lang.c (f_make_symbol_completion_list): Add 'code'
	argument.
	* language.h (struct language_defn)
	<la_make_symbol_completion_list>: Add 'code' argument.
	* parse.c (expout_tag_completion_type, expout_completion_name):
	New globals.
	(mark_struct_expression): Add assertion.
	(mark_completion_tag): New function.
	(parse_exp_in_context): Initialize new globals.
	(parse_expression_for_completion): Add 'code' argument.  Handle
	tag completion.
	* parser-defs.h (mark_completion_tag): Declare.
	* symtab.c (default_make_symbol_completion_list_break_on): Add
	'code' argument.  Update.
	(default_make_symbol_completion_list): Add 'code' argument.
	(make_symbol_completion_list): Update.
	(make_symbol_completion_type): New function.
	* symtab.h (default_make_symbol_completion_list_break_on)
	(default_make_symbol_completion_list): Update.
	(make_symbol_completion_type): Declare.
testsuite
	* gdb.base/break1.c (enum some_enum, union some_union): New.
	(some_enum_global, some_union_global, some_value): New globals.
	* gdb.base/completion.exp: Add tag completion tests.
2012-12-07 20:09:11 +00:00
Tom Tromey
155da5173d * expression.h (parse_expression_for_completion): Rename
from parse_field_expression.
	(parse_completion): Rename from in_parse_field.
	* c-exp.y (lex_one_token): Update.
	* completer.c (expression_completer): Update.
	* go-exp.y (lex_one_token): Update.
	* p-exp.y (yylex): Update.
	* parse.c (parse_completion): Rename from in_parse_field.
	(parse_exp_in_context): Update.
	(parse_expression_for_completion): Rename from
	parse_field_expression.  Update.
2012-12-07 20:05:15 +00:00
Tom Tromey
4fc5d43ea6 * typeprint.c (_initialize_typeprint): Set completer
for "whatis" and "ptype".
testsuite
	* gdb.base/completion.exp: Add tests for ptype and whatis
	completion.
2012-12-07 19:58:10 +00:00
Joel Brobecker
6559e01342 Fix gdb.base/stale-infcall.exp's copyright line.
gdb/testsuite/ChangeLog:

        * gdb.base/stale-infcall.exp: Fix copyright line.
2012-12-07 10:18:59 +00:00
Joel Brobecker
ab39020be5 Update copyright.py:NOT_FSF_LIST for sim/common subdir.
There was a duplicate ("sim/common/cgen-fpu.h"), and one entry where
we do have an FSF copyright header ("sim/common/sim-fpu.c").

gdb/ChangeLog:

        * copyright.py (NOT_FSF_LIST): Remove duplicate entry
        "sim/common/cgen-fpu.h".  Remove invalid entries
        "sim/common/sim-fpu.c" and "sim/mn10300/sim-main.h",
        which actually have an FSF copyright header.
2012-12-07 10:00:57 +00:00
Joel Brobecker
ae2b630d4e gdb.ada/lang_switch: Allow msg parameter to be a reference.
gdb/testsuite/ChangeLog:

        * gdb.ada/lang_switch.exp: The "msg" parameter may be a reference.
2012-12-07 03:00:00 +00:00
Joel Brobecker
2cb50f9d6a Delete the gdb/osf-share directory.
These are old files that GDB does not use anymore, and probably has not
used for a long time.

gdb/ChangeLog:

        * osf-share/AT386/cma_thread_io.h: Delete.
        * osf-share/HP800/cma_thread_io.h: Delete.
        * osf-share/README: Delete.
        * osf-share/RIOS/cma_thread_io.h: Delete.
        * osf-share/cma_attr.h: Delete.
        * osf-share/cma_deb_core.h: Delete.
        * osf-share/cma_debug_client.h: Delete.
        * osf-share/cma_errors.h: Delete.
        * osf-share/cma_handle.h: Delete.
        * osf-share/cma_init.h: Delete.
        * osf-share/cma_list.h: Delete.
        * osf-share/cma_mutex.h: Delete.
        * osf-share/cma_sched.h: Delete.
        * osf-share/cma_semaphore_defs.h: Delete.
        * osf-share/cma_sequence.h: Delete.
        * osf-share/cma_stack.h: Delete.
        * osf-share/cma_stack_int.h: Delete.
        * osf-share/cma_tcb_defs.h: Delete.
        * osf-share/cma_util.h: Delete.
        * Makefile.in (HFILES_NO_SRCDIR): Remove entries for the files
        in osf-share.
        * config/djgpp/fnchange.lst: Remove osf-share/cma_stack_int.h entry.
        * contrib/ari/gdb_find.sh: Remove handling of osf-share.
        * copyright.sh (NOT_FSF_LIST): Remove "gdb/osf-share" entry.
2012-12-07 02:57:50 +00:00
gdbadmin
9cb2f5a93d *** empty log message *** 2012-12-07 00:00:33 +00:00
Tom Tromey
0ba2eb0fb6 2012-12-06 Pedro Alves <palves@redhat.com>
Tom Tromey  <tromey@redhat.com>
	* valops.c (value_cast): Move TYPE_CODE_VOID case earlier.
testsuite
	* gdb.base/exprs.exp: Add tests for cast to void.
2012-12-06 21:41:07 +00:00
Tom Tromey
731145cb17 2012-12-06 Jens Elmenthaler <jens.elmenthaler@advantest.com>
PR mi/14741:
	* mi/mi-cmd-var.c (varobj_update_one): Take value of
	attribute "dynamic" and "displayhint" from printed child,
	not the root variable.

	* gdb.python/py-mi.exp: Correct expected results for attribute
	"dynamic" returned by -var-update.
	Add test case for correct handling of "diplayhint" for children
	of dynamic varobjs.
	* gdb.python/py-prettyprint.c (set_itme): New function.
	(bug_14741) New function.
	(main) Add call to bug_14741().
	* gdb.python/py-prettyprint.py (class ArrayPrinter): New class.
2012-12-06 18:59:57 +00:00
Joel Brobecker
eff44fea8c aix-thread: Fix getthrds declaration and call.
gdb/ChangeLog:

        * aix-thread.c (getthrds): Fix type of 4th parameter.
        (get_signaled_thread): Change type of variable ktid to tid_t.
2012-12-06 04:57:09 +00:00
Hui Zhu
c90a077350 * dwarf2loc.c (dwarf_expr_frame_base): Add check for the return value of get_frame_block. 2012-12-06 01:11:32 +00:00
gdbadmin
5339c9d674 *** empty log message *** 2012-12-06 00:00:34 +00:00
Pierre Muller
5bc81a00b6 Avoid memory leaks on struct cmd_list_element.doc field.
* cli/cli-decode.c (add_alias_cmd): Make a copy of doc field
	if flags contains DOC_ALLOCATED.
	(add_setshow_cmd_full): Add DOC_ALLOCATED to set and show
	flags.
	(delete_cmd): Handle DOC_ALLOCATED flag.
	* cli/cli-decode.h (DOC_ALLOCATED): New macro for use
	in flags filed of struct cmd_list_element.
	(struct cmd_list_element): Document new flag item.
2012-12-05 23:23:22 +00:00
Ulrich Weigand
e58fcc1591 * gdb.base/gnu-debugdata.exp: Also include "D" symbols in
${binfile}.funcsyms list.
2012-12-05 17:07:56 +00:00
Tom Tromey
e90e9ad971 PR gdb/14917:
* server.h (current_insn_ptr, emit_error): Declare 'extern'.
2012-12-05 14:56:18 +00:00
gdbadmin
6418c17342 *** empty log message *** 2012-12-05 00:00:03 +00:00
Doug Evans
b5ebcee64f * symmisc.c: Whitespace fixes. 2012-12-04 23:12:07 +00:00
Karthik Bhat
56bf074305 Fix for incorrect breakpoint set in case of clang compiled binary 2012-12-04 07:43:19 +00:00
Yao Qi
e9eb0d14a7 gdb/testsuite
2012-12-04  Yao Qi  <yao@codesourcery.com>

	PR gdb/13443
	* gdb.trace/actions.exp: Make test messages unique.
2012-12-04 03:55:51 +00:00
gdbadmin
3d491ba741 *** empty log message *** 2012-12-04 00:00:04 +00:00
Doug Evans
56e6461019 * dwarf2read.c (struct dwarf2_per_objfile): Clarify comment.
(dw2_find_symbol_file): Delete unused local file_data.
2012-12-03 22:31:03 +00:00
Tom Tromey
270140bd25 * ada-exp.y (write_object_renaming, write_var_or_type)
(write_ambiguous_var, write_var_from_sym): Make blocks const.
	* ada-lang.c (replace_operator_with_call)
	(find_old_style_renaming_symbol): Make blocks const.
	* ada-lang.h (ada_find_renaming_symbol): Update.
	(struct ada_symbol_info) <block>: Now const.
	* breakpoint.c (watch_command_1): Update.
	* breakpoint.h (struct watchpoint) <exp_valid_block,
	cond_exp_valid_block>: Now const.
	* c-exp.y (classify_inner_name, classify_name): Make block
	argument const.
	* expprint.c (print_subexp_standard) <OP_VAR_VALUE>: Make 'b'
	const.
	* expression.h (innermost_block, parse_exp_1): Update.
	(union exp_element) <block>: Now const.
	* gdbtypes.c (lookup_template_type, lookup_enum, lookup_union)
	(lookup_struct): Make block argument const.
	* gdbtypes.h (lookup_template_type): Update.
	* go-exp.y (classify_name, classify_packaged_name)
	(package_name_p): Make block argument const.
	* objc-lang.c (lookup_struct_typedef): Make block argument const.
	* objc-lang.h (lookup_struct_typedef): Update.
	* parse.c (parse_exp_in_context, parse_exp_1)
	(write_exp_elt_block): Make block arguments const.
	(expression_context_block, innermost_block): Now const.
	* parser-defs.h (write_exp_elt_block): Update.
	(expression_context_block, innermost_block, block_found): Now
	const.
	* printcmd.c (struct display) <block>: Now const.
	* symtab.h (lookup_struct, lookup_union, lookup_enum): Update.
	* valops.c (address_of_variable): Make block argument const.
	* value.h (value_of_variable): Update.
	* varobj.c (struct varobj_root) <valid_block>: Now const.
2012-12-03 19:59:14 +00:00
gdbadmin
0f6752b51f *** empty log message *** 2012-12-03 00:00:33 +00:00
gdbadmin
368bc5b0a3 *** empty log message *** 2012-12-02 00:00:03 +00:00
Yao Qi
31f56a275d gdb/
2012-11-30  Yao Qi  <yao@codesourcery.com>

	* breakpoint.c (print_one_breakpoint_location): Indent code.
2012-12-01 02:16:28 +00:00
gdbadmin
33185a2c38 *** empty log message *** 2012-12-01 00:00:03 +00:00
Yao Qi
556ec64d8c gdb/
2012-11-30  Yao Qi  <yao@codesourcery.com>

	* breakpoint.c (print_one_breakpoint_location): Combine two
	blocks handling 'hit count' together.
2012-11-30 14:46:39 +00:00
Yao Qi
3d3fef6beb gdb/
2012-11-30  Yao Qi  <yao@codesourcery.com>

	* infrun.c (error_is_running, ensure_not_running): Move them
	to ...
	* infcmd.c (error_is_running, ensure_not_running): ... here.
	Make them 'static'.
	* inferior.h: Remove declarations of error_is_running and
	ensure_not_running.
2012-11-30 14:35:50 +00:00
Yao Qi
7cd12a76b7 gdb/
2012-11-30  Yao Qi  <yao@codesourcery.com>

	* tic6x-linux-tdep.c (tic6x_register_sigcontext_offset): Don't
	check REGNUM >= 0.
2012-11-30 07:42:57 +00:00
Yao Qi
7a76f5b828 gdb/
2012-11-30  Yao Qi  <yao@codesourcery.com>

	* infrun.c: Make the declaration of 'init_infwait_state'
	static.
	(init_infwait_state): Make it 'static'.
2012-11-30 07:24:48 +00:00
gdbadmin
69e601f38c *** empty log message *** 2012-11-30 00:00:33 +00:00
Tom Tromey
4983028c3a * gdb.base/gnu-debugdata.exp (run, pipeline): Don't use lassign. 2012-11-29 20:53:24 +00:00
Ulrich Weigand
b1209b035b * python/python.c (finalize_python): Cast unused PyGILState_Ensure
return value to void to avoid compiler warning.
2012-11-29 19:11:48 +00:00
Ulrich Weigand
ea5e6b0efe ChangeLog:
* opencl-lang.c (opencl_print_type): New function.
	(opencl_language_arch_info): Install it.

testsuite/ChangeLog:

	* gdb.opencl/convs_casts.exp: Always expect standard vector type names.
	* gdb.opencl/datatypes.exp: Likewise.
	* gdb.opencl/operators.exp: Likewise.
	* gdb.opencl/vec_comps.exp: Likewise.
2012-11-29 18:56:23 +00:00
Tom Tromey
0c631110f4 * gdb.texinfo (SVR4 Process Information): Document missing
"info proc" subcommands.
2012-11-29 17:49:20 +00:00
Tom Tromey
a93478eab4 * contrib/ari/gdb_ari.sh: Remove rules for xasprintf and
xvasprintf.
	* common/common-utils.c (xasprintf, xvasprintf): Remove.
	* common/common-utils.h (xasprintf, xvasprintf): Remove.
2012-11-29 17:23:18 +00:00
Jerome Guitton
cdde3dfbda New testcase for interface type printing.
gdb/testsuite/ChangeLog:

        * gdb.ada/iwide: New testcase.
2012-11-29 16:30:45 +00:00
Jerome Guitton
ac4a2da45d Strip interface tags from visible fields
The following Ada type:

   type Circle is new Shape and Drawable with record
        Center : Point;
        Radius : Natural;
   end record;

...is displayed as follow in GDB:

 (gdb) ptype circle
 type = new classes.shape with record
     V51s: ada.tags.interface_tag;
     center: classes.point;
     radius: natural;
 end record

V51s is an internal field that is of no interest for the user. It should
not be displayed.

gdb/ChangeLog:

	* ada-lang.c (ada_is_interface_tag): New function.
	(ada_is_ignored_field): Add interface tags to the list
	of ignored fields.
2012-11-29 16:29:54 +00:00
Jerome Guitton
b50d69b5aa Full view of interface-wide types
For displaying the full view of a class-wide object, GDB relies on
the assumption that this view will have the same address as the
address of the object. In the case of simple inheritance, this
assumption is correct; the proper type is deduced by decoding
the tag of the object and converting the result to this full-view
type.

Consider for example an abstract class Shape, a child Circle
which implements an interface Drawable, and the corresponding
following objects:

   My_Circle   : Circle := ((1, 2), 3);
   My_Shape    : Shape'Class := Shape'Class (My_Circle);
   My_Drawable : Drawable'Class := Drawable'Class (My_Circle);

To display My_Shape, the debugger first extracts the tag (an internal
field, usually the first one of the record):

 (gdb) p my_shape'address
 $2 = (system.address) 0x8063e28
 (gdb) x/x my_shape'address
 0x8063e28 <classes__my_shape>: 0x08059ec4

Then the type specific data and the expanded name of the tag is read
from there:

 (gdb) p my_shape'tag
 $3 = (access ada.tags.dispatch_table) 0x8059ec4 (classes.circle)

To get the full view, the debugger converts to the corresponding type:

 (gdb) p {classes.circle}0x8063e28
 $4 = (center => (x => 1, y => 2), radius => 3)

Now, in the case of multiple inheritance, the assumption does not hold
anymore. The address that we have usually points to some
place lower. The offset to the original address is saved in the field
Offset_To_Top of the metadata that are above the tag, at address
obj'tag - 8. In the case of my_shape, this offset is 0:

 (gdb) x/x my_shape'tag - 8
 0x8059ebc <classes__circleT+12>:        0x00000000

...but in the case of an interface-wide object, it is not null:

 (gdb) x/x my_drawable'tag - 8
 0x8063b28 <classes__classes__circle_classes__drawable1T56s+12>: 0x00000004
 (gdb) p {classes.circle}(my_drawable'address - 4)
 $7 = (center => (x => 1, y => 2), radius => 3)

The following change handles this relocation in the most common cases.
Remaining cases that are still to be investigated are signaled by
comments.

gdb/ChangeLog:

	* ada-lang.h (ada_tag_value_at_base_address): New function
	declaration.
	* ada-lang.c (is_ada95_tag, ada_tag_value_at_base_address):
	New functions.
	(ada_to_fixed_type_1, ada_evaluate_subexp): Let ada_tag_base_address
	relocate the class-wide value if need be.
	(ada_value_struct_elt, ada_value_ind, ada_coerce_ref):
	Let ada_tag_value_at_base_address relocate the class-wide access/ref
	before dereferencing it.
	* ada-valprint.c (ada_val_print_1): Relocate to base address
	before displaying the content of an interface-wide ref.

gdb/testsuite/ChangeLog:

        * gdb.ada/ptype_tagged_param.exp: Adjust expected output in
        ptype test.
2012-11-29 16:28:10 +00:00
Jerome Guitton
c2d3fccf65 Update gdb.ada/variant_record_packed_array
gdb/testsuite/ChangeLog:

	* gdb.ada/variant_record_packed_array.exp: Test expressions of the
	form {VARIANT_TYPE}ADDRESS.
2012-11-29 16:27:13 +00:00
Jerome Guitton
ca1f964d4b Handle other cases than EVAL_NORMAL in the default case
In the evaluation of an expression in Ada mode, the default case
unwraps the argument unconditionally. For an object of a variant
record type, this unwrapping builds a fixed type from the
specification of the variant type and the actual values of the
object's discriminants.  It means that unwrapping needs the "proper"
value for the object, not just a zero value with the proper type.

When not in EVAL_NORMAL, we cannot assume that the evaluation returns
such a proper value; it may well return a zero value of the
appropriate type e.g in EVAL_AVOID_SIDE_EFFECTS. It is wrong to try to
unwrap in that case.

In particular, a problem shows up when using expression of the form
{VARIANT_TYPE}OBJ. GDB first evaluates this expression in
EVAL_AVOID_SIDE_EFFECTS to compute the type, the evaluation of OBJ
in most cases returns a zero value of its type, and as UNOP_MEMVAL
is mapped to the default case its evaluation ends up trying to
read memory around address 0.

gdb/ChangeLog:

	* ada-lang.c (ada_evaluate_subexp): Unwrap only in EVAL_NORMAL.
2012-11-29 16:26:12 +00:00
gdbadmin
38d03cf1fd GDB 7.5.1 released. 2012-11-29 13:12:22 +00:00
Yao Qi
f56825018b gdb/
2012-11-29  Yao Qi  <yao@codesourcery.com>
	    Tom Tromey  <tromey@redhat.com>

	* eval.c (evaluate_subexp_standard): Get the correct pointer
	type for TYPE_CODE_MEMBERPTR.
2012-11-29 07:55:10 +00:00