Commit graph

4686 commits

Author SHA1 Message Date
Jan Kratochvil
9e3a7d65fb gdb/
Fix entry values resolving in inlined frames.
	* dwarf2loc.c (dwarf_expr_reg_to_entry_parameter): Move func_addr,
	gdbarch and caller_frame initialization later.  Skip INLINE_FRAME
	entries of FRAME.

gdb/testsuite/
	Fix entry values resolving in inlined frames.
	* gdb.arch/amd64-entry-value-inline.S: New file.
	* gdb.arch/amd64-entry-value-inline.c: New file.
	* gdb.arch/amd64-entry-value-inline.exp: New file.
2012-10-15 19:15:57 +00:00
Jan Kratochvil
21a7b08989 gdb/testsuite/
Fix recent gdb_breakpoint regression.
	* gdb.java/jmisc.exp: gdb_breakpoint for $function - remove curly
	braces from the parameter.
	* gdb.java/jprint.exp: Likewise.
2012-10-15 19:11:56 +00:00
Doug Evans
2c47921e64 * lib/gdb.exp (runto): Fix call to gdb_breakpoint. 2012-10-15 17:35:54 +00:00
Joel Brobecker
89398707cd Remove trailing '#' in gdb.dwarf2/dw2-icc-opaque.S
gdb/testsuite/ChangeLog:

        * gdb.dwarf2/dw2-icc-opaque.S: Remove '#'.
2012-10-15 17:26:14 +00:00
Tom Tromey
801e418523 PR python/14635:
* python/py-symtab.c (del_objfile_sal): Set 'symtab' field
	to Py_None.
testsuite
	* gdb.python/py-symtab.exp: Test sal and symtab destructors.
2012-10-15 15:23:47 +00:00
Tom Tromey
74f910c87c PR python/14634:
* python/py-symbol.c (sympy_dealloc): Check for NULL symbol.
testsuite
	* gdb.python/py-symbol.exp: Test symbol destructor.
2012-10-15 15:20:27 +00:00
Yao Qi
91567807f8 gdb/testsuite/
* gdb.mi/mi2-cli.exp: Move to mi-cli.exp.
	* gdb.mi/mi-cli.exp: New.

	* gdb.mi/mi2-basics.exp: Remove.
	* gdb.mi/mi2-break.exp: Remove.
	* gdb.mi/mi2-console.exp: Remove.
	* gdb.mi/mi2-disassemble.exp: Remove.
	* gdb.mi/mi2-eval.exp: Remove.
	* gdb.mi/mi2-file.exp: Remove.
	* gdb.mi/mi2-hack-cli.exp: Remove.
	* gdb.mi/mi2-pthreads.exp: Remove.
	* gdb.mi/mi2-read-memory.exp: Remove.
	* gdb.mi/mi2-regs.exp: Remove.
	* gdb.mi/mi2-return.exp: Remove.
	* gdb.mi/mi2-simplerun.exp: Remove.
	* gdb.mi/mi2-stack.exp: Remove.
	* gdb.mi/mi2-stepi.exp: Remove.
	* gdb.mi/mi2-syn-frame.exp: Remove.
	* gdb.mi/mi2-until.exp: Remove.
	* gdb.mi/mi2-watch.exp: Remove.
	* gdb.mi/mi2-var-block.exp: Remove.
	* gdb.mi/mi2-var-cmd.exp: Remove.
	* gdb.mi/mi2-var-display.exp: Remove.
2012-10-14 12:24:08 +00:00
Yao Qi
8733202903 gdb/testsuite/
* gdb.mi/mi-breakpoint-changed.exp (test_pending_resolved): Remove
	trail '.*' on matching patterns.
2012-10-12 00:02:23 +00:00
H.J. Lu
11fc905705 Use is_x86_like_target to check x86 targets
* gdb.arch/i386-bp_permanent.exp: Skip if not is_x86_like_target.
	* gdb.arch/i386-cfi-notcurrent.exp: Likewise.
	* gdb.arch/i386-disp-step.exp: Likewise.
	* gdb.arch/i386-gnu-cfi.exp: Likewise.
	* gdb.arch/i386-prologue.exp: Likewise.
	* gdb.arch/i386-size-overlap.exp: Likewise.
	* gdb.arch/i386-size.exp: Likewise.
	* gdb.arch/i386-unwind.exp: Likewise.
2012-10-11 17:42:58 +00:00
H.J. Lu
7d46bcdc05 Check byte/word registers on x86_64
* gdb.arch/i386-byte.exp: Remove is_ilp32_target check.
	* gdb.arch/i386-word.exp: Likewise.
2012-10-11 17:41:33 +00:00
H.J. Lu
31224d9db8 Check is_amd64_regs_target to to set nr_regs
* gdb.arch/i386-avx.exp: Check is_amd64_regs_target instead of
	is_ilp32_target to set nr_regs.
	* gdb.arch/i386-sse.exp: Likewise.
2012-10-11 17:40:30 +00:00
Doug Evans
7c09e5a0f7 PR breakpoints/14643.
* linespec.c (struct ls_parser): New member keyword_ok.
	(linespec_lexer_lex_string): Add comment.
	(linespec_lexer_lex_one): Ignore keywords if it's the wrong place
	for one.
	(parse_linespec): Set keyword_ok.

	testsuite/
	* gdb.linespec/ls-errs.exp: Change tests of "b if|task|thread".
	* gdb.linespec/thread.c: New file.
	* gdb.linespec/thread.exp: New file.
2012-10-11 16:12:05 +00:00
Doug Evans
5b7d00507b * lib/gdb.exp (gdb_breakpoint): Fix varargs scan.
Recognize "message" -> print pass and fail.  Add eof case.
	(runto): Recognize message, no-message.  Print pass/fail if requested,
	with same treatment as gdb_breakpoint.
	(runto_main): Pass no-message to runto.
	(gdb_internal_error_resync): Add log message.
	(gdb_file_cmd): Tweak internal error fail text for consistency.
2012-10-11 15:59:57 +00:00
Jan Kratochvil
2e24f4aab7 gdb/
Fix crash during stepping on ppc32.
	* ppc-linux-tdep.c (powerpc_linux_in_dynsym_resolve_code): Test NULL
	SYM.

gdb/testsuite/
	Fix crash during stepping on ppc32.
	* gdb.base/step-symless.c: New file.
	* gdb.base/step-symless.exp: New file.
2012-10-06 21:10:33 +00:00
Doug Evans
aa14df2525 PR symtab/14601
* buildsym.c (buildsym_init): Reset using_directives to NULL.

	testsuite/
	* gdb.cp/using-crash.exp: New file.
	* gdb.cp/using-crash.cc: New file.
2012-10-03 17:05:00 +00:00
Doug Evans
975531dbc9 * lib/gdb.exp (gdb_unload): Change wording of perror text to be
more consistent.
	(runto,gdb_debug_format): Ditto.
	(gdb_file_cmd): Watch for eof in nested gdb_expect.
	Clean up logging and error messages.
2012-10-02 17:17:45 +00:00
Andrew Burgess
b3dc46ff7c http://sourceware.org/ml/gdb-patches/2012-09/msg00568.html
gdb/ChangeLog

        * target.c (simple_search_memory): Include access length in
        warning message.

gdb/gdbserver/ChangeLog

        * server.c (handle_search_memory_1): Include access length in
        warning message.

gdb/testsuite/ChangeLog

        Test find command on unmapped memory.
        * gdb.base/find-unmapped.c: New file.
        * gdb.base/find-unmapped.exp: New file.
2012-10-01 12:02:13 +00:00
Yao Qi
45814d4572 gdb/testsuite/
* gdb.trace/mi-tracepoint-changed.exp: New.
	* gdb.mi/mi-breakpoint-changed.exp: New.
	* gdb.mi/pending.c, gdb.mi/pendshr1.c: New
	* gdb.mi/pendshr2.c: New.
2012-09-29 00:03:56 +00:00
Yao Qi
4c2786ba1e gdb/
* mi/mi-main.c (mi_cmd_data_write_memory): Call
	write_memory_with_notification instead of write_memory.
	(mi_cmd_data_write_memory_bytes): Call write_memory_with_notification
	instead of target_write_memory.

gdb/testsuite/
	* gdb.mi/pr11022.exp: New.
	* gdb.mi/pr11022.c: New.  Copied from gdb.base/.
2012-09-28 00:39:18 +00:00
Tom Tromey
7977e5d2a6 Fix https://bugzilla.redhat.com/show_bug.cgi?id=849357
* cp-valprint.c (cp_print_value_fields): Use get_vptr_fieldno.
gdb/testsuite
	* gdb.cp/derivation.exp: Add regression test.
	* gdb.cp/derivation.cc (class V_base, class V_inter, class
	V_derived): New.
	(vderived): New global.
2012-09-27 16:04:23 +00:00
Tom Tromey
0971de02d5 * dwarf2read.c (mark_common_block_symbol_computed): New function.
(read_common_block): Handle child DIEs with
	DW_AT_data_member_location.
	(new_symbol_full): Add special case for common blocks.
gdb/testsuite
	* gdb.dwarf2/dw2-common-block.S: New file.
	* gdb.dwarf2/dw2-common-block.exp: New file.
2012-09-26 19:50:13 +00:00
Tom Tromey
4357ac6c6f 2012-09-26 Jan Kratochvil <jan.kratochvil@redhat.com>
Tom Tromey  <tromey@redhat.com>
	* dwarf2read.c (read_common_block): Rewrite.
	(new_symbol_full): Handle DW_TAG_common_block.
	* f-lang.c (head_common_list, find_common_for_function):
	Remove.
	* f-lang.h (struct common_entry, struct saved_f77_common,
	SAVED_F77_COMMON, SAVED_F77_COMMON_PTR, COMMON_ENTRY,
	COMMON_ENTRY_PTR, head_common_list, find_common_for_function,
	BLANK_COMMON_NAME_LOCAL): Remove.
	(struct common_block): New.
	* f-valprint.c (list_all_visible_commons): Remove.
	(info_common_command_for_block): New function.
	(info_common_command): Use it.
	* stack.c (iterate_over_block_locals): Special case for
	COMMON_BLOCK_DOMAIN.
	* symtab.h (enum domain_enum_tag) <COMMON_BLOCK_DOMAIN>: New
	constant.
	(struct general_symbol_info) <value.common_block>: New field.
	(SYMBOL_VALUE_COMMON_BLOCK): New define.
gdb/testsuite
2012-09-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
	* gdb.fortran/common-block.exp: New file.
	* gdb.fortran/common-block.f90: New file.
2012-09-26 19:38:32 +00:00
Andrew Burgess
6f380991ba http://sourceware.org/ml/gdb-patches/2012-09/msg00403.html
gdb/ChangeLog

        * breakpoint.c (update_global_location_list): Ignore previous
        duplicate status of a breakpoint when starting a new scan for
        duplicate breakpoints.

gdb/testsuite/ChangeLog

        * gdb.base/duplicate-bp.c: New file.
        * gdb.base/duplicate-bp.exp: New file.
2012-09-26 16:36:00 +00:00
Yao Qi
8ae551cf47 gdb/testsuite:
* gdb.mi/mi2-cli.exp:  Avoid line number in test summary.

	Revert:
	2012-09-21  Yao Qi  <yao@codesourcery.com>

	* gdb.mi/mi2-cli.exp: Remove redundant '\'.
2012-09-26 06:53:46 +00:00
Siddhesh Poyarekar
318102b961 gdb/ChangeLog:
* c-typeprint.c (c_type_print_varspec_suffix): Remove cast and
	use plongest to print the array size.

testsuite/ChangeLog:

	* gdb.base/longest-types.c: New test case.
	* gdb.base/longest-types.exp: New test case.
2012-09-25 12:20:42 +00:00
Yao Qi
a1e5fd6938 gdb/testsuite:
* gdb.mi/mi2-cli.exp: Check breakpoint notification.
2012-09-25 00:55:15 +00:00
Jan Kratochvil
04e7407c59 gdb/
Fix internal error on canonicalization of clang types.
	* cp-name-parser.y (operator): New comment at make_operator call for
	new, delete, new[] and delete[].
	(exp): Use "sizeof ".  Add new comment at make_operator call.

gdb/testsuite/
	Fix internal error on canonicalization of clang types.
	* gdb.dwarf2/dw2-canonicalize-type.S: New file.
	* gdb.dwarf2/dw2-canonicalize-type.exp: New file.
	* lib/gdb.exp (gdb_file_cmd): Catch also GDB internal error.
2012-09-21 20:01:12 +00:00
Jan Kratochvil
9bf4bce984 gdb/
Fix disassemble without parameters in tailcall frame.
	* cli/cli-cmds.c (disassemble_current_function): Use
	get_frame_address_in_block.

gdb/testsuite/
	Fix disassemble without parameters in tailcall frame.
	* gdb.arch/amd64-entry-value.exp (down, disassemble): New tests.
2012-09-21 18:53:15 +00:00
Andrew Burgess
2603f7eeca http://sourceware.org/ml/gdb-patches/2012-08/msg00715.html
gdb/ChangeLog

        * findvar.c (read_frame_register_value): Mark the result value as
        optimized out if any of the input registers have been optimized out.

gdb/testsuite/ChangeLog

        * gdb.dwarf2/dw2-op-out-param.S: New file.
        * gdb.dwarf2/dw2-op-out-param.exp: New file.
2012-09-21 17:17:23 +00:00
Yao Qi
a3569abd1a gdb/testsuite:
* gdb.mi/mi2-cli.exp: Remove redundant '\'.
2012-09-21 12:26:30 +00:00
Yao Qi
a065d7af0e gdb/testsuite:
* gdb.mi/mi-cli.exp: Remove.
	* gdb.mi/mi2-cli.exp: Merged from mi-cli.exp.
2012-09-21 08:39:08 +00:00
Yao Qi
15544bd96e gdb/testsuite:
* gdb.mi/mi-reverse.exp: Fix the typo in expected output of
	"=record-started" notification.
2012-09-21 07:29:46 +00:00
Yao Qi
82a90ccf2a gdb/doc:
2012-09-21  Yao Qi  <yao@codesourcery.com>
	    Pedro Alves  <palves@redhat.com>

	* gdb.texinfo (GDB/MI Async Records): Document notification
	'record-started' and 'record-stopped'.
	* observer.texi (GDB Observers): New observer 'record-changed'.
gdb:
2012-09-21  Yao Qi  <yao@codesourcery.com>

	* mi/mi-interp.c: Declare mi_record_changed.
	(mi_interpreter_init): Call observer_attach_record_changed.
	(mi_record_changed): New.
	* record.c (record_open): Call observer_notify_record_changed.
	(cmd_record_stop): Call observer_notify_record_changed.
	* NEWS: Mention it.

gdb/testsuite:
2012-09-21  Yao Qi  <yao@codesourcery.com>

	* gdb.mi/mi-record-changed.exp: New.
	* gdb.mi/mi-reverse.exp: Adjust expected output.
2012-09-21 01:46:46 +00:00
Tom Tromey
d7de8e3ce9 * NEWS: Update.
* python/python.c (finalize_python): New function.
	(_initialize_python): Make a final cleanup.
testsuite
	* gdb.python/python.exp: Test atexit.register.
2012-09-20 20:54:11 +00:00
Doug Evans
05eade73e1 * boards/dwarf4-gdb-index.exp: New file. 2012-09-20 15:21:09 +00:00
Doug Evans
1aa9953770 * gdb.base/callfuncs.exp (do_function_calls): Set unwindonsignal to on
while running the tests.
2012-09-20 14:43:48 +00:00
Joel Brobecker
4ae24af054 wrong language used when re-setting breakpoint
The debugger sometimes fails to re-set a breakpoint as follow,
causing it to become disabled:

    (gdb) b nested_sub
    Breakpoint 1 at 0x401cec: file foo.adb, line 7.
    (gdb) b do_nothing
    Breakpoint 2 at 0x401cdc: file pck.adb, line 4.
    (gdb) run
    Starting program: /[...]/foo
    Error in re-setting breakpoint 1: Function "nested_sub" not defined.

    Breakpoint 2, pck.do_nothing () at pck.adb:4
    4             null;

This only happens on machines where the debug-file-directory is
a valid directory name.

The reason behind the error is that the linespec code that re-sets
the breakpoints uses the current_language global when iterating
over a symtab's symbols. However, the that global gets switched from
Ada to C during the startup phase, probably as a side-effect of stopping
in some system code for which debugging info is available. The fix
is to make sure that we use the correct language.

gdb/ChangeLog:

        * linespec.c (iterate_over_all_matching_symtabs): Use the correct
        language when iterating over symbols.

gdb/testsuite/ChangeLog:

        * gdb.ada/bp_reset: New testcase.
2012-09-18 16:52:19 +00:00
Yao Qi
bb25a15c8f gdb/doc:
* gdb.texinfo (GDB/MI Async Records): Document new MI
	notifications '=tsv-created' and '=tsv-deleted'.
	* observer.texi (GDB Observers): New observer tsv_created and
	tsv_deleted.

gdb:

	* mi/mi-interp.c: Declare mi_tsv_created and mi_tsv_deleted.
	(mi_interpreter_init): Call observer_attach_tsv_created and
	observer_attach_tsv_deleted.
	(mi_tsv_created, mi_tsv_deleted): New.
	* tracepoint.c (delete_trace_state_variable): Call
	observer_notify_tsv_deleted.
	(trace_variable_command): Call observer_notify_tsv_created.
	(delete_trace_variable_command): Call
	observer_notify_tsv_deleted.
	(create_tsv_from_upload): Call observer_notify_tsv_created.
	* NEWS: Mention it.

gdb/testsuite:

	gdb.trace/mi-tsv-changed.exp: New.
2012-09-18 12:09:28 +00:00
Yao Qi
201b4506b3 gdb/doc:
* observer.texi (GDB Observers): New observer 'traceframe_changed'.
	* gdb.texinfo (GDB/MI Async Records): Mention new MI notification
	'=traceframe-changed'.

gdb:

	* tracepoint.c (tfind_1): Call observer_notify_traceframe_changed
	if traceframe changed.

	* mi/mi-cmds.c (mi_cmd mi_cmds): Adjust for command
	"trace-find".
	* mi/mi-interp.c: Declare 'mi_traceframe_changed'.
	(mi_interpreter_init): Hook mi_traceframe_changed to observer
	'traceframe_changed'.
	(mi_traceframe_changed): New.
	* mi/mi-main.h (struct mi_suppress_notification) <traceframe>:
	New field.

	* NEWS: Mention the new MI notification.

gdb/testsuite:

	* gdb.trace/mi-traceframe-changed.exp: New.
2012-09-18 11:33:43 +00:00
Yao Qi
6fc1c7733e gdb/
* cli/cli-decode.c (add_setshow_zuinteger_unlimited_cmd): New.
	Update comment to add_setshow_integer_cmd.
	* cli/cli-setshow.c (do_set_command): Handle case
	'var_zuinteger_unlimited'.
	(do_show_command): Likewise.
	* cli/cli-cmds.c (init_cmds): Call add_setshow_zuinteger_unlimited_cmd
	for command 'remotetimeout'.
	* command.h (enum var_types): New zuinteger_unlimited.  Update comment
	to var_integer.
	* source.c (_initialize_source): Call add_setshow_zuinteger_unlimited_cmd
	for command 'set listsize'.

gdb/doc/
	* gdb.texinfo (List): Describe the meaning of 0 and -1 in
	'set listsize'.

gdb/testsuite/
	* gdb.base/list.exp (set_listsize): Don't set arg to "unlimited"
	when it is less than 0.
2012-09-17 08:42:14 +00:00
Jan Kratochvil
1ab3b62c9d gdb/
PR 14119
	* frame.c (skip_inlined_frames): Skip also TAILCALL_FRAME frames.
	(frame_pop): Drop also TAILCALL_FRAME frames.
	* infcmd.c (finish_command): Ignore also TAILCALL_FRAME frames.

gdb/testsuite/
	PR 14119
	* gdb.arch/amd64-tailcall-ret.S: New file.
	* gdb.arch/amd64-tailcall-ret.c: New file.
	* gdb.arch/amd64-tailcall-ret.exp: New file.
	* gdb.reverse/amd64-tailcall-reverse.S: New file.
	* gdb.reverse/amd64-tailcall-reverse.c: New file.
	* gdb.reverse/amd64-tailcall-reverse.exp: New file.
2012-09-17 07:15:48 +00:00
Jan Kratochvil
acf9414f48 gdb/
PR 14548
	* infrun.c (handle_inferior_event): Do not reverse-continue back to the
	function start if we are already at function start.  Both for
	reverse-next and for reverse-step into function without line number
	info.

gdb/testsuite/
	PR 14548
	* gdb.reverse/singlejmp-reverse-nodebug.S: New file.
	* gdb.reverse/singlejmp-reverse-nodebug.c: New file.
	* gdb.reverse/singlejmp-reverse.S: New file.
	* gdb.reverse/singlejmp-reverse.c: New file.
	* gdb.reverse/singlejmp-reverse.exp: New file.
2012-09-17 07:09:35 +00:00
Jan Kratochvil
666b578baa gdb/testsuite/
Fix compatibility with old GCC (~4.1).
	* gdb.cp/converts.cc (my_enum_var): New variable.
2012-09-16 17:30:48 +00:00
Andrew Burgess
4205650181 http://sourceware.org/ml/gdb-patches/2012-09/msg00015.html
gdb/ChangeLog

        * c-typeprint.c (c_type_print_varspec_suffix): Display the size of
        vector variables using vector_size syntax rather than array
        syntax.

gdb/testsuite/ChangeLog

        * gdb.xml/tdesc-regs.exp: Update expected output for new
        vector_size syntax of vector types.
2012-09-14 21:23:45 +00:00
Yit Phang Khoo
b9516fa158 Refactor Python "gdb" module into a proper Python package, by introducing
a new "_gdb" module for code implemented in C, and using reload/__import__
instead of exec.

gdb/

	* python/lib/gdb/__init__.py: Import * from _gdb.
	(GdbOutputFile, sys.stdout, GdbOutputErrorFile, sys.stderr,
	prompt_hook, sys.argv): Moved from finish_python_initialization.
	(pretty_printers, PYTHONDIR): Moved from _initialize_python.
	(packages, auto_load_packages): New list and function replacing
	module_dict and auto-loading code, using __file__ instead of
	gdb.PYTHONDIR and reload/__import__ instead of exec.
	(GdbSetPythonDirectory): Replacing function of the same name
	from finish_python_initialization, using reload/__import__ instead
	of exec, as well as call auto_load_packages.
	* python/py-prettyprint.c (find_pretty_printer_from_gdb): Check
	gdb_python_module and not gdb_module.
	* python/python-internal.h (gdb_python_module): Declare.
	* python/python.c (gdb_python_module): New global.
	(before_prompt_hook): Check gdb_python_module and not gdb_module.
	(_initialize_python): Rename gdb module to _gdb.
	Move gdb.PYTHONDIR and gdb.pretty_printer to lib/gdb/__init__.py.
	(finish_python_initialization): Move Python code to
	lib/gdb/__init__.py; instead, set up sys.path and import gdb into
	__main__.

gdb/testsuite/

	* gdb.python/python.exp (Test stderr location): Update module
	location of GDB-specific sys.stderr.
	(Test stdout location): Ditto for sys.stdout.
2012-09-13 21:49:32 +00:00
Jan Kratochvil
18dc9ad804 gdb/testsuite/
* gdb.base/valgrind-infcall.exp: Remove comment about Ubuntu.
2012-09-13 05:32:09 +00:00
Keith Seitz
ea3a9873f8 * gdb.cp/converts.cc (main): Comment out the pointer to boolean
conversion statement.
2012-09-12 23:29:05 +00:00
Doug Evans
5941debbf2 * gdb.base/help.exp: Remove testing of individual command help text,
too much of a maintenance burden.  Instead, test the functionality
	of "help" itself.
2012-09-12 18:55:49 +00:00
Doug Evans
3a0ed5d779 * gdb.cp/mb-inline.exp: Do "info break" after setting multi-location
breakpoint.
2012-09-11 21:37:04 +00:00
Doug Evans
cfc35e0232 * gdb.dwarf2/fission-base.S: Include gdb.dwarf2/ in dwo_name.
* gdb.dwarf2/fission-reread.S: Ditto.
	* gdb.dwarf2/fission-base.exp: Remove setting of debug-file-directory.
	* gdb.dwarf2/fission-reread.exp: Ditto.
2012-09-11 16:42:09 +00:00