Commit Graph

4441 Commits

Author SHA1 Message Date
Doug Evans 1fa57852d6 * python/lib/gdb/printing.py (register_pretty_printer): New argument
`replace'.

	testsuite/
	* gdb.python/py-pp-maint.py: Add tests for `replace' arg.
2011-10-07 22:46:15 +00:00
Kevin Pouget 01b7169780 Add missing files to previous commit (Allow Python notification of new object-file loadings.) 2011-10-07 08:39:57 +00:00
Kevin Pouget bd054e06e3 Fix ChangeLog messup (Allow Python notification of new object-file loadings.) 2011-10-07 07:51:20 +00:00
Kevin Pouget 20c168b519 Allow Python notification of new object-file loadings.
* Makefile.in (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c.
	(SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o.
	Add build rule for this file.
	* python/py-event.h (emit_new_objfile_event): New prototype.
	(newobjfile): New Python event emitter.
	* python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to
	Python event registry.
	* python/py-inferior.c: Include objfiles.h
	(python_new_objfile): New function.
	(gdbpy_initialize_inferior): Add python_new_objfile to the new objfile
	observers.
	* python/py-newobjfileevent.c: New file.
	* python-internal.h (gdbpy_initialize_new_objfile_event): New
	prototype.
	* python/python.c (_initialize_python): Add
	gdbpy_initialize_new_objfile_event call.
	* NEWS: Add item for new Python event "gdb.newobjfile"

2011-10-06  Kevin Pouget  <kevin.pouget@st.com>

	Allow Python notification of new object-file loadings.
	* gdb.texinfo (Events In Python): Document `gdb.NewObjFileEvent'
	event type.

2011-10-06  Kevin Pouget  <kevin.pouget@st.com>

	Allow Python notification of new object-file loadings.
	* gdb.python/py-events.exp: Test newobjfile event.
	* gdb.python/py-events.py: Register newobjfile callback.
	* gdb.python/py-events.c: Add call to shared library
	* gdb.python/py-events-shlib.c: New file.
2011-10-07 07:38:30 +00:00
Joseph Myers 8031b6f821 * gdb.base/fixsection.exp: Do not include directories in filename
in expected message.
2011-10-07 00:24:38 +00:00
Pierre Muller 7fea69231b Add tests for passing of environment variables to inferior.
* gdb.base/testenv.c: New test source.
	* gdb.base/testenv.exp: New expect test.
2011-10-05 14:23:37 +00:00
Paul Koning 687f2a88e7 * gdb.python/py-value.c (main): Break before return. 2011-10-04 17:43:16 +00:00
Kevin Pouget cb6be26b8b 2011-10-04 Kevin Pouget <kevin.pouget@st.com>
PR python/12691: Add the inferior to Python exited event
       * python/py-exitedevent.c (create_exited_event_object): Add inferior
       to exited_event.
       * python/py-event.h (emit_exited_event): Likewise
       * python/-inferior.c (python_inferior_exit): Likewise

 2011-10-04  Kevin Pouget  <kevin.pouget@st.com>

       PR python/12691: Add the inferior to Python exited event
       * gdb.python/py-events.exp: Test the inferior attribute of exited
       event with a fork.
       * gdb.python/py-events.py: Print inferior number on exit.
       * gdb.python/py-events.c: Fork the inferior.

 2011-10-04  Kevin Pouget  <kevin.pouget@st.com>

       PR python/12691: Add the inferior to Python exited event
       * gdb.texinfo (Events In Python): Describe exited inferior attribute.
2011-10-04 08:04:13 +00:00
Edjunior Barbosa Machado fb21370048 * gdb.base/jit.exp: Add testcase name to log message 2011-10-03 20:13:57 +00:00
Paul Koning aa2071bd24 * gdb.python/py-value.exp
(python inval = gdb.parse_and_eval('*(int*)0'))
(python argc_lazy = gdb.parse_and_eval('argc'), sanity check argc)
(set argc=2, python print argc_lazy): New tests.
2011-10-03 16:15:26 +00:00
Joel Brobecker dd11a36cfe thread-specific breakpoints not saved properly by save-breakpoint
Initially, I noticed that the save command was often missing
new lines in the file that it generated.  For instance, consider:

        % gdb save-bp
        (gdb) b break_me
        (gdb) b save-bp.c:27
        (gdb) save breakpoints bps

The contents of the bps file would be:

        % cat bps
        break break_mebreak save-bp.c:27

Looking further into the problem, I realized that the missing newlines
are just a consequence of a missing call to print_recreate_thread.
After having generated the breakpoint location in the break command,
we cannot put a new line until we have looked at whether we need to
add a 'thread NUM' argument.

gdb/ChangeLog:

        * breakpoint.c (bkpt_print_recreate): Add call to
        print_recreate_thread.

gdb/testsuite/ChangeLog:

        * gdb.base/save-bp.exp, gdb.base/save-bp.c: New files.
2011-10-02 02:13:13 +00:00
Jan Kratochvil 46f886f1f5 gdb/testsuite/
* gdb.python/py-value.exp (test_value_in_inferior): New variable
	can_read_0, test for it.
	(python print gdb.parse_and_eval('*(int*)0')): Rename to ...
	(parse_and_eval with memory error): ... here, make it untested if
	can_read_0.
2011-10-01 11:02:11 +00:00
Marek Polacek c5cb204fbb gdb.python/python.exp: fix up race 2011-09-30 15:07:33 +00:00
Joseph Myers 68fb0ec00b * lib/gdb.exp (is_amd64_regs_target, is_x86_like_target): Allow
for 64-bit multilibs from i?86-* targets.
2011-09-29 15:17:50 +00:00
Marek Polacek 6aee0d90b5 lib/gdb.exp: Fix a typo 2011-09-29 14:36:47 +00:00
Marek Polacek e9101ff5a7 gdb.base/foll-fork.exp: fix up race 2011-09-29 14:13:00 +00:00
Paul Koning 7a81bdbf67 * gdb.python/py-type.c (enum E): New.
* gdb.python/py-type.exp (test_fields): Add tests for Python
mapping access to fields.
(test_enums): New test for field access on enums.
2011-09-28 20:06:01 +00:00
Stan Shebs 6710bf39b7 Add return address collection for tracepoints.
* tracepoint.c (encode_actions_1): Add case for $_ret.
	(validate_actionline): Check for $_ret.
	(trace_dump_actions): Ditto.
	* ax-gdb.h (gen_trace_for_return_address): Declare.
	* ax-gdb.c: Include arch-utils.h.
	(gen_trace_for_return_address): New function.
	(agent_command): Add return address special case.
	* amd64-tdep.c: Include ax.h and ax-gdb.h.
	(amd64_gen_return_address): New function.
	(amd64_init_abi): Call it.
	* i386-tdep.c: Include ax.h and ax-gdb.h.
	(i386_gen_return_address): New function.
	(i386_init_abi): Call it.
	* arch-utils.h (default_gen_return_address): Declare.
	* arch-utils.c (default_gen_return_address): New function.
	* gdbarch.sh (gen_return_address): New method.
	* gdbarch.h, gdbarch.c: Regenerate.

	* gdb.texinfo (Tracepoint Action Lists): Document $_ret.

	* gdb.trace/collection.exp: Test collection of $_ret.
2011-09-27 13:09:37 +00:00
Andreas Tobler b2a6bdebec 2011-09-22 Andreas Tobler <andreast@fgznet.ch>
* lib/gdb.exp (gdb_compile): Set rpath and remove -ldl from the
	list of compilation switches for <*-*-freebsd*>.
2011-09-22 04:58:22 +00:00
Stan Shebs 3c9057f381 * gdb.trace/tspeed.exp: New file.
* gdb.trace/tspeed.c: New file.
2011-09-19 16:55:26 +00:00
Yao Qi 3451853062 Support displaced stepping for Thumb 16-bit insns.
gdb/
	* arm-tdep.c (THUMB_NOP) Define.
	(thumb_copy_unmodified_16bit): New.
	(thumb_copy_b, thumb_copy_bx_blx_reg): New.
	(thumb_copy_alu_reg): New.
	(arm_copy_svc): Move some common code to ...
	(install_svc): ... here.  New.
	(thumb_copy_svc): New.
	(install_pc_relative): New.
	(thumb_copy_pc_relative_16bit): New.
	(thumb_decode_pc_relative_16bit): New.
	(thumb_copy_16bit_ldr_literal): New.
	(thumb_copy_cbnz_cbz): New.
	(cleanup_pop_pc_16bit_all): New.
	(thumb_copy_pop_pc_16bit): New.
	(thumb_process_displaced_16bit_insn): New.
	(thumb_process_displaced_32bit_insn): New.
	(thumb_process_displaced_insn): process thumb instruction.

	Support displaced stepping for Thumb 32-bit insns.
	gdb/
	* arm-tdep.c (thumb_copy_unmodified_32bit): New.
	(thumb2_copy_preload): New.
	(thumb2_copy_copro_load_store): New.
	(thumb2_copy_b_bl_blx): New.
	(thumb2_copy_alu_imm): New.
	(thumb2_copy_load_reg_imm): New.
	(thumb2_copy_load_literal): New
	(thumb2_copy_block_xfer): New.
	(thumb_32bit_copy_undef): New.
	(thumb_32bit_copy_unpred): New.
	(thumb2_decode_ext_reg_ld_st): New.
	(thumb2_decode_svc_copro): New.
	(decode_thumb_32bit_store_single_data_item): New.
	(thumb_copy_pc_relative_32bit): New.
	(thumb_decode_pc_relative_32bit): New.
	(decode_thumb_32bit_ld_mem_hints): New.
	(thumb2_copy_table_branch): New
	(thumb_process_displaced_32bit_insn): Process Thumb 32-bit
	instructions.

	gdb/testsuite/
	* gdb.arch/arm-disp-step.S (test_ldr_literal): Test for Thumb
	instructions.
	(test_adr_32bit, test_pop_pc): Likewise.
	(test_ldr_literal_16, test_cbz_cbnz, test_adr): New test for
	Thumb instructions.
	* gdb.arch/arm-disp-step.exp (test_ldm_stm_pc): Match $gdb_prompt
	in gdb_test_multiple.
	(test_ldr_literal_16, test_cbz_cbnz, test_adr): New.
2011-09-18 14:34:55 +00:00
Yao Qi ab254057b8 gdb/testsuite/
* lib/gdb.exp (can_single_step_to_signal_handler): New.
	* gdb.base/kill-after-signal.exp: Call it.  Skip if target doesn't
	support single step to signal handler.
2011-09-18 02:36:27 +00:00
Yao Qi 9c317b7184 gdb/testsuite/
* gdb.base/disp-step-fork.c: New.
	* gdb.base/disp-step-syscall.exp: New.
	* gdb.base/disp-step-vfork.c: New.
2011-09-17 13:34:01 +00:00
Joel Brobecker a812315168 [Ada] Re-implement `info tasks' command using ui-out
This is in preparation for providing a GDB/MI equivalent of
the `info tasks' command.  The previous implementation was using
various printf commands to generate the command output, which
does not work at all if we want to use that same code to generate
the result for that new GDB/MI command.

This patch thus re-implements the `info tasks' command (with no
arguments) in a way that makes it GDB/MI friendly.

There is an additional hicup, which is the fact that the `info tasks'
command displays a completely different type of output when a task
ID is given. For instance:

    (gdb) info task 2
    Ada Task: 0x644d20
    Name: my_callee
    Thread: 0
    LWP: 0x5809
    Parent: 1 (main_task)
    Base Priority: 48
    State: Blocked in accept or select with terminate

The above output is better when in CLI mode, but really not
what we want when in GDB/MI mode. In GDB/MI mode, we want to
follow what the `-thread-info' command does when a task-id
is given as an argument, which is to produce the same table,
but with only one element/task in it.

For compatibility as well as practical reasons, we do not want
to change the output of the `info task TASKNO' command when in
CLI mode.  But it's easy to preserve this behavior while providing
the desirable output when in GDB/MI mode.  For this, the function
used to generated the `info tasks' output has been enhanced to take
an argument interpreted as a string. The CLI command knows to never
provide that argument, while the GDB/MI command will pass one if
provided by the user.

gdb/ChangeLog:

        * ada-tasks.c (print_ada_task_info): New function, merging
        short_task_info and info_tasks together.  Reimplement using
        ui-out instead of printing to stdout directly.  Move the code
        building and checking the task list here, instead of leaving it
        in info_tasks_command.
        (info_task): Move the code building and checking the task
        list here, instead of leaving it in info_tasks_command.
        (info_tasks_command): Delete code building and checking
        the task list - moved elsewhere.  Update calls to info_tasks
        and info_task.

One of the minor changes the switch caused is the introduction
of a space between the "current" column, and the task "ID"
column, which wasn't there before.  This matches what we do
in the "info threads" command, so I kept that change.  This
required an adjustment in the testsuite, however...

gdb/testsuite/ChangeLog:

        * gdb.ada/tasks.exp: Make the expected output for
        the `info tasks' tests more resilient to spacing
        changes.
2011-09-16 19:09:57 +00:00
Jan Kratochvil 63a9aad80e gdb/testsuite/
* gdb.python/py-evthreads.exp (Run to breakpoint 1)
	(reached breakpoint 2, reached breakpoint 3): Update expected output.
2011-09-16 07:34:27 +00:00
Kevin Pouget 2aa483373c 2011-09-15 Kevin Pouget <kevin.pouget@st.com>
PR Python/12692 Add gdb.selected_inferior() to Python interface.
	* python/py-inferior.c (GdbMethods): New Python method definition.

doc:
	PR Python/12692 Add gdb.selected_inferior() to Python interface.
	* gdb.texinfo (Inferiors In Python): Describe new
	gdb.selected_inferior() function.

testsuite:
	PR Python/12692 Add gdb.selected_inferior() to Python interface.
	* gdb.python/py-inferior.exp: Add testcase for gdb.selected_inferior().
2011-09-15 12:42:30 +00:00
Kevin Pouget 6839b47f2b 2011-09-15 Kevin Pouget <kevin.pouget@st.com>
Handle multiple breakpoint hits in Python interface:
	* python/py-bpevent.c (create_breakpoint_event_object): Rename C/Python
	variable to breakpoints.
	* python/py-stopevent.c (emit_stop_event): Return a Python tuple of
	bps instead of single breakpoint. Fix some space typos.
	* python/py-stopevent.c (create_breakpoint_event_object): Rename
	variable to breakpoints.

testsuite:
	* gdb.python/py-events.exp: Set a duplicate breakpoint and check its
	presence.
	* gdb.python/py-events.py (breakpoint_stop_handler): Browse all the
	breakpoint hits.

doc:
	* gdb.texinfo (Events In Python): New function documentation:
	gdb.BreakpointEvent.breakpoints. Indicate that
	gdb.BreakpointEvent.breakpoint is now deprecated.
2011-09-15 12:27:20 +00:00
Jan Kratochvil 0935723e5e gdb/testsuite/
* gdb.python/py-events.exp: Remove pretty printing comment.
	* gdb.python/py-evsignal.exp: New file.
	* gdb.python/py-evthreads.c: Include signal.h.
	(thread3): Remove variable count3.  Remove variable bad and use raise
	instead.
	(thread2): Remove variable count2.  Move thread3 pthread_create here,
	merge pthread_join to a single line.
	(main): Remove variable count1.  Merge pthread_join with pthread_create
	to a single line.
	* gdb.python/py-evthreads.exp: Remove pretty printing comment.  New
	KFAIL python/12966 for gdbserver.  Test return value of
	gdb_compile_pthreads.  Use gdb_run_cmd.  Replace send_gdb and
	gdb_expect by gdb_test and gdb_test_multiple.
	(thread 2, thread 3): New tests.
2011-09-13 21:39:59 +00:00
Pedro Alves 4801a9a356 gdb/
2011-09-12  Pedro Alves  <pedro@codesourcery.com>
	    Matt Rice  <ratmice@gmail.com>

	PR gdb/13175

	* interps.c (struct interp) <interpreter_out>: Delete field.
	(interp_new): Remove the data and uiout parameters and adjust.
	(interp_set): Only set the current_uiout from the interpreter's
	uiout after initializing the interpreter.  Adjust call to
	init_proc.
	(interp_ui_out): Adjust to call procs->ui_out_proc.
	(interp_data, interp_name): New.
	* interps.h (interp_init_ftype): Add `self' parameter.
	(interp_ui_out_ftype): New typedef.
	(struct interp_procs) <ui_out_proc>: New method pointer.
	(interp_new): Remove the data and uiout parameters.
	(interp_data, interp_name): Declare.
	* tui/tui-interp.c (tui_init): Adjust prototype.
	(tui_ui_out): New.
	(_initialize_tui_interp): Install tui_ui_out.  Don't instanciate
	tui_out here.  Adjust call to interp_new.
	* tui/tui-io.c (tui_initialize_io): Don't set current_uiout here.
	* cli/cli-interp.c (cli_interpreter_init): Adjust prototype.
	(cli_ui_out): New.
	(_initialize_cli_interp): Install it.  Adjust call to interp_new.
	* mi/mi-common.h (struct mi_interp) <uiout>: New field.
	* mi/mi-interp.c (mi_interpreter_init): Adjust prototype.
	Initialize mi->uiout depending on the mi_version as extracted from
	the interpreter's name.
	(mi_ui_out): New.
	(_initialize_mi_interp): Install mi_ui_out.  Adjust calls to
	interp_new.  Don't allocate the ui_out's of the interpreters here.

gdb/testsuite/
2011-09-12  Matt Rice  <ratmice@gmail.com>
	    Pedro Alves  <pedro@codesourcery.com>

	PR gdb/13175

	* gdb.base/interp.exp: New tests.
	* gdb.base/interp.c: New file.
2011-09-12 21:25:22 +00:00
Doug Evans 24ece742a0 * gdb.dwarf2/clztest.exp: Fix initialization of tests array.
* gdb.dwarf2/typeddwarf.exp: Ditto.
2011-09-12 18:07:22 +00:00
Jan Kratochvil 7f06221767 gdb/testsuite/
Fix compatibility with x32 arch.
	* testsuite/gdb.dwarf2/typeddwarf.exp: Check also is_lp64_target.
	* testsuite/gdb.trace/backtrace.exp: Use is_amd64_regs_target and
	is_x86_like_target.
	* testsuite/gdb.trace/collection.exp: Likewise.
	* testsuite/gdb.trace/report.exp: Likewise.
	* testsuite/gdb.trace/unavailable.exp: Likewise.
	* testsuite/gdb.trace/while-dyn.exp: Likewise.
	* testsuite/lib/gdb.exp (is_amd64_regs_target): New function.
	(is_x86_like_target): Check also is_amd64_regs_target.
2011-09-08 17:40:54 +00:00
Jan Kratochvil 08711b9a36 gdb/
PR breakpoints/12435
	* amd64-tdep.c (amd64_skip_prologue): New variables start_pc_sal,
	next_sal, buf, offset and xmmreg.  Advance PC if it sees the PR.
	* dwarf2read.c (process_full_comp_unit): Initialize
	amd64_prologue_line_bug.
	* symtab.h (struct symtab): New field amd64_prologue_line_bug.

gdb/testsuite/
	PR breakpoints/12435
	* gdb.arch/amd64-prologue-xmm.c: New file.
	* gdb.arch/amd64-prologue-xmm.exp: New file.
	* gdb.arch/amd64-prologue-xmm.s: New file.
2011-09-08 15:38:16 +00:00
Jan Kratochvil b99b5f66e1 gdb/
* stack.c (print_frame_args): New variable except.  Wrap
	read_var_value and common_val_print into TRY_CATCH.

gdb/testsuite/
	* gdb.dwarf2/dw2-param-error-main.c: New file.
	* gdb.dwarf2/dw2-param-error.S: New file.
	* gdb.dwarf2/dw2-param-error.exp: New file.
2011-09-08 15:24:25 +00:00
Pedro Alves a391a2f6df 2011-09-08 Pedro Alves <pedro@codesourcery.com>
* gdb.base/annota1.exp, gdb.base/annota3.exp: Extract the
	inferior's pid and look for a core dump named core.$pid.  Use
	`remote_file' commands on the host instead of hand coding shell
	commands on the build.
	* gdb.base/valgrind-db-attach.exp: Kill the program before
	finishing the test.
2011-09-08 14:56:34 +00:00
matt rice 7d8e6458d5 PR gdb/10720
* event-top.c (cli_command_loop): Replace readline setup with
direct call to display_gdb_prompt.
(display_gdb_prompt): Do not call observer mechanism during
synchronous execution.

testsuite:
* lib/prompt.exp: New file for testing the first prompt.
* gdb.python/py-prompt.exp: Ditto.
* gdb.python/py-prompt.c: Ditto (copy of ext-attach.c).
2011-09-02 21:16:54 +00:00
Pedro Alves 68e77c9e30 2011-09-02 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
	* gdb.threads/gcore-thread.exp: Set the global core_supported to
	0, before testing gcore.
2011-09-02 19:21:02 +00:00
Jan Kratochvil df6dc84da9 gdb/testsuite/
* dw2-ifort-parameter-debug.S: Update copyright year.
	* dw2-ifort-parameter.c: Update copyright year.
	* dw2-ifort-parameter.exp: Update copyright year.

	* dw2-ifort-parameter-debug.S: New file.
	* dw2-ifort-parameter.c: New file.
	* dw2-ifort-parameter.exp: New file.
2011-09-01 07:19:40 +00:00
Jan Kratochvil 9655e94382 gdb/
Revert:
	2010-05-21  Pierre Muller  <muller@ics.u-strasbg.fr>
	* dwarf2read.c (new_symbol): Handle DW_AT_variable_parameter
	attribute.

gdb/testsuite/
	* dw2-ifort-parameter-debug.S: New file.
	* dw2-ifort-parameter.c: New file.
	* dw2-ifort-parameter.exp: New file.
2011-09-01 07:17:46 +00:00
Jan Kratochvil 353d1d731a gdb/
* breakpoint.c (bpstat_do_actions): New variable cleanup_if_error, call
	make_bpstat_clear_actions_cleanup and discard_cleanups for it.
	* defs.h (make_bpstat_clear_actions_cleanup): New declaration.
	* exceptions.c (throw_exception): Remove the bpstat_clear_actions call.
	* inf-loop.c (inferior_event_handler): New variable cleanup_if_error,
	call make_bpstat_clear_actions_cleanup and discard_cleanups for it.
	Call bpstat_clear_actions for failed fetch_inferior_event_wrapper.
	* infrun.c (fetch_inferior_event): Call
	make_bpstat_clear_actions_cleanup.
	* top.c (execute_command): New variable cleanup_if_error, call
	make_bpstat_clear_actions_cleanup and discard_cleanups for it.
	* utils.c (do_bpstat_clear_actions_cleanup)
	(make_bpstat_clear_actions_cleanup): New functions.

gdb/testsuite/
	* gdb.base/commands.exp (error_clears_commands_left): New function.
	(): Call it.
2011-08-26 21:45:24 +00:00
Jan Kratochvil 5c07461a74 gdb/testsuite/
* gdb.mi/mi-inheritance-syntax-error.cc (A): Make `a' public.
	(C): Initialize `a'.
	* gdb.mi/mi-inheritance-syntax-error.exp
	(-data-evaluate-expression $path):  Expect `a' as 5.
2011-08-26 21:11:08 +00:00
Marc Khouzam 0d932b2f8e 2011-08-26 Marc Khouzam <marc.khouzam@ericsson.com>
PR mi/11912
	* varobj.c (cplus_describe_child): Add the keyword
	'class' to the output of the method when dealing
	with a cast to a base class.

2011-08-26  Marc Khouzam  <marc.khouzam@ericsson.com>

	PR mi/11912
	* gdb.mi/mi-inheritance-syntax-error.cc: New file.
	* gdb.mi/mi-inheritance-syntax-error.exp: New file.
	* gdb.mi/mi-var-cp.cc: Updated for new 'class'
	keyword in output of -var-info-path-expression.
2011-08-26 12:32:59 +00:00
Jan Kratochvil bdb5404946 gdb/testsuite/
* gdb.trace/backtrace.exp: Use is_lp64_target to check 64bit target.
	* gdb.trace/collection.exp: Likewise.
	* gdb.trace/report.exp: Likewise.
	* gdb.trace/unavailable.exp: Likewise.
	* gdb.trace/while-dyn.exp: Likewise.
2011-08-26 09:20:44 +00:00
Keith Seitz 59cde39c1e * gdb.cp/meth-typedefs.cc: New file.
* gdb.cp/meth-typedefs.exp: New file.
2011-08-18 16:19:01 +00:00
Phil Muldoon fa3a4f150f 2011-08-17 Phil Muldoon <pmuldoon@redhat.com>
Tom Tromey  <tromey@redhat.com>
            Matt Rice <ratmice@gmail.com>

        * python/lib/gdb/prompt.py: New file.
        * python/lib/gdb/command/prompt.py: New file.
        * NEWS: Document set extended-prompt and gdb.prompt library

2011-08-17  Phil Muldoon  <pmuldoon@redhat.com>

        * gdb.texinfo (Prompt): Add set/show extended-prompt
        documentation
        (Basic Python): Add prompt_hook anchor.
        (Python modules): Reword module text to reflect multiple modules.
        (gdb.prompt): Document gdb.prompt module.

2011-08-17  Phil Muldoon  <pmuldoon@redhat.com>

        * gdb.python/python.exp: Add extended-prompt tests.
2011-08-17 10:41:22 +00:00
Jan Kratochvil c1049fca4e gdb/testsuite/
* gdb.arch/i386-dr3-watch.exp
	(watchpoint on gap1 does not fit debug registers)
	(delete all watchpoints): Fix racy expect strings.
2011-08-15 07:56:20 +00:00
Yao Qi d93f7b5c95 gdb/testsuite/
* gdb.base/maint.exp: set data_section to ".neardata".
	* gdb.base/savedregs.c (thrower): Trigger SIGILL on NO-MMU machine.
	* gdb.base/savedregs.exp: Handle SIGILL.
	* gdb.mi/mi-syn-frame.c (bar): Trigger SIGILL on NO-MMU machine.
	* gdb.xml/tdesc-regs.exp: Set core-regs for tic6x-*-*.
2011-08-14 15:58:40 +00:00
Doug Evans 457e09f060 * NEWS: Mention new "type" attribute of python gdb.Symbol objects.
* python/py-symbol.c (sympy_get_type): New function.
	(symbol_object_getset): Add "type".

	doc/
	* gdb.texinfo (Symbols In Python): Document symbol.type.

	testsuite/
	* gdb.python/py-symbol.exp: Add test for symbol.type.
2011-08-12 22:21:57 +00:00
Ulrich Weigand 5d0bb2fbbc * gdb.threads/pthreads.exp: Enable on non-native configurations.
* gdb.mi/mi-pthreads.exp: Likewise.
	* gdb.mi/mi2-pthreads.exp: Likewise.
	* gdb.mi/gdb669.exp.exp: Likewise.
2011-08-12 15:54:35 +00:00
Pedro Alves fcdfa2809a 2011-08-09 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
	* lib/mi-support.exp (detect_async): Rename to...
	(mi_detect_async): ... this.
	* gdb.mi/mi-nonstop-exit.exp: Adjust.
	* gdb.mi/mi-nonstop.exp: Adjust.
	* gdb.mi/mi-ns-stale-regcache.exp: Adjust.
	* gdb.mi/mi-nsintrall.exp: Adjust.
	* gdb.mi/mi-nsmoribund.exp: Adjust.
	* gdb.mi/mi-nsthrexec.exp: Adjust.
2011-08-09 17:45:19 +00:00
Pedro Alves 9d8fa39233 2011-08-09 Pedro Alves <pedro@codesourcery.com>
gdb/
	* printcmd.c (current_display_number): Update comment.
	(disable_current_display_cleanup): Delete.
	(do_one_display): Use make_cleanup_restore_integer.  Gracefully
	catch errors thrown while evaluating and printing the display.

	gdb/testsuite/
	* gdb.base/display.c (do_loops): New `p_i' local.
	* gdb.base/display.exp: Test displaying a variable that is
	temporarily at a bad address.
2011-08-09 16:21:18 +00:00
Jan Kratochvil b6cede7829 gdb/
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_STACK>
	(dwarf2_evaluate_loc_desc_full) <DWARF_VALUE_LITERAL>: New variable
	objfile_gdbarch.  Fix BFD_ENDIAN_BIG case.

gdb/testsuite/
	* gdb.dwarf2/dw2-op-stack-value.S: New file.
	* gdb.dwarf2/dw2-op-stack-value.exp: New file.
2011-08-08 21:41:14 +00:00
Jan Kratochvil 3c542bc312 gdb/testsuite/
* gdb.dwarf2/dw2-case-insensitive.exp (regexp case-sensitive off)
	(p fuNC_symtab): Permit also ppc64 leading dot.
2011-08-08 19:50:53 +00:00
Jan Kratochvil 67bedb8cb1 gdb/testsuite/
* gdb.dwarf2/dw2-simple-locdesc.S: Replace .value by .2byte.
2011-08-08 19:16:39 +00:00
Pedro Alves af6e93b2d1 gdb/
* exceptions.c (throw_exception): Don't disable the current
	display.
	* printcmd.c (disable_current_display_cleanup): New function.
	(do_one_display): Install a cleanup to disable the current display
	if doing the display throws.

	gdb/testsuite/
	* gdb.trace/unavailable.exp (test_maybe_regvar_display): New
	procedure.
	(gdb_collect_args_test, gdb_collect_locals_test): Use it.
2011-08-05 15:17:59 +00:00
Yao Qi 1cf0e11f28 gdb/testsuite/
* gdb.base/callfuncs.exp: Set language after main.
        * gdb.cp/cplusfuncs.exp: Likewise.
        * gdb.cp/inherit.exp: Likewise.
2011-08-05 09:41:27 +00:00
Ulrich Weigand a1e28cb2af * gdb.base/nostdlib.exp: Skip on gdb_stub targets.
* gdb.base/watch-vfork.exp: Skip on remote targets.
2011-08-04 15:00:50 +00:00
Ulrich Weigand d4f5bbb99f * gdb.threads/thread-find.exp: Support remote targets. 2011-08-04 12:49:33 +00:00
Ulrich Weigand 724f4f803f * gdb.base/jit.exp: Download solib_binfile to target.
* gdb.base/jit-so.exp:  Likewise.  Also, use gdb_load_shlibs
	and call dlopen without full path name.
	* gdb.cp/infcall-dlopen.exp: Use gdb_load_shlibs and call
	dlopen without full path name.
2011-08-04 11:56:29 +00:00
Philippe Waroquiers 934709f0f2 2011-08-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* breakpoint.c (update_global_location_list): Ensure
	invariant 'first loc marked not duplicated and inserted,
	following locs marked duplicated/not inserted' is respected
	for multiple locations at the same address.
	(unduplicated_should_be_inserted) New function.
	(swap_insertion) New function.

2011-08-03  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

	* gdb.base/break-always.exp: Complete the test
	with duplicated breakpoints and enabling/disabling them.
2011-08-03 21:17:09 +00:00
Tom Tromey c26106c40a PR gdb/11289:
* gdb.cp/overload.exp: Fix regexps.  Remove kfails.
2011-08-02 20:59:44 +00:00
Paul Pluzhnikov 9300444e01 fix date of last checkin 2011-08-01 16:03:06 +00:00
Paul Pluzhnikov fbe12357d4 2011-08-01 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/13045
	* doublest.c (convert_doublest_to_floatformat): Pass correct
	mantissa length to put_field.

testsuite/ChangeLog:

2011-07-30  Paul Pluzhnikov  <ppluzhnikov@google.com>

	PR gdb/13045
	* gdb.base/float.exp: Add new test case for PR gdb/13045
	* gdb.base/float.c: New file.
2011-08-01 16:02:03 +00:00
Phil Muldoon 00bd41d6bc 2011-07-28 Phil Muldoon <pmuldoon@redhat.com>
* varobj.c (value_get_print_value): Move hint check later into the
	function.  Comment function.  Free thevalue before reusing it.

2011-07-28  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.python/py-mi.exp: Test printers returning string hint, and
	also not returning a value.
	* gdb.python/py-prettyprint.c: Add testcase for above.
	* gdb.python/py-prettyprint.py: Add test printer for above.
2011-07-28 10:36:40 +00:00
Jan Kratochvil d24f74ce45 gdb/testsuite/
* gdb.dwarf2/dw2-simple-locdesc.S: Change DWARF version to 3.
	(.Ldie26, .Ldie41, .Ldie4a, .Ldie54, .Ldie5b): Remove.
	(.Ldie30) Add as field "data4".
	(.Ldie32) Rename field "b" to "shl".
	(abbrev4) Change for the "data4" field.
	(abbrev5, abbrev6) Remove.
	* gdb.dwarf2/dw2-simple-locdesc.exp (p &s.b): Rename to ...
	(p &s.shl): ... here.  Add comment.
	(p &s.data4): New.
2011-07-27 21:18:40 +00:00
Jan Kratochvil bb7da2bfb5 gdb/
Fix crash on lval_computed values.
	* valops.c (value_zero): Use not_lval for lval_computed.

gdb/testsuite/
	Fix crash on lval_computed values.
	* gdb.dwarf2/implptr.exp (print sizeof (j[0])): New test.
2011-07-27 19:25:56 +00:00
Jan Kratochvil 11081198f1 gdb/
* typeprint.c (_initialize_typeprint): Extend the help of "whatis" and
	"ptype" by their typedefs difference.

gdb/testsuite/
	* gdb.base/help.exp (help whatis): Update the expected string.
2011-07-27 17:41:21 +00:00
Jan Kratochvil 3c6e0cb359 gdb/
* dwarf2expr.c (ctx_no_read_reg): New function.
	* dwarf2expr.h (ctx_no_read_reg): New declaration.
	* dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
	(decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
	(decode_locdesc): Replace by a caller of dwarf_expr_eval.

gdb/testsuite/
	* gdb.dwarf2/dw2-simple-locdesc.S: New file.
	* gdb.dwarf2/dw2-simple-locdesc.exp: New file.
	* gdb.dwarf2/dw2-stack-boundary.exp (check partial symtab errors):
	Change the expected string.
2011-07-27 17:08:06 +00:00
Pedro Alves efa80663c6 2011-07-26 Pedro Alves <pedro@codesourcery.com>
gdb/
	* breakpoint.c (works_in_software_mode_watchpoint): Also return
	true for software watchpoints.

	gdb/testsuite/
	* gdb.base/watchpoint.exp
	(test_disable_enable_software_watchpoint): New procedure.
	(top level): Run it.
2011-07-26 19:39:59 +00:00
Ulrich Weigand db8e457004 * gdb.python/py-mi.exp: Avoid '+' in filenames. Call C version of
executable file "${binfile}", C++ version "${binfile}-cxx".
	* gdb.python/py-prettyprint.exp: Likewise.
	* gdb.python/py-symbol.exp: Likewise.
	* gdb.python/py-type.exp: Likewise.
	* gdb.python/py-value.exp: Likewise.
	* gdb.python/py-template.exp (test_template_arg): Pass full executable
	file name instead of just suffix.
2011-07-26 18:38:55 +00:00
Jan Kratochvil 543305c9cd gdb/
Fix implicit pointer offsets.
	* dwarf2loc.c (indirect_pieced_value): Comment byte_offset.  Use also
	ptr.OFFSET.

gdb/testsuite/
	Fix implicit pointer offsets.
	* gdb.dwarf2/implptr.c (add): New marker baz breakpoint.
	* gdb.dwarf2/implptr.exp (set baz breakpoint for implptr)
	(continue to breakpoint: continue to baz breakpoint for implptr)
	(sanity check element 0, sanity check element 1)
	(enter the inlined function, check element 0 for the offset)
	(check element 1 for the offset)
	(continue to breakpoint: ignore the second baz breakpoint): New tests.
	(set foo breakpoint for implptr): Update the breakpoint number.
2011-07-25 16:04:53 +00:00
Ulrich Weigand b3215adc06 * gdb.python/py-mi.exp: Use different file names for different
versions of the executable under test.
	* gdb.python/py-prettyprint.exp: Likewise.
	* gdb.python/py-symbol.exp: Likewise.
	* gdb.python/py-template.exp: Likewise.
	* gdb.python/py-type.exp: Likewise.
	* gdb.python/py-value.exp: Likewise.
2011-07-22 18:01:43 +00:00
Ulrich Weigand 182b9acc4b * gdb.python/py-breakpoint.exp: Re-set can-use-hw-watchpoints
flag after restarting GDB if necessary.
2011-07-22 17:46:18 +00:00
Ulrich Weigand e6052b5dd3 * gdb.python/py-shared.exp: Call gdb_load_shlibs. 2011-07-22 17:45:16 +00:00
Pedro Alves 1ced966e34 2011-07-22 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
	* gdb.arch/i386-dr3-watch.exp: Test that the i386 watchpoints
	backend doesn't leave used debug registers behind.

	gdb/gdbserver/
	* i386-low.c (i386_insert_aligned_watchpoint): Don't pass the info
	to the inferior here.
	(i386_remove_aligned_watchpoint): Ditto.
	(i386_handle_nonaligned_watchpoint): Return immediate on fail to
	fit part of the watchpoint in the debug registers.
	(i386_update_inferior_debug_regs): New.
	(i386_low_insert_watchpoint): Work on a local mirror of the debug
	registers, and only update the inferior on success.
	(i386_low_remove_watchpoint): Ditto.

	gdb/
	* i386-nat.c (I386_DR_VACANT, I386_DR_LOCAL_ENABLE)
	(I386_DR_GLOBAL_ENABLE, I386_DR_DISABLE, I386_DR_SET_RW_LEN)
	(I386_DR_GET_RW_LEN, I386_DR_WATCH_HIT): Add state parameter and
	adjust.
	(dr_mirror, dr_status_mirror, dr_control_mirror): Delete.
	(struct i386_debug_reg_state): New.
	(i386_init_dregs): New.
	(dr_mirror): New.
	(i386_cleanup_dregs): Use i386_init_dregs.
	(i386_show_dr): Add state parameter and adjust.
	(i386_insert_aligned_watchpoint): Ditto.  Don't pass the info to
	the inferior here.
	(i386_remove_aligned_watchpoint): Likewise.
	(i386_handle_nonaligned_watchpoint): Add state parameter and adjust.
	(i386_update_inferior_debug_regs): New.
	(i386_insert_watchpoint): Work on a local mirror of the debug
	registers, and only update the inferior on success.
	(i386_remove_watchpoint): Ditto.
	(i386_region_ok_for_watchpoint): Adjust.
	(i386_stopped_data_address): Adjust.
	(i386_insert_hw_breakpoint): Adjust.
	(i386_remove_hw_breakpoint): Adjust.
2011-07-22 16:58:32 +00:00
Tom Tromey 3543a589b2 gdb
* amd64-tdep.c (amd64_pseudo_register_read_value): Rename
	from amd64_pseudo_register_read.  Change arguments.  Call
	mark_value_bytes_unavailable when needed.
	(amd64_init_abi): Use set_gdbarch_pseudo_register_read_value, not
	set_gdbarch_pseudo_register_read.
	* sentinel-frame.c (sentinel_frame_prev_register): Use
	regcache_cooked_read_value.
	* regcache.h (regcache_cooked_read_value): Declare.
	* regcache.c (regcache_cooked_read_value): New function.
	(regcache_cooked_read): Call
	gdbarch_pseudo_register_read_value if available.
	* i386-tdep.h (i386_pseudo_register_read_value): Declare.
	(i386_pseudo_register_read): Remove.
	* i386-tdep.c (i386_pseudo_register_read_into_value): Rename from
	i386_pseudo_register_read.  Change arguments.  Call
	mark_value_bytes_unavailable when needed.
	(i386_pseudo_register_read_value): New function.
	(i386_gdbarch_init): Call set_gdbarch_pseudo_register_read_value,
	not set_gdbarch_pseudo_register_read.
	* gdbarch.sh (pseudo_register_read_value): New method.
	* gdbarch.c, gdbarch.h: Rebuild.
	* findvar.c (value_from_register): Call get_frame_register_value.
gdb/testsuite
	* gdb.dwarf2/typeddwarf.c: XFAIL 'z' on x86-64.
	* gdb.dwarf2/typeddwarf.exp (xfail-gdb-test): Add arch_pattern
	argument.
	* gdb.dwarf2/typeddwarf-amd64.S: New file.
2011-07-22 15:31:52 +00:00
matt rice 14d1530353 * gdb.threads/Makefile.in: Avoid globbing corethreads.exp
in mostlyclean rule.  Add files ending in .core.
2011-07-22 01:05:24 +00:00
matt rice 9b158ba08e PR macros/12999
* macrotab.h (macro_callback_fn): Add new arguments to callback.
* macrotab.c (foreach_macro): Ditto.
(foreach_macro_in_scope): Ditto.
* macrocmd.c (print_macro_callback): New function.
(info_macro_command): Move some code to print_macro_definition.
(print_macro_definition): New function.
(print_one_macro): Add new arguments to callback.

testsuite/
* gdb.base/info-macros.c: New test sources.
* gdb.base/info-macros.exp: New tests.

docs/
* gdb.texinfo (Macros): Add info definitions and info macros commands.
Update text and cindex entries for info macro command.
2011-07-21 15:13:30 +00:00
Phil Muldoon d17b6f8101 2011-07-21 Phil Muldoon <pmuldoon@redhat.com>
Tom Tromey  <tromey@redhat.com>

	* top.c (set_prompt): Rewrite to free previous prompt, free
	asynch_new_prompt and set both on new prompts.
	* event-top.c (display_gdb_prompt): Add prompt substitution
	logic.
	* python/python.c (before_prompt_hook): New function.

2011-07-21  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.python/python.exp: Add prompt substitution tests.

2011-07-21  Phil Muldoon  <pmuldoon@redhat.com>

	* observer.texi (GDB Observers): Add before_prompt observer.
	* gdb.texinfo (Basic Python): Add documentation for prompt
	substitution.
2011-07-21 11:03:48 +00:00
Jan Kratochvil 918dd91059 gdb/
Fix crash if referenced CU is aged out.
	* dwarf2loc.c (per_cu_dwarf_call): New variable back_to, use to for
	xfree of block.data.
	(indirect_pieced_value): New variable back_to, use to for xfree of
	baton.data.
	(dwarf2_compile_expr_to_ax): New variable back_to, use to for xfree of
	block.data.
	* dwarf2read.c (dwarf2_find_base_address): New prototype.
	(load_cu): New function from ...
	(dw2_do_instantiate_symtab): ... the code here ...
	(process_full_comp_unit): ... and here.
	(dwarf2_fetch_die_location_block): Call load_cu first.  Call xmemdup on
	retval.data.

gdb/testsuite/
	Fix crash if referenced CU is aged out.
	* gdb.dwarf2/dw2-op-call.exp (maintenance set dwarf2 max-cache-age 0):
	New.
	* gdb.dwarf2/implptr.exp: Likewise.
2011-07-19 20:28:52 +00:00
Jan Kratochvil 0e37a63c3c gdb/
* dwarf2loc.c (indirect_pieced_value): Use check_typedef for VALUE's
	type.

gdb/testsuite/
	* gdb.dwarf2/implptr.S: Rebuilt.
	* gdb.dwarf2/implptr.c (intp, intpp, intppp): New typedefs.
	(bar): Use them for j, k, l.
	* gdb.dwarf2/implptr.exp: New variable opts.  Support runtest parameter
	COMPILE.
	(print j in implptr:bar): Update for the intp typedef.
	(print p[0].x in implptr:foo): Use more exact regex.
2011-07-19 20:25:14 +00:00
Tom Tromey f65cf84c3e * gdb.cp/static-method.exp: Add missing single quote. 2011-07-18 15:15:06 +00:00
Yao Qi d5b4a7be2c gdb/testsuite/
* gdb.base/async-shell.exp: Skip test if displaced stepping is not
	supported.
	* gdb.mi/mi-nonstop-exit.exp: Likewise.
	* gdb.mi/mi-nonstop.exp: Likewise.
	* gdb.mi/mi-ns-stale-regcache.exp: Likewise.
	* gdb.mi/mi-nsintrall.exp: Likewise.
	* gdb.mi/mi-nsmoribund.exp: Likewise.
	* gdb.mi/mi-nsthrexec.exp: Likewise.
	* gdb.python/py-evthreads.exp: Likewise.
2011-07-18 04:14:21 +00:00
Jan Kratochvil e9ea266294 gdb/testsuite/
Code cleanup.
	* gdb.cp/namespace.exp (xfail_class_types): New variable.  Initialize
	it.  Substitute it instead of test_compiler_info everywhere.
2011-07-15 18:46:10 +00:00
Ulrich Weigand ce4515734c * gdb.base/type-opaque.exp: Use gdb_load_shlibs. Run test on
remote targets as well.
2011-07-15 14:13:00 +00:00
Ulrich Weigand 756d88a7fe * lib/gdb.exp (gdb_compile_shlib_pthreads): New helper.
* gdb.threads/tls-shared.exp: Use it.  Call gdb_load_shlibs.
2011-07-15 14:11:22 +00:00
Ulrich Weigand 31f83dc55a * lib/gdb.exp (gdb_compile): Specify rpath if the *target* is
a remote machine, not the host.
	(gdb_compile_shlib): Set soname if target is remote.
2011-07-15 14:10:26 +00:00
Paul Pluzhnikov df46027df1 Cleanup: kill trailing whitespace 2011-07-14 16:41:56 +00:00
Paul Pluzhnikov 059241a073 2011-07-14 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.cp/minsym-fallback.exp: Link in C++ mode.
2011-07-14 16:33:21 +00:00
matt rice 28a0b48c48 * gdb.python/py-objfile-script-gdb.py: Renamed to
py-objfile-script-gdb.py.in.
* gdb.python/py-objfile-script-gdb.py.in: Renamed from
py-objfile-script-gdb.py.
* gdb.python/py-objfile-script.exp: Update reference to
py-objfile-script-gdb.py.
2011-07-13 17:00:56 +00:00
Jan Kratochvil 9a771b671f gdb/testsuite/
* gdb.dwarf2/dw2-op-call.S (array1): Use the real label; do not
	reference undefined label.
2011-07-13 15:18:13 +00:00
Jan Kratochvil 04ad99e60b gdb/
* dwarf2expr.c (read_sleb128): Fix signed extension overflowing host
	`int'.

gdb/testsuite/
	* gdb.dwarf2/dw2-const.S (Pointer size): Change from 4 to 8.
	(DW_AT_high_pc, DW_AT_low_pc): Remove them.
	(val8, .Ltype_const8, .Ltype_int8, DW_TAG_variable): New.
	* gdb.dwarf2/dw2-const.exp (print/x val8): New test.
2011-07-11 13:40:24 +00:00
Phil Muldoon 713389e024 2011-07-11 Phil Muldoon <pmuldoon@redhat.com>
PR python/12438
	* python/python.c: Set gdbpy_should_print_stack default to off.
	(set_python): Deprecate maint set python print-stack to
	class_deprecate.
	(_initialize_python): Deprecate maint set/show python print-stack.
	Add new prefix command, python.  Add new setting, print-backtrace.
	* NEWS: Document set python print-stack.  Document default change.

2011-07-11  Phil Muldoon  <pmuldoon@redhat.com>

        PR python/12438
	* gdb.texinfo (Python Commands): Add deprecate note to maint
          set/show python print-stack.  Document set/show python
          print-backtrace.

2011-07-11  Phil Muldoon  <pmuldoon@redhat.com>

        PR python/12438
	* gdb.python/python.exp: Add maint set/show python print-stack
          deprecated tests.  Add set/show python print-backtrace tests.
2011-07-11 13:07:38 +00:00
Jan Kratochvil 97d146f805 gdb/testsuite/
* gdb.java/jprint.exp (print a java.lang.String): xfail without system
	debug info.
2011-07-07 14:08:21 +00:00
matt rice facde0e593 gdb.python/python.exp: Update filename paths.
gdb.python/py-symtab.exp: Ditto.
2011-07-06 22:15:02 +00:00
Joel Brobecker 3b2a0cf216 Fix JIT clang-lli regression (unable to read JIT descriptor from memory)
2011-07-06  Paul Pluzhnikov  <ppluzhnikov@google.com>

        * jit.c (jit_inferior_init): Forward declare.
        (jit_breakpoint_re_set_internal): Call jit_inferior_init.

testsuite/ChangeLog:

2011-07-06  Paul Pluzhnikov  <ppluzhnikov@google.com>

        * gdb.base/jit-so.exp: New test.
        * gdb.base/jit-dlmain.c: New file.
        * gdb.base/jit-main.c: Allow "main" to be elsewhere.
2011-07-06 21:40:17 +00:00
Marek Polacek 438640d112 gdb.python/py-evthreads.exp: add missing $ 2011-07-06 19:52:21 +00:00
Mike Frysinger 33a365dfad gdb: testsuite: add Blackfin support
This fills out a few of the test places where needed for Blackfin targets.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-06 18:40:30 +00:00
Marek Polacek 8f7ae68682 Fix race in gdb.python/py-evthreads.exp 2011-07-06 15:00:15 +00:00
Tom Tromey eb2a6f420b gdb
* gnu-v3-abi.c (gnuv3_rtti_type): Check TYPE_CPLUS_REALLY_JAVA.
	* gdbtypes.h (struct cplus_struct_type) <is_java>: New field.
	(TYPE_CPLUS_REALLY_JAVA): New macro.
	* dwarf2read.c (process_structure_scope): Set
	TYPE_CPLUS_REALLY_JAVA.
gdb/testsuite
	* gdb.java/jprint.java (jprint.hi): New field.
	* gdb.java/jprint.exp: Print string.
2011-07-05 13:36:42 +00:00
Thiago Jung Bauermann 177b42fefa gdb/
* ada-lang.c: Fix typos.
	* amd64-tdep.c: Likewise.
	* breakpoint.c: Likewise.
	* cli/cli-decode.c: Likewise.
	* findcmd.c: Likewise.
	* inline-frame.c: Likewise.
	* mi/mi-main.c: Likewise.
	* minsyms.c: Likewise.
	* monitor.c: Likewise.
	* monitor.h: Likewise.
	* prologue-value.c: Likewise.
	* reverse.c: Likewise.
	* s390-tdep.c: Likewise.

gdb/testsuite/
	* gdb.base/call-sc.c: Likewise.
	* gdb.base/ifelse.exp: Likewise.
	* gdb.base/structs.c: Likewise.

gdb/doc/
	* gdb.texinfo: Likewise.
2011-07-05 04:35:00 +00:00
Jan Kratochvil e17476d75f gdb/testsuite/
* gdb.cp/m-static.exp: Call get_compiler_info.
	(static const int initialized nowhere): Call setup_xfail for gcc <= 4.4.
	* gdb.cp/pr9167.exp (p b): Likewise.
	* gdb.cp/temargs.exp: Do not set have_pr_45024_fixed for gcc 4.6.
	(test value of P in inner_m, test type of Z in inner_m): Call
	setup_xfail for gcc <= 4.5.
2011-07-02 15:13:13 +00:00
Jan Kratochvil 46fc714c1b gdb/testsuite/
* gdb.cp/m-static.exp: Call get_compiler_info.
	(static const int initialized nowhere): Call setup_xfail for gcc<=4.4.
2011-07-02 12:08:44 +00:00
Jan Kratochvil 418c7cf761 gdb/
* linespec.c (find_method): Accept the function type automatically only
	if it was specified with parameter types.

gdb/testsuite/
	* gdb.cp/paren-type.cc: New files.
	* gdb.cp/paren-type.exp: New files.
2011-07-01 20:27:59 +00:00
Jan Kratochvil 3d50dd94cb gdb/
Stop on first linespec terminator instead of eating what we can.
	* linespec.c (is_linespec_boundary): New function.
	(name_end): Remove function.
	(keep_name_info): New parameter on_boundary, replace the body.
	(decode_line_1): Provide the parameter to keep_name_info.
	(decode_compound): Likewise.  Drop the trailing java return type
	handling.  Twice.

gdb/testsuite/
	Stop on first linespec terminator instead of eating what we can.
	* gdb.cp/minsym-fallback-main.cc (main): Call also C::operator ().
	* gdb.cp/minsym-fallback.cc (C::operator ()): Define.
	* gdb.cp/minsym-fallback.exp (break 'C::f()'): Change to ...
	(break C::f()): ... this one.
	(break C::operator()()): New test.
	* gdb.cp/minsym-fallback.h (C::operator ()): Declare.
	* gdb.java/jmisc.exp (break jmisc.main(java.lang.String[])int): New
	test.
2011-07-01 20:19:04 +00:00
Jan Kratochvil dcf9f4ab7f gdb/
Fall back linespec to minimal symbols.
	* linespec.c (decode_line_1): New variable ex, saved_argptr.  Protect
	decode_compound by TRY_CATCH, fall back on minsyms if it failed.
	(find_method, symbol_found): Change error to cplusplus_error.

gdb/testsuite/
	Fall back linespec to minimal symbols.
	* gdb.base/psymtab.exp (Don't search past end of psymtab.): Update the
	error message.
	* gdb.cp/cplusfuncs.exp (list foo::operator int*): Likewise.
	* gdb.cp/minsym-fallback-main.cc: New file.
	* gdb.cp/minsym-fallback.cc: New file.
	* gdb.cp/minsym-fallback.exp: New file.
	* gdb.cp/minsym-fallback.h: New file.
2011-07-01 20:16:39 +00:00
Jan Kratochvil 3f542ed1a3 gdb/
* symtab.c (symbol_find_demangled_name): Likewise.

gdb/testsuite/
	* gdb.cp/no-dmgl-verbose.cc: New file.
	* gdb.cp/no-dmgl-verbose.exp: New file.
2011-07-01 19:18:36 +00:00
Jan Kratochvil 900e11f9ec gdb/
* dwarf2read.c (check_physname): New variable.
	(dwarf2_physname): Prefer DW_AT_linkage_name over dwarf2_compute_name.
	(show_check_physname): New function.
	(_initialize_dwarf2_read): Add `check-physname' for check_physname.

gdb/doc/
	* gdb.texinfo (Debugging Output): Document set debug
	check-physname.

gdb/testsuite/
	* gdb.base/break-interp.exp (reach_1, test_ld): Allow also the prefix
	__GI_.
	* gdb.cp/psymtab-parameter.cc (func): Make it a template function.
	(f): New function.
	* gdb.cp/psymtab-parameter.exp (complete break 'func(): Rename to ...
	(complete p 'func<short>(): ... here.
	* gdb.dwarf2/dw2-linkage-name-trust-main.cc: New file.
	* gdb.dwarf2/dw2-linkage-name-trust.S: New file.
	* gdb.dwarf2/dw2-linkage-name-trust.exp: New file.
	* gdb.cp/temargs.exp (test type of F in k3_m, test value of F in k3_m):
	Make them KFAIL gcc/49546.
2011-07-01 19:12:12 +00:00
Joel Brobecker 00eb2c4ae8 bettter display for temporary Ada exception catchpoints
Temporary catchpoints on Ada exceptions are now displayed as "Temporary
catchpoint" as opposed to just "Catchpoint".  This is cosmetic only, but
in line with what's done for other catchpoints as well as breakpoints.

gdb/ChangeLog:

        * ada-lang.c (print_it_exception): Print temporary catchpoints
        as "Temporary catchpoint".
        (print_mention_exception): Likewise.

gdb/testsuite/ChangeLog:

        * gdb.ada/catch_ex.exp: Add temporary catchpoint tests.
2011-07-01 18:35:36 +00:00
Jan Kratochvil 85a20c42ea gdb/testsuite/
Test GCC PR debug/49546.
	* gdb.cp/temargs.exp (set sixth breakpoint for temargs)
	(test type of F in k3_m, test value of F in k3_m): New.
	* gdb.cp/temargs.cc (struct S3, struct K3): New.
	(main): New variable k3.  Call k3.k3_m.
2011-07-01 18:32:06 +00:00
Joel Brobecker d2d43431e8 Fix printing address of packed array
When trying to print the address of a non-packed array, GDB
correctly prints the type name and address:

    (gdb) print &var
    $2 = (access pa.var) 0xbffff1d8

However, it is behaving differently when dealing with a packed
array:

    (gdb) p &var
    (access array (4 .. 8) of boolean <packed: 1-bit elements>) (4 =>
    false, false, false, true, false)

The type description isn't all that bad, but GDB shouldn't be
printing the array value!

This patch fixes the `print` and `ptype` command on packed and
non-packed array.  It also fixes a gdb.ada test to match with
the new ouput.

gdb/ChangeLog (Jean-Charles Delay):

        * ada-typeprint.c (ada_print_type): Fix both PAD type and
        pointer to constrained packed array type output.
        * ada-valprint.c (ada_val_print_1): Fix pointer to constrained
        packed array output.

gdb/testsuite/ChangeLog (Jean-Charles Delay):

        * gdb.ada/packed_array.exp: Fix expected outout.
2011-07-01 18:27:25 +00:00
Joel Brobecker 54ae186fb5 Fix ada array bounds display
Array bounds were not correctly displayed when the SHOW parameter of
print_type functions is set to -1.  This shows up in the following
type of situation, where we have a declaration as follow:

    Anon_Array_Int_Obj : array (1..10) of Integer := (others => 8);

In GDB/MI mode, trying to print the type info for our array object
yields:

    (gdb) -var-create ai 0 Anon_Array_Int_Obj
    (gdb) -var-info-type ai
    ^done,type="array (...) of integer"

The actual bounds are missing.  Contrast this with what happens
when in GDB/CLI mode:

    (gdb) ptype Anon_Array_Int_Obj
    type = array (1 .. 10) of integer

This patch fixes array type printing accordingly. And as it turns
out, it also improves the output for one of the tests already present,
so it shows that it's not just the GDB/MI mode that's affected.

gdb/ChangeLog (Jean-Charles Delay):

	* ada-typeprint.c (print_array_type): removed if condition on show
	being negative for bounds printing.

gdb/testsuite/ChangeLog (Jean-Charles Delay):

	* gdb.ada/packed_array.exp: fixed expected output.
2011-07-01 18:27:12 +00:00
Joel Brobecker 8f17729f21 treat identical enum types as the same type
This is to avoid an unnecessary multiple-choice menu for an
expression involving an enumeral declared in two types, when
the second type is an identical copy of the first type. This
happens in the following situation:

       type Color is (Black, Red, Green, Blue, White);
       type RGB_Color is new Color range Red .. Blue;

In that case, an implict type is created, and is used as the base
type for type RGB_Color.  This base type is a copy of type Color.
We've added some extensive comments explaining the situation and
our approach further.

gdb/ChangeLog:

        * ada-lang.c (ada_identical_enum_types_p): New function.
        (symbols_are_identical_enums): New function.
        (remove_extra_symbols): Do nothing if NSYMS < 2.
        Use symbols_are_identical_enums.

gdb/testsuite/ChangeLog:

        * gdb.ada/same_enum: New testcase.
2011-07-01 18:26:50 +00:00
Joel Brobecker f5aa6869de missing type description for typedef to pointer value
If we evaluate an expression that results in a value that is a typedef
to pointer, then the debugger fails to print the type description
before printing the actual value:

    (gdb) print e.plan(1)
    $1 = 0x0

The expected output is:

    (gdb) print e.plan(1)
    $1 = (access integer) 0x0

gdb/ChangeLog:

        * ada-valprint.c (ada_value_print): Handle typedefs.

gdb/testsuite/ChangeLog:

        * gdb.ada/ptr_typedef: New testcase.
2011-07-01 18:26:22 +00:00
Joel Brobecker 828292f271 variables whose type is a typedef to an array pointer
If we declare a type as being an access to array type, and then
declare a variable of that type, for instance:

        type Some_Array is array [...];
        type Array_Access is access all Some_Array;
        Table : Array_Access := [...];

The variable "Table" may be defined in the debugging information
as being a typedef to the array pointer type. In the past, it was
defined directly as the array pointer type, but this has been changed
to make sure that the typedef type gets used.

If the typedef type wasn't used, it would allow the compiler to stop
emitting that typedef type when compiling with
-feliminate-unused-debug-types.  The removal of this typedef would
be a problem, because GDB relies on the typedef to create symbols
for pointer types, and without it, we would no longer be able to
do "ptype array_access".

This patch helps prevent incorrect output or even crashes when that
extra typedef layer is used.

The testing is already mostly covered by arrayptr.exp, but I still
added a 'ptype' test, just for good measure.

gdb/ChangeLog: (Eric Botcazou)

        * ada-lang.c (thin_descriptor_type): Deal with typedefs.
        (decode_constrained_packed_array): Likewise.
        (ada_evaluate_subexp) <TERNOP_SLICE>: Likewise.

gdb/testsuite/ChangeLog (Joel Brobecker):

        * gdb.ada/arrayptr.exp: Add ptype test.
2011-07-01 18:25:49 +00:00
Joel Brobecker 3536d9e3f5 Fix date in testsuite/ChangeLog entry. 2011-07-01 18:25:33 +00:00
Joel Brobecker 18920c4226 handle character-based enumeration typedefs
Consider the following type:

   type Char_Enum_Type is ('A', 'B', 'C', 'D');

If the compiler generates a Char_Enum_Type typedef in the debugging
information, the debugger fails in the following case:

   (gdb) p Char_Enum_Type'('B')
   $1 = 66

For our type, the underlying value of 'B' is actually 1, not 66
(ASCII 'B').  We are failing this case because we were not handling
typedef to enum types before.  This patch fixes this.

gdb/ChangeLog:

        * ada-exp.y (convert_char_literal): Handle typedef types.

gdb/testsuite/ChangeLog:

        * gdb.ada/char_enum: New testcase.
2011-07-01 18:25:17 +00:00
Yao Qi 54aeeb996d 2011-07-02 Yao Qi <yao@codesourcery.com>
* gdb.base/dump.exp (capture_pointer_with_type): New.
	Get value from address instead of name.
	Start GDB once, and do `dump' and `restore'
	tests together.
2011-07-01 16:42:42 +00:00
Mike Frysinger db863c4274 gdb: tests: set remotetimeout to gdb_load_timeout for remote targets
Rather than relying on the default remotetimeout value (which might be
too small for some slower devices), use the existing gdb_load_timeout
config option to set it.

This adds two new helpers for getting/setting the remotetimout to keep
the new logic simple.

Signed-off-by: Jie Zhang <jie.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-07-01 00:19:25 +00:00
Andrew Burgess e9e642a83f http://sourceware.org/ml/gdb-patches/2011-06/msg00442.html
Don't compile c++ tests for platforms that don't support c++.
2011-06-30 08:53:38 +00:00
Jan Kratochvil 32019081a7 gdb/
Fix non-only rename list for Fortran modules import.
	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Adjust the
	cp_add_using_directive caller.
	(cp_add_using_directive): New parameter excludes, describe it.  New
	variables ix and param.  Compare if also excludes match.  Allocate NEW
	with variable size, initialize EXCLUDES there.
	(cp_lookup_symbol_imports): New variable excludep, test
	current->EXCLUDES with it.
	* cp-support.h: Include vec.h.
	(struct using_direct): New field excludes, describe it.
	(DEF_VEC_P (const_char_ptr)): New.
	(cp_add_using_directive): New parameter excludes.
	* defs.h (const_char_ptr): New typedef.
	* dwarf2read.c (read_import_statement): New variables child_die,
	excludes and cleanups, read in excludes.
	(read_namespace): Adjust the cp_add_using_directive caller.

gdb/testsuite/
	Fix non-only rename list for Fortran modules import.
	* gdb.fortran/module.exp (print var_x, print var_y, print var_z): New
	tests.
	* gdb.fortran/module.f90 (module moduse): New.
	(program module): use moduse, test var_x, var_y and var_z.
2011-06-29 22:05:16 +00:00
Tom Tromey 0ecee54cfd PR testsuite/12040:
* gdb.fortran/array-element.exp: Use f90, not f77.
	* gdb.fortran/complex.exp: Use f90, not f77.
	* gdb.fortran/derived-type.exp: Use f90, not f77.
	* gdb.fortran/library-module.exp: Use f90, not f77.
	* gdb.fortran/logical.exp: Use f90, not f77.
	* gdb.fortran/module.exp: Use f90, not f77.
	* gdb.fortran/multi-dim.exp: Use f90, not f77.
	* gdb.fortran/subarray.exp: Use f90, not f77.
2011-06-29 17:50:47 +00:00
Tom Tromey 3b2b8feaf4 gdb
PR fortran/10036:
	* valprint.h (generic_emit_char, generic_printstr): Declare.
	* valprint.c (wchar_printable, append_string_as_wide)
	(print_wchar): Move from c-lang.c.
	(generic_emit_char): New function; mostly taken from c_emit_char.
	(generic_printstr): New function; mostly taken from c_printstr.
	* f-valprint.c (f_val_print) <TYPE_CODE_ARRAY>: Handle strings
	represented as arrays.
	<TYPE_CODE_CHAR>: Treat as TYPE_CODE_INT; recognize as character
	type.
	* f-typeprint.c (f_type_print_base) <TYPE_CODE_CHAR>: Treat
	identically to TYPE_CODE_INT.
	* f-lang.c (f_get_encoding): New function.
	(f_emit_char): Use generic_emit_char.
	(f_printchar): Replace comment.
	(f_printstr): Use generic_printstr.
	* dwarf2read.c (read_base_type) <DW_ATE_unsigned>: Handle Fortran
	"character" types specially.
	<DW_ATE_signed_char, DW_ATE_unsigned_char>: Make TYPE_CODE_CHAR
	for Fortran.
	* c-lang.c (wchar_printable, append_string_as_wide, print_wchar):
	Move to valprint.c
	(c_emit_char): Call generic_emit_char.
	(c_printstr): Call generic_printstr.
gdb/testsuite
	* gdb.fortran/charset.exp: New file.
	* gdb.fortran/charset.f90: New file.
2011-06-29 15:32:40 +00:00
Tom Tromey 42159ca500 PR testsuite/12040:
* lib/future.exp: New file, mostly extracted from ada.exp.
	Rewrote compatibility code to use rename.
	(gdb_find_gfortran): New proc.
	(gdb_default_target_compile): Refresh from dejagnu; plus a pending
	gfortran patch.
	* lib/ada.exp (gdb_find_gnatmake, gdb_default_target_compile):
	Move to future.exp.
	* lib/gdb.exp: Always load future.exp.
2011-06-29 14:44:45 +00:00
Yao Qi af69a5cef7 2011-06-28 Yao Qi <yao@codesourcery.com>
* gdb.cp/exception.cc: Don't include iostream.
	(bar): Remove print statement.
	(catcher): New.
	(main): Remove print statements.  Call function catcher.
	* gdb.cp/exception.exp : Don't match inferior's output in regexp.
	Set breakpoint on catcher, and check the value of parameter.
2011-06-28 08:36:18 +00:00
Yao Qi ab5c6a729c 2011-06-23 Yao Qi <yao@codesourcery.com>
* gdb.cp/mb-inline.exp: Parse the output of `info break' to check breakpoint
	1.2 is disabled.  KFAIL for uclinux.
2011-06-23 14:38:13 +00:00
Marek Polacek 9497469fbd Fix races in mi2-var-display.exp. 2011-06-23 09:51:11 +00:00
Marek Polacek 5d197ed097 Fix races in mi2-return.exp. 2011-06-23 09:45:24 +00:00
Marek Polacek b9132588e0 Fix races in mi2-console.exp. 2011-06-23 09:40:50 +00:00
Marek Polacek e55595cad5 Fix races in mi2-basics.exp. 2011-06-23 09:38:14 +00:00
Yao Qi be777e08f4 gdb/testsuite/
* gdb.base/moribund-step.exp: Skip test if displaced stepping is not
	supported.
	* lib/gdb.exp (support_displaced_stepping): New.
2011-06-23 07:46:13 +00:00
Yao Qi 615556d61e 2011-06-23 Yao Qi <yao@codesourcery.com>
* gdb.threads/execl.exp: Skip on remote target.
2011-06-23 06:26:28 +00:00
Marek Polacek 833b0ca776 Fix races in gdb.mi/mi-var-display.exp. 2011-06-22 16:12:46 +00:00
Marek Polacek 1ee4023ae3 Fix races in gdb.mi/mi-nsitrall.exp. 2011-06-22 15:41:47 +00:00
Marek Polacek d0b1d6240c Fix races in gdb.mi/mi-nsmoribund.exp. 2011-06-22 15:38:00 +00:00
Marek Polacek 79aa92c124 Fix races in gdb.mi/mi-return.exp. 2011-06-22 15:32:16 +00:00
Yao Qi 5ce5db06f1 gdb/testsuite/
* gdb.threads/ia64-sigill.exp: Remove "set debug lin-lwp 1".
2011-06-14 08:03:32 +00:00
Jan Kratochvil 533a737ed5 gdb/
* symtab.c (output_partial_symbol_filename): Exchange the filename and
	fullname parameters order.

gdb/testsuite/
	* gdb.dwarf2/dw2-filename.exp (info sources): New testcase.
2011-06-10 21:50:55 +00:00
Tom Tromey d0e53741e0 * gdb.cp/temargs.exp: Let tests pass if compiler bug is fixed.
Add tests for pointer-to-member-function.
	* gdb.cp/temargs.cc (S::somefunc): New function.
	(K2): New class.
	(main): Instantiate K2; call method.
2011-06-10 16:21:47 +00:00
Joel Brobecker b5916bbd42 py-inferior.exp: Make sure local var is allocated on the stack.
The testcase, at some point, is trying to change the contents
of a string that was defined as follow:

    char *str = "hello, testsuite";

The problem is that the string is constant, and str is never used
to change the contents of the string in the program, so the compiler
is free to allocate it in a read-only section.  This is what happens
on x86-windows, for instance.

As a result, trying to change the contents of the string during
the `python gdb.inferiors()[0].write_memory (addr, str)' results
in the following error:

    (gdb) python gdb.inferiors()[0].write_memory (addr, str)
    gdb: write target memory, 5 bytes at 0x00403064
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    gdb.MemoryError: Cannot access memory at address 0x403064
    Error while executing Python code.

This patch prevents this from happening by declaring str as an
array rather than a pointer.

gdb/testsuite/ChangeLog:

        * gdb.python/py-inferior.c (f2): Make str an array rather
        than a pointer.
        * gdb.python/py-inferior.exp: Adjust testcase accordingly.
2011-06-08 16:56:11 +00:00
Jan Kratochvil 5be4dfca58 gdb/
* cli/cli-cmds.c (shell_escape): Use waitpid.
	* rs6000-nat.c (exec_one_dummy_insn): Likewise.

gdb/testsuite/
	* gdb.base/async-shell.c: New file.
	* gdb.base/async-shell.exp: New file.
2011-06-07 17:26:47 +00:00
Pedro Alves 9f47e25402 2011-06-06 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
	* gdb.threads/pending-step.exp: Add more context to SIGTRAP match.
2011-06-06 13:33:08 +00:00
Joel Brobecker 64b9b33460 Various spelling fixes.
gdb/ChangeLog:

        From Stephen Kitt  <steve@sk2.org>
        * breakpoint.c, breakpoint.h, cli/cli-dump.c, dwarf2expr.c,
        gdbarch.c, gdbarch.sh, remote.c: Various spelling fixes.

gdb/testsuite/ChangeLog:

        From Stephen Kitt  <steve@sk2.org>
        * gdb.base/help.exp: Adjust following some spelling corrections
        in GDB.
2011-06-03 23:47:46 +00:00
Yao Qi dbc0f13167 2011-06-01 Yao Qi <yao@codesourcery.com>
* gdb.base/ending-run.exp: Match __uClibc_main for uClibc.
2011-06-01 15:55:55 +00:00
Keith Seitz fd336a18df PR c++/12750
* gdb.cp/static-method.cc: New file.
	* gdb.cp/static-method.exp: New file.
2011-05-31 22:14:21 +00:00
Keith Seitz fa8b9902af PR symtab/12704
* gdb.cp/anon-ns.cc: New file.
	* gdb.cp/anon-ns.exp: New file.
2011-05-31 21:54:49 +00:00
Pedro Alves 0a5b1e09bf 2011-05-31 Pedro Alves <pedro@codesourcery.com>
gdb/gdbserver/
	* linux-x86-low.c (i386_dr_low_get_addr): Fix off by one in
	assertion.
	* win32-i386-low.c (i386_dr_low_get_addr): Ditto.

	gdb/testsuite/
	* gdb.arch/i386-dr3-watch.c: New file.
	* gdb.arch/i386-dr3-watch.exp: New file.
2011-05-31 21:18:56 +00:00
Yao Qi 0578b8d157 2011-05-30 Yao Qi <yao@codesourcery.com>
* gdb.base/callfuncs.c (t_structs_fc): New.
	(t_structs_dc, t_structs_ldc): New.
	(t_double_many_args):
	(DEF_FUNC_MANY_ARGS_1, DEF_FUNC_MANY_ARGS_2): Define.
	(DEF_FUNC_MANY_ARGS_3, DEF_FUNC_VALUES_1): Define.
	(DEF_FUNC_VALUES_2, DEF_FUNC_VALUES_3): Define.
	* gdb.base/callfuncs.exp: Call new functions.
2011-05-30 02:51:58 +00:00
Yao Qi ff4d2c6018 2011-05-30 Yao Qi <yao@codesourcery.com>
* gdb.base/callfuncs.exp (rerun_and_prepare): New.
	Call rerun_and_prepare for each test to isolate effects.
2011-05-30 02:32:21 +00:00
Yao Qi 6680506ef0 2011-05-30 Yao Qi <yao@codesourcery.com>
* gdb.base/varargs.c (find_max_float_real): New.
        (find_max_double_real, find_max_long_double_real): New.
        * gdb.base/varargs.exp: Call these new added functions.
	* lib/gdb.exp (setup_kfail_for_target): New.
2011-05-30 02:27:51 +00:00
Yao Qi e43ec454f9 2011-05-30 Yao Qi <yao@codesourcery.com>
* gdb.base/funcargs.c (callca, callcb, callcc): New.
	(callcd, callce, callcf, callc1a, callc1b): New.
	(callc2a, callc2b): New.
	* gdb.base/funcargs.exp (complex_args): New.
	(complex_integral_args, complex_float_integral_args): New.
	* lib/gdb.exp (support_complex_tests): New.  Determine
	whether to run test cases on _Complex types.
2011-05-30 02:20:16 +00:00
Jan Kratochvil 432b4d03ad gdb/
Fix PR 10970, PR 12702.
	* linux-nat.c (linux_lwp_is_zombie): New function.
	(wait_lwp): Initialize status.  New variable prev_mask.  Block signals.
	Check for linux_lwp_is_zombie.  Use WNOHANG and sigsuspend.

gdb/testsuite/
	* gdb.threads/leader-exit.c: New file.
	* gdb.threads/leader-exit.exp: New file.
2011-05-27 16:55:39 +00:00
Marek Polacek 6caf069d24 gdb.mi/mi-nonstop.exp: Replace gdb_test_multiple with mi_gdb_test. 2011-05-27 14:16:43 +00:00
Marek Polacek 97fce28b40 gdb.mi: Get rid of the non-stop testcases. 2011-05-27 12:47:10 +00:00
Pedro Alves 9da8c2a0fa 2011-05-26 Pedro Alves <pedro@codesourcery.com>
gdb/
	* infcmd.c (finish_backward): Set a step-resume breakpoint at the
	function's entry point instead of a manually managed momentary
	breakpoint, and only ever issue one proceed call.
	* infrun.c (handle_inferior_event) <BPSTAT_WHAT_STEP_RESUME>: If
	doing a reverse-finish, switch to stepi mode, to do another step.
	(insert_step_resume_breakpoint_at_sal): Make public.
	(normal_stop): No need to save function value return registers if
	going reverse.
	* inferior.h (insert_step_resume_breakpoint_at_sal): Declare.

	gdb/testsuite/
	* gdb.reverse/finish-reverse-bkpt.exp: New test.
2011-05-26 15:32:38 +00:00
Pedro Alves 2c03e5bed3 2011-05-26 Pedro Alves <pedro@codesourcery.com>
gdb/
	* breakpoint.h (enum bptype) <bp_hp_step_resume>: New.
	(enum bpstat_what_main_action): Move BPSTAT_WHAT_STEP_RESUME
	before BPSTAT_WHAT_STOP_SILENT.  Add BPSTAT_WHAT_HP_STEP_RESUME
	at the end.
	* breakpoint.c (update_breakpoints_after_exec): Also delete hp
	step-resume breakpoints.
	(print_it_typical): Handle bp_hp_step_resume.
	(bpstat_what): Ditto.
	(bptype_string): Ditto.
	(print_one_breakpoint_location): Ditto.
	(allocate_bp_location): Ditto.
	(mention): Ditto.
	(breakpoint_re_set_one): Ditto.
	* infrun.c (handle_inferior_event): Adjust.  Split
	BPSTAT_WHAT_STEP_RESUME handling in BPSTAT_WHAT_STEP_RESUME and
	BPSTAT_WHAT_HP_STEP_RESUME.
	(insert_step_resume_breakpoint_at_sal): Rename to ...
	(insert_step_resume_breakpoint_at_sal_1): ... this.  Add bptype
	parameter.  Handle it.
	(insert_step_resume_breakpoint_at_sal): Reimplement on top of
	insert_step_resume_breakpoint_at_sal_1.
	(insert_step_resume_breakpoint_at_frame): Rename to ...
	(insert_hp_step_resume_breakpoint_at_frame): ... this.  Adjust to
	set a high-priority step-resume breakpoint.
	(insert_step_resume_breakpoint_at_frame): Adjust comment.
	(insert_step_resume_breakpoint_at_caller): Ditto.

	gdb/testsuite/
	* gdb.reverse/next-reverse-bkpt-over-sr.exp: New test.
2011-05-26 14:59:18 +00:00
Keith Seitz 2e21250dbc PR breakpoint/12803
* gdb.cp/cmpd-minsyms.cc (a): New method.
	(b): New method.
	(c): New method.
	* gdb.cp/cmpd-minsyms.exp: Add tests for new methods.
2011-05-24 21:00:45 +00:00
Pedro Alves cdac0397bf 2011-05-24 Pedro Alves <pedro@codesourcery.com>
gdb/
	* breakpoint.c (watchpoint_check): If the watchpoint went out of
	scope, clear its command list.
	(map_breakpoint_numbers): Don't walk the related breakpoints list
	of each breakpoint.

	gdb/testsuite/
	* gdb.base/commands.exp (watchpoint_command_test): Check that the
	watchpoint's command list didn't execute when the watchpoint went
	out of scope.
2011-05-24 15:03:30 +00:00
Pierre Muller ee5683ab05 ../commit.txt~ 2011-05-24 12:01:22 +00:00
Pedro Alves c91c8c1612 2011-05-24 Pedro Alves <pedro@codesourcery.com>
gdb/
	* solib-svr4.c (svr4_solib_create_inferior_hook): Skip setting
	shared library event breakpoint if there's no execution.

	gdb/testsuite/
	* gdb.trace/tfile.exp: Add test that opening the basic.tf trace
	file doesn't error, using MI.
2011-05-24 10:48:19 +00:00
Tom Tromey c50491a797 gdb
* c-lang.c (evaluate_subexp_c): Use expect_type if it is not
	NULL.
gdb/testsuite
	* gdb.base/charset.exp (string_display): Add tests to assign to
	arrays.
	* gdb.base/charset.c (short_array, int_array, long_array): New.
2011-05-23 20:27:23 +00:00
Pedro Alves 4a07b7dac5 2011-05-20 Pedro Alves <pedro@codesourcery.com>
Cope with async mode.

	gdb/testsuite/
	* gdb.mi/mi-break.exp (test_breakpoint_commands): Split gdb_test
	into gdb_test + mi_expect_stop.
2011-05-20 17:52:54 +00:00
Pedro Alves b275f2d2f2 2011-05-20 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
	* gdb.mi/basics.c: Don't include stdio.h or unistd.h.
	(callme): Remove printf call.
2011-05-20 17:41:04 +00:00
Pierre Muller eec52c4458 * lib/gdb.exp (gdb_test_list_exact): Suggest use of double
quote pattern to avoid problems with Cygwin/mingw expect versions.
	* gdb.base/default.exp (show convenience): Use double
	quote pattern for regular expressions.
2011-05-20 14:37:20 +00:00
Jan Kratochvil b3c8eb43f1 gdb/
Fix -readnow for -gdwarf-4 unused type units.
	* dwarf2read.c (struct signatured_type): Remove the field offset.
	(create_signatured_type_table_from_index): Remove its initialization.
	(create_debug_types_hash_table): Likewise.  Initialize per_cu.offset
	instead.  Add a complaint call.
	(process_psymtab_comp_unit): Change assignment to gdb_assert.
	(process_type_comp_unit, lookup_die_type, dump_die_shallow)
	(lookup_signatured_type_at_offset, read_signatured_type)
	(write_one_signatured_type): Update the field for per_cu.

gdb/testsuite/
	Fix -readnow for -gdwarf-4 unused type units.
	* gdb.dwarf2/dw4-sig-type-unused.S: New file.
	* gdb.dwarf2/dw4-sig-type-unused.exp: New file.
2011-05-20 08:55:51 +00:00
Jan Kratochvil ed73195945 gdb/
* linux-nat.c (kill_callback): Use SIGKILL first.

gdb/testsuite/
	* gdb.base/kill-after-signal.c: New file.
	* gdb.base/kill-after-signal.exp: New file.
2011-05-18 18:03:30 +00:00
Pedro Alves 3b48433dfb 2011-05-16 Pedro Alves <pedro@codesourcery.com>
gdb/testsuite/
	* gdb.ada/start.exp: Call untested with the correct test filename.
	* gdb.arch/i386-bp_permanent.exp: Call untested with the correct
	test filename.  Make the test's binary unique.
	* gdb.arch/i386-signal.exp: Call untested with the correct test
	filename.
	* gdb.arch/i386-size-overlap.exp: Ditto.
	* gdb.arch/Makefile.in (EXECUTABLES): Update.
	* gdb.base/gcore-buffer-overflow.exp: Ditto.
	* gdb.cp/call-c.exp: Ditto.
	* gdb.mi/mi-reverse.exp: Call untested with the correct test
	filename.  Make the test's binary unique.
	* gdb.mi/Makefile.in (EXECUTABLES): Update.
	* gdb.python/py-mi.exp: Ditto.
	* gdb.python/Makefile.in (EXECUTABLES): Update.
	* gdb.reverse/i386-precsave.exp: Ditto.
	* gdb.reverse/i387-env-reverse.exp: Call untested with the correct
	test filename.
	* gdb.reverse/i387-stack-reverse.exp: Ditto.
	* gdb.reverse/sigall-precsave.exp: Ditto.  Make the test's binary
	unique.
	* gdb.reverse/sigall-reverse.exp: Call untested with the correct
	test filename.
	* gdb.reverse/Makefile.in (EXECUTABLES): Update.
	* gdb.trace/tfile.exp: Ditto.
2011-05-16 13:56:41 +00:00
Yao Qi ba4a8bdd81 2011-05-14 Yao Qi <yao@codesourcery.com>
* gdb.trace/tfile.c(add_memory_block): Store address in unsigned
	type.
2011-05-14 06:06:36 +00:00
Doug Evans dbaefcf757 * NEWS: Mention "info auto-load-scripts".
* python/py-auto-load.c (struct auto_load_pspace_info): New member
	script_not_found_warning_printed.
	(init_loaded_scripts_info): Renamed from create_loaded_scripts_hash,
	all callers updated.  Initialize script_not_found_warning_printed.
	(get_auto_load_pspace_data_for_loading): New function.
	(maybe_add_script): New function.
	(source_section_scripts): Simplify.  Only print one warning regardless
	of the number of auto-load scripts not found.
	(clear_section_scripts): Clear script_not_found_warning_printed.
	(auto_load_objfile_script): Record script in hash table.
	(count_matching_scripts): New function.
	(maybe_print_script): Renamed from maybe_print_section_script, all
	callers updated.  Rewrite to use ui_out_*.
	(info_auto_load_scripts): Renamed from
	maintenance_print_section_scripts, all callers updated.
	(gdbpy_initialize_auto_load): "maintenance print section-scripts"
	renamed as "info auto-load-scripts".

	doc/
	* gdb.texinfo (Auto-loading): Document "info auto-load-scripts".

	testsuite/
	* gdb.python/py-objfile-script.exp: New file.
	* gdb.python/py-objfile-script.c: New file.
	* gdb.python/py-objfile-script-gdb.py: New file.
	* testsuite/gdb.python/py-section-script.exp: Test
	"info auto-load-scripts".
2011-05-13 22:11:47 +00:00
Doug Evans cc63ef9bbd fix >80 cols in earlier entry 2011-05-13 22:09:57 +00:00
Tom Tromey 9930639c02 gdb
* dwarf2expr.c (read_uleb128): Cast intermediate result.
	(read_sleb128): Likewise.
gdb/testsuite
	* gdb.dwarf2/clztest.exp: New file.
	* gdb.dwarf2/clztest.c: New file.
	* gdb.dwarf2/clztest.S: New file.
2011-05-13 18:54:59 +00:00
Doug Evans 05272e115a * gdb.base/charset.exp: If UTF-16 is not available, skip char16_t, String16 tests. 2011-05-13 18:31:01 +00:00
Tom Tromey 6edba76fe8 * lib/gdb.exp (is_x86_like_target): New proc.
* gdb.dwarf2/watch-notconst.exp: Use is_x86_like_target.
	* gdb.dwarf2/valop.exp: Use is_x86_like_target.
	* gdb.dwarf2/typeddwarf.exp: Use is_x86_like_target.  Pass
	-nostdlib to compiler.
	* gdb.dwarf2/typeddwarf.S (_start): Rename from 'main'.
	* gdb.dwarf2/pieces.exp: Use is_x86_like_target.
	* gdb.dwarf2/implptr.exp: Use is_x86_like_target.
	* gdb.dwarf2/dw2-restore.exp: Check for LP64.
	* gdb.dwarf2/callframecfa.exp: Use is_x86_like_target.
2011-05-13 17:17:22 +00:00
Thiago Jung Bauermann 028d0ed5d1 gdb/
* mi/mi-main.c (mi_cmd_execute): Use cleanup from
	prepare_execute_command.
	* top.c (prepare_execute_command): Return cleanup.
	(execute_command): Use cleanup from prepare_execute_command.
	* top.h (prepare_execute_command): Change prototype to return
	cleanup.
	* defs.h (struct value): Add opaque declaration.
	(make_cleanup_value_free_to_mark): Add prototype.
	* utils.c (do_value_free_to_mark): New function.
	(make_cleanup_value_free_to_mark): Likewise.

gdb/testsuite/
	* gdb.python/py-function.exp: Test setting a value from a function
	which executes a command.
2011-05-13 04:34:25 +00:00
Tom Tromey 8a9b8146fd gdb
PR gdb/12617:
	* value.h (value_from_contents): Declare.
	* value.c (value_from_contents): New function.
	* dwarf2read.c (dwarf_stack_op_name): Add new values.
	(dwarf2_get_die_type): New function.
	* dwarf2loc.c (dwarf_expr_get_base_type): New function.
	(allocate_piece_closure): Acquire reference to values.
	(read_pieced_value): Update for value-based expressions.
	(write_pieced_value): Likewise.
	(free_pieced_value_closure): Call value_free as needed.
	(dwarf2_evaluate_loc_desc_full): Set get_base_type field.
	Update for value-based expressions.
	* dwarf2loc.h (dwarf2_get_die_type): Declare.
	* dwarf2expr.h (struct dwarf_stack_value) <value>: Change type.
	<get_base_type>: New field.
	(struct dwarf_expr_piece) <v.value>: Change type.
	<v.regno>: New field.
	(struct dwarf_expr_context) <mark>: New field.
	(dwarf_expr_piece, dwarf_expr_fetch): Update.
	(dwarf_expr_pop, dwarf_expr_push): Remove.
	(dwarf_expr_push_address): Declare.
	* dwarf2expr.c (dwarf_arch_cookie): New global.
	(struct dwarf_gdbarch_types): New.
	(dwarf_gdbarch_types_init, dwarf_expr_address_type): New
	functions.
	(dwarf_expr_push): Change type of 'value' argument.  Update.  Now
	static.
	(dwarf_expr_push_address): New function.
	(dwarf_expr_pop): Now static.
	(dwarf_expr_fetch): Change return type.
	(dwarf_require_integral): New function.
	(dwarf_expr_fetch): Simplify.
	(add_piece): Update.
	(base_types_equal_p, dwarf_get_base_type, get_unsigned_type): New
	functions.
	(execute_stack_op) <sign_ext>: Remove.
	Use values for DWARF stack.
	<DW_OP_GNU_const_type, DW_OP_GNU_deref_type,
	DW_OP_GNU_regval_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret>:
	New cases.
	(_initialize_dwarf2expr): New function.
	(add_piece): Update.
	(new_dwarf_expr_context): Set new field.
	(free_dwarf_expr_context): Call value_free_to_mark.
	* dwarf2-frame.c (no_base_type): New function.
	(execute_stack_op): Set get_base_type field.  Update.
gdb/testsuite
	* gdb.dwarf2/typeddwarf.S: New file.
	* gdb.dwarf2/typeddwarf.c: New file.
	* gdb.dwarf2/typeddwarf.exp: New file.
2011-05-12 17:40:55 +00:00
Marek Polacek 10483e8e4e Fix races in gdb.mi/mi-basics.exp 2011-05-12 07:13:23 +00:00
Jan Kratochvil faf067f1a3 gdb/testsuite/
* lib/gdb.exp (gdb_rename_execfile): Remove catch wrappers.
	(gdb_touch_execfile): Remove catch wrappers.  New variable time.
	Replace `file copy' and `file rename' by `file mtime'.  Twice.
2011-05-11 09:11:17 +00:00
Jan Kratochvil 7ff911a38f gdb/testsuite/
* gdb.base/readline-ask.c: New file.
	* gdb.base/readline-ask.exp: New file.
	* gdb.base/readline-ask.inputrc: New file.
2011-05-11 05:01:36 +00:00
Ulrich Weigand a536c6d7e6 ChangeLog:
* ppc-linux-tdep.c (ppu2spu_prev_register): Handle pseudo registers.
	(ppu2spu_unwind_register): Mark pseudo registers unavailable.
	* spu-tdep.c (op_selb): Use correct value.

testsuite/ChangeLog:

	* gdb.cell/bt.exp: Delete breakpoints before running to signal
	to avoid race condition.
	* gdb.cell/coremaker.c: Use small stack size.
	* gdb.cell/ea-standalone.exp: Use file name without path as
	argument to c_to.
	* gdb.cell/fork.exp: Allow other output when continuing to end.
2011-05-06 20:48:48 +00:00
Jan Kratochvil d472a4264b gdb/testsuite/
* gdb.threads/corethreads.c: New file.
	* gdb.threads/corethreads.exp: New file.
2011-05-06 16:03:51 +00:00
Jan Kratochvil 774094b876 gdb/testsuite/
* gdb.threads/gcore-thread.exp (objfile, opts): New variables.
	Try to compile the test using -Wl,-z,norelro first.
	(load_core): New variable libthread_db_seen, initialize it.
	(zeroed-threads cannot be listed): Protect it by XFAIL on
	!$libthread_db_seen.
2011-05-06 16:01:40 +00:00
Jan Kratochvil 8be455d765 gdb/
PR 12573
	* dwarf2read.c (struct dwarf2_cu): New field has_loclist.
	(producer_is_gcc_ge_4_0): New function.
	(process_full_comp_unit): Set also symtab->locations_valid.  Move the
	symtab->language code.
	(var_decode_location): Set cu->has_loclist.
	* symtab.c (skip_prologue_sal): New variables saved_pc, force_skip and
	skip.  Intialize force_skip from locations_valid.  Move the prologue
	skipping code into two passes.
	* symtab.h (struct symtab): Make the primary field a bitfield.  New
	field locations_valid.

gdb/testsuite/
	PR 12573
	* gdb.dwarf2/dw2-skip-prologue.S: New file.
	* gdb.dwarf2/dw2-skip-prologue.c: New file.
	* gdb.dwarf2/dw2-skip-prologue.exp: New file.
2011-05-06 15:06:49 +00:00
Jan Kratochvil 1976171a47 gdb/
* symtab.c (compare_symbol_name): New function.
	(completion_list_add_name, expand_partial_symbol_name): Call it,
	remove the variable ncmp.
	(default_make_symbol_completion_list_break_on): Reduce SYM_TEXT_LEN,
	gdb_assert it.

gdb/testsuite/
	* gdb.cp/psymtab-parameter.cc: New file.
	* gdb.cp/psymtab-parameter.exp: New file.
2011-05-06 13:47:07 +00:00
Jan Kratochvil 7db6f30f9d gdb/testsuite/
Fix a race.
	* gdb.cp/static-print-quit.exp (print c): Split to ...
	(print c - <return>, print c - q <return>, print c - to quit):
	... these.  Make the testfile untested on gdb-7.1.
2011-05-06 13:38:35 +00:00
Janis Johnson 85161e9e44 fix typo 2011-05-05 16:31:05 +00:00
Janis Johnson 56744f0ad5 * lib/gdb.exp (exec_target_file, exec_symbol_file,
gdb_rename_execfile, gdb_touch_execfile): New.
	* gdb.base/reread.exp: Use new procs to handle multiple
	exec files.
2011-05-05 16:29:58 +00:00
Yao Qi 0c51be18c4 2011-05-05 Yao Qi <yao@codesourcery.com>
* gdb.arch/arm-disp-step.S(test_ldr_literal): New.
	(test_adr_32bit, test_pop_pc): New.
	* gdb.arch/arm-disp-step.exp (test_ldr_literal): New.
	(test_adr_32bit, test_pop_pc): New.
2011-05-05 02:51:28 +00:00
Joseph Myers 4d393d60c4 gdb:
* configure.host (xscale*): Don't handle target.
	* configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
	handle targets.

gdb/gdbserver:
	* README: Don't mention xscale*-*-linux*.
	* configure.srv (xscale*-*-linux*): Don't handle target.

gdb/testsuite:
	* gdb.base/a2-run.exp (strongarm-*-coff): Don't handle target.
	* gdb.base/float.exp (xscale*-*-*, strongarm*-*-*): Don't handle
	targets.
	* gdb.base/long_long.exp (xscale*-*-*, strongarm*-*-*): Don't
	handle targets.

sim:
	* configure.tgt (thumb*-*-* | strongarm*-*-* | xscale-*-*): Don't
	handle targets.
	* configure: Regenerate.

sim/testsuite:
	* configure: Regenerate.
	* sim/arm/allinsn.exp (xscale*-*-*): Don't handle target.
	* sim/arm/misc.exp (thumb*-*-*, xscale*-*-*): Don't handle
	targets.
	* sim/arm/iwmmxt/iwmmxt.exp: Test for arm*-*-* instead of
	xscale*-*-*.
	* sim/arm/thumb/allthumb.exp (thumb*-*-*): Don't handle target.
	* sim/arm/xscale/xscale.exp: Test for arm*-*-* instead of
	xscale*-*-*.
2011-05-04 19:28:16 +00:00
Jan Kratochvil 8ffd0459d2 gdb/testsuite/
* gdb.base/completion.exp (complete help info wat): Rename to ...
	(complete 'help info wat'): ... here.
	Remove all `-re ".*' and `-re "^.*' redundant regexes.
	(complete 'p 'arg', complete (2) 'p 'arg'): Remove redundant backslash.
2011-05-04 14:46:17 +00:00
Pedro Alves 8e28d80473 2011-05-04 Pedro Alves <pedro@codesourcery.com>
* gdb.base/completion.exp: Use gdb_test_multiple instead of
	gdb_test and explicit $gdb_prompt/timeout matches.
2011-05-04 14:40:42 +00:00
Yao Qi 3eb2ef34ff 2011-05-04 Yao Qi <yao@codesourcery.com>
* gdb.arch/arm-disp-step.S: Fix usage of macros __thumb__
	and __thumb2__.
2011-05-04 06:40:28 +00:00
Marek Polacek aaaf81a302 Fix races in gdb.base/pr10179.exp. 2011-05-03 18:02:00 +00:00
Pedro Alves c4cbc0dffd 2011-05-02 Pedro Alves <pedro@codesourcery.com>
PR testsuite/12649
	Fix races.

	* gdb.base/completion.exp: Remove all sleep calls.  Remove
	unnecessary regexs.  Don't explicitly expect anything after the
	prompt.  Eat the prompt if necessary.
2011-05-02 17:52:28 +00:00
Edjunior Barbosa Machado b4cbb4a365 * gdb.opt/inline-cmds.exp: Adjust checks with "finish" command to
accept to show the caller line again as well as the line after.
2011-05-02 17:07:10 +00:00
Phil Muldoon d65aec65d9 2011-04-29 Phil Muldoon <pmuldoon@redhat.com>
PR mi/12531

	* varobj.c (install_default_visualizer): Do not install a
	visualizer if the varobj is CPLUS_FAKE_CHILD.
	(construct_visualizer): Likewise.

2011-04-29  Phil Muldoon  <pmuldoon@redhat.com>

	PR mi/12531

	* gdb.python/py-mi.exp: Add CPLUS_FAKE_CHILD tests and a C++
	compile target.
	* gdb.python/py-prettyprint.exp: Add C++ object for
	CPLUS_FAKE_CHILD test.
2011-04-29 12:45:46 +00:00
Ulrich Weigand 3085278312 gdb/
* infrun.c (proceed): Revert previous change.
	(resume): Instead, handle the case of signal delivery while stepping
	off a breakpoint location here, and only if software single-stepping
	is used.  Handle nested signals.

	gdb/testsuite/
	* gdb.base/signest.exp: New file.
	* gdb.base/signest.c: Likewise.
2011-04-28 15:53:00 +00:00
Jan Kratochvil c7b1f0d9dc gdb/testsuite/
* lib/mi-support.exp (mi_expect_stop) <stopped at wrong place>: Accept
	thread and breakpoint notifications.
2011-04-28 07:31:29 +00:00
Jan Kratochvil 559a7a6201 gdb/doc/
* gdb.texinfo (Index Section Format): Change the version to 5.
	Describe the different formula.

gdb/
	Case insensitive lookups implementation.
	* dwarf2read.c: Include ctype.h.
	(struct mapped_index): New field version.
	(mapped_index_string_hash): New parameter index_version.  New comment
	for it.  Call tolower appropriately.
	(find_slot_in_mapped_hash): New variable cmp, initialize it, use it.
	Choose the right index version for mapped_index_string_hash.
	(dwarf2_read_index): Support also the index version 5.  Initialize the
	new struct mapped_index field version.
	(hash_strtab_entry): Pass INT_MAX for the new parameter, explain why.
	(find_slot): Explain the version needs.  Pass INT_MAX for the new
	parameter.
	(write_psymtabs_to_index): Produce version 5.
	* minsyms.c (lookup_minimal_symbol): New variable cmp, initialize it,
	use it.  New comment for SYMBOL_MATCHES_SEARCH_NAME.
	* psymtab.c (lookup_partial_symbol): Find the
	SYMBOL_MATCHES_SEARCH_NAME start of the found block of matching
	entries.
	* symtab.c (lookup_symbol_in_language): Remove the case_sensitive_off
	NAME lowercasing.
	(search_symbols): Pass REG_ICASE to regcomp for case_sensitive_off.
	(completion_list_add_name): New variable ncmp, initialize it, use it.
	* symtab.h (SYMBOL_HASH_NEXT): Always call tolower.
	* utils.c (strcmp_iw): Support case_sensitive_off.
	(strcmp_iw_ordered): Sort in a way compatible with case_sensitive_off.
	New function comment part.  New variables saved_string1,
	saved_string2 and case_pass.  Add a proper second pass.

gdb/testsuite/
	* gdb.base/fortran-sym-case.c: New file.
	* gdb.base/fortran-sym-case.exp: New file.
	* gdb.dwarf2/dw2-case-insensitive-debug.S: New file.
	* gdb.dwarf2/dw2-case-insensitive.c: New file.
	* gdb.dwarf2/dw2-case-insensitive.exp: New file.
2011-04-27 20:03:04 +00:00
Jan Kratochvil 8344e389dc gdb/testsuite/
* lib/gdb.exp (gdb_test_multiple): Eror on newline in $message.
	* gdb.base/ifelse.exp: Give names to the "" tests as `if true else
	false #1', `if true else false #2' and `if true else false #3'.
2011-04-27 19:44:42 +00:00
Ulrich Weigand 2484c66bef ChangeLog:
* infrun.c (proceed): Do not single-step into signal delivery
	when stepping off a breakpoint location.
	(insert_step_resume_breakpoint_at_frame): Move prototype earlier.
	(insert_step_resume_breakpoint_at_caller): Likewise.
	(insert_step_resume_breakpoint_at_sal): Likewise.
	(insert_longjmp_resume_breakpoint): Likewise.

testsuite/ChangeLog:

	* gdb.base/annota1.exp: Accept breakpoints-invalid annotation
	while delivering signal.
2011-04-27 17:08:42 +00:00
Vladimir Prus 8d3788bd59 MI breakpoint notifications.
* annotate.c (breakpoint_changed): Adjust parameter type.
        * breakpoint.c (set_breakpoint_condition): Adjust to change
        in breakpoint_modified type.
        (breakpoint_set_commands): Likewise.
        (do_map_commands_command): Likewise.
        (bpstat_check_breakpoint_conditions): Notify that breakpoint has
        changed after bumping hit count.
        (bpstat_stop_status): Likewise.
        (print_one_breakpoint_location): Don't wrap in tuple here.
        (print_one_breakpoint): Always print individual locations.
        For locations, use unnamed tuple.
        (disable_breakpoints_in_unloaded_shlib): Notify that breakpoint
        has changed.
        (create_catchpoint, create_syscall_event_catchpoint): Call
        breakpoint_created obsever.
        (mention): Don't call breakpoint_created observer.
        (create_breakpoint_sal): Call breakpoint_created observer.
        (create_breakpoint, watch_command_1): Likewise.
        (create_ada_exception_breakpoint): Likewise.
        (delete_breakpoint): Call breakpoint_deleted breakpoint.
        (locations_are_equal): New.
        (update_breakpoint_locations): If locations were changed, notify.
        (set_ignore_count, disable_breakpoint, do_enable_breakpoint):
        Call breakpoint_modified observer.

        * mi/mi-cmd-break.c (breakpoint_notify): Adjust.
        (mi_cmd_break_insert): Don't set observers for modify and delete.
        * mi/mi-interp.c (mi_suppress_breakpoint_notifications): New.
        (mi_breakpoint_created, mi_breakpoint_deleted)
        (mi_breakpoint_modified): New.
        (mi_interpreter_init): Hook the above.
        * mi/mi-main.c (mi_cmd_execute): Disable breakpoint notifications
        while -break-* commands are executing.
        * mi/mi-main.h (mi_suppress_breakpoint_notifications): New.
        * mi/mi-out.c (struct ui_out_data): New field original_buffer.
        (mi_redirect): New.
        (mi_ui_out_impl): Hook in mi_redirect.
        (mi_field_skip): True to the name, skip the field, don't output
        a field with an empty value.

        * python/py-breakpoint.c (gdbpy_breakpoint_created)
        (gdbpy_breakpoint_deleted): Adjust.
        * tui/tui-hooks.c (tui_event_create_breakpoint)
        (tui_event_delete_breakpoint, tui_event_modify_breakpoint): Adjust.
2011-04-27 10:17:39 +00:00
Jan Kratochvil 3e03848b6c gdb/
* elfread.c (elf_symfile_read): Protect dwarf2_initialize_objfile by
	!objfile_has_partial_symbols.  New comment.
	* objfiles.c (objfile_has_partial_symbols): Call HAS_SYMBOLS if
	SYM_READ_PSYMBOLS is not present. Extend the comment.
	* symfile.h (struct sym_fns): Extend the sym_read_psymbols comment.

gdb/testsuite/
	* gdb.base/gdbindex-stabs-dwarf.c: New file.
	* gdb.base/gdbindex-stabs.c: New file.
	* gdb.base/gdbindex-stabs.exp: New file.
2011-04-25 19:38:16 +00:00
Yao Qi 918c9108e8 2011-04-25 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dw2-double-set-die-type.S: Replace comment char `#'
	with /*...*/.
	* gdb.dwarf2/dw2-modula2-self-type.S: Likewise.
2011-04-25 03:18:44 +00:00
Jan Kratochvil 90556b8c94 gdb/testsuite/
* gdb.python/py-value.exp (test_objfiles): Name the first test
	`py-value in file.filename'.
2011-04-24 09:04:38 +00:00
Jan Kratochvil 03f2bd5942 gdb/
* NEWS: Document the new gdbserver --once option.

gdb/doc/
	* gdb.texinfo (Starting and Stopping Trace Experiments): New anchor
	for disconnected tracing.
	(Multi-Process Mode for @code{gdbserver}): Mention --multi and
	extended-remote relationship.  Mention --once.
	(TCP port allocation lifecycle of @code{gdbserver}): New.

gdb/gdbserver/
	* remote-utils.c (handle_accept_event): Close LISTEN_DESC only if
	RUN_ONCE.  Comment for the LISTEN_DESC delete_file_handler call.
	(remote_prepare): New function with most of the TCP code from ...
	(remote_open): ... here.  Detect PORT here unconditionally.  Move also
	setting transport_is_reliable.
	* server.c (run_once): New variable.
	(gdbserver_usage): Document it.
	(main): Set run_once for `--once'.  Call remote_prepare.  Exit after
	the first run if RUN_ONCE.
	* server.h (run_once, remote_prepare): New declarations.

gdb/testsuite/
	* gdb.base/solib-disc.exp: Set gdbserver_reconnect_p.
	* lib/gdb.exp (gdb_init): Clear gdbserver_reconnect_p.
	* lib/gdbserver-support.exp (gdbserver_start): Add `--once' if
	!gdbserver_reconnect_p..
	(gdbserver_reconnect): Call error if !gdbserver_reconnect_p..
2011-04-24 08:02:21 +00:00
Jan Kratochvil 7b08b9eb12 gdb/
* ada-lang.c (struct add_partial_datum): Update the comment for
	expand_partial_symbol_name.
	(ada_add_partial_symbol_completions): Rename to ...
	(ada_expand_partial_symbol_name): ... here, change return type, update
	function comment, call symbol_completion_match instead of
	symbol_completion_add.
	(ada_make_symbol_completion_list): Use now expand_partial_symbol_names
	and ada_expand_partial_symbol_name.
	* dwarf2read.c (dw2_expand_symtabs_matching): Support NULL
	FILE_MATCHER.
	(dw2_map_symbol_names): Remove.
	(dwarf2_gdb_index_functions): Unlist dw2_map_symbol_names.
	* psymtab.c (map_symbol_names_psymtab): Remove.
	(expand_symtabs_matching_via_partial): Support NULL FILE_MATCHER.
	Support KIND == ALL_DOMAIN.  Exchange the NAME_MATCHER and KIND check
	order.
	(psym_functions): Unlist map_symbol_names_psymtab.
	(map_partial_symbol_names): Rename to ...
	(expand_partial_symbol_names): ... here, change the FUN type, call
	expand_symtabs_matching with ALL_DOMAIN and NULL FILE_MATCHER now.
	* psymtab.h (map_partial_symbol_names): Rename to ...
	(expand_partial_symbol_names): ... here, change the FUN type.
	* symfile.h (struct quick_symbol_functions): Update the description of
	expand_symtabs_matching.  Remove map_symbol_names.
	* symtab.c (search_symbols): Add ALL_DOMAIN to the function comment.
	(struct add_name_data): Update the comment for
	expand_partial_symbol_name.
	(add_partial_symbol_name): Rename to ...
	(expand_partial_symbol_name): ... here.  Replace
	completion_list_add_name call by strncmp.
	(default_make_symbol_completion_list_break_on): Use now
	expand_partial_symbol_names and expand_partial_symbol_name.
	* symtab.h (enum search_domain): New element ALL_DOMAIN.

gdb/testsuite/
	* gdb.cp/cpcompletion.exp (complete class methods)
	(complete class methods beginning with F): Move them above runto.  New
	comment about the runto delimiter.
2011-04-20 19:42:51 +00:00
Pedro Alves b78974c3b4 2011-04-20 Pedro Alves <pedro@codesourcery.com>
gdb/
	* regcache.c (get_thread_arch_regcache): If creating a regcache for
	null_ptid, assume and allow a NULL address space, instead of
	asking the target for the ptid's address space.
	* infrun.c (ptid_is_pid): Remove assertion.

	gdb/testsuite/
	* gdb.base/maint.exp: Test that "maint print registers" works
	without a running program.
2011-04-20 17:01:11 +00:00
Marek Polacek 20429c4071 Fix racy tests in gdb.base/setshow.exp 2011-04-20 14:56:49 +00:00
Tom Tromey 7a9dd1b270 gdb
* windows-tdep.c (windows_xfer_shared_library):
	* windows-nat.c (get_module_name, windows_make_so):
	* v850-tdep.c (v850_handle_pushm):
	* utils.c (null_cleanup, gdb_realpath):
	* ui-out.c (get_next_header):
	* tracepoint.c (clear_traceframe_info):
	* symtab.c (lookup_symtab):
	* serial.h (struct serial_ops):
	* mipsread.c (read_alphacoff_dynamic_symtab):
	* infcmd.c (print_return_value):
	* ia64-linux-tdep.c (ia64_linux_sigcontext_register_address):
	* f-exp.y (parse_number):
	* exceptions.c (catch_exceptions):
	* dummy-frame.c (dummy_frame_this_id):
	* defs.h (struct cleanup):
	* breakpoint.c (disable_breakpoints_in_unloaded_shlib):
	* arm-tdep.c (arm_push_dummy_call):
	* amd64-tdep.h (amd64_collect_xsave):
	* amd64-tdep.c (amd64_collect_xsave):
	* alpha-tdep.c (alpha_heuristic_frame_unwind_cache):
	* README (typing): Remove duplicate words.
	* cli/cli-decode.c (lookup_cmd_composition): Add comma.
	* infrun.c (siginfo_value_read): Fix typo.
	* solib-frv.c (frv_fdpic_find_global_pointer): Likewise.
	* top.c (source_line_number): Add comma.
gdb/doc
	* gdbint.texinfo (Register Information Functions): Remove
	duplicate "the".
	* gdb.texinfo (Emacs): Remove duplicate "to".
	(GDB/MI Variable Objects): Remove duplicate "the".
	(General Query Packets): Likewise.
gdb/testsuite
	* gdb.mi/mi-nsmoribund.exp:
	* gdb.hp/gdb.objdbg/objdbg01.exp:
	* gdb.base/structs.exp (test_struct_returns):
	* gdb.base/call-sc.exp (test_scalar_returns):
	* gdb.base/bigcore.exp: Remove duplicate words.
gdb/gdbserver
	* win32-low.c (handle_load_dll): Remove duplicate "the".
2011-04-19 18:04:11 +00:00
Jan Kratochvil 0283589814 gdb/
Fix libraries displacement if they change whether they were prelinked.
	* solib-svr4.c (LM_ADDR_CHECK): Set L_ADDR even if the DYNAMIC pointer
	does not match.  Comment why.

gdb/testsuite/
	* gdb.base/break-interp-lib.c (v, vptr): New variables.
	* gdb.base/break-interp.exp (test_attach): New comment.
2011-04-17 19:17:10 +00:00
Jan Kratochvil 254f582e7e gdb/
* linux-thread-db.c (find_new_threads_callback): Exit on zero TI_TID
	even if !TARGET_HAS_EXECUTION.

gdb/testsuite/
	* gdb.threads/gcore-thread.exp ($core0file): New variable.
	(clear __stack_user.next, clear stack_used.next)
	(save a zeroed-threads corefile): New test.
	Call core_load for $core0file.
	(zeroed-threads cannot be listed): New test.
2011-04-17 19:11:07 +00:00
Jan Kratochvil 4fe85f5c27 gdb/testsuite/
* gdb.threads/gcore-thread.exp ($testfile): Match it the .exp
	filename.
	($srcfile): Preserve the original value.
	($testfile): Match it the .exp filename.
	($corefile): New variable.  Substitute it around.
	Use clean_restart.
	($prev_timeout): Remove.
	(load_core): Move core loading into this proc.
	Fix restore of $timeout if load_core fails.
2011-04-17 19:04:07 +00:00
Jan Kratochvil 63524580f8 bfd/
* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Do not check for
	SEC_LOAD.

gdb/
	Fix convert_code_addr_to_desc_addr for ppc64 files after eu-strip.
	* elfread.c (elf_symfile_read): New variable synth_abfd, pass it to
	bfd_get_synthetic_symtab.
	* jit.c (jit_register_code): Pass NULL to the new parameter parent.
	* machoread.c (macho_add_oso_symfile): Pass main_objfile to the new
	parameter parent, remove the call to add_separate_debug_objfile.
	* solib.c (solib_read_symbols): Pass NULL to the new parameter parent.
	* symfile-mem.c (symbol_file_add_from_memory): Likewise.
	* symfile.c (symbol_file_add_with_addrs_or_offsets): New parameter
	parent, new comment for it, call add_separate_debug_objfile for it.
	(symbol_file_add_separate): Pass objfile as the parameter parent,
	remove the call to add_separate_debug_objfile.
	(symbol_file_add_from_bfd): New parameter parent, pass it.
	(symbol_file_add): Pass NULL to the new parameter parent.
	* symfile.h (symbol_file_add_from_bfd): New parameter parent.

gdb/testsuite/
	* gdb.base/eu-strip-infcall.c: New file.
	* gdb.base/eu-strip-infcall.exp: New file.
2011-04-17 18:38:46 +00:00
Jan Kratochvil 90359a1673 gdb/
* elfread.c (elf_symtab_read): Do not ignore .L symbols if they are
	BSF_SYNTHETIC.

gdb/testsuite/
	* gdb.base/callfuncs.c (Lcallfunc, callfunc): New functions.
	* gdb.base/callfuncs.exp (print callfunc (Lcallfunc, 5)): New test.
2011-04-17 18:09:02 +00:00
Jan Kratochvil 626e728214 gdb/
Fix Python access to inlined frames.
	* python/py-frame.c (frapy_read_var): Find BLOCK using get_frame_block.
	* python/py-symbol.c (gdbpy_lookup_symbol): Likewise.

gdb/testsuite/
	Fix Python access to inlined frames.
	* gdb.python/py-frame-inline.c: New file.
	* gdb.python/py-frame-inline.exp: New file.
2011-04-17 14:14:23 +00:00
Edjunior Barbosa Machado 3363d018fd * gdb.base/gdb1090.exp: Change breakpoint location to read the
content of 's24' correctly (avoiding "optimized out").
* gdb.base/gdb1090.c: Add comment in order to set breakpoint.
2011-04-13 21:12:20 +00:00
Jan Kratochvil 2878145693 gdb/testsuite/
* lib/gdb.exp (gdb_breakpoint): New case for a GDB internal error.
2011-04-13 20:31:01 +00:00
Thiago Jung Bauermann 4a4106caaf gdb/
* breakpoint.c (watch_command_1): Remove colon from exp_string.

gdb/testsuite/
	* gdb.base/watchpoint.exp (test_inaccessible_watchpoint): Don't
	expect a colon in watch -location output.
2011-04-13 18:32:25 +00:00
Jan Kratochvil d26ccb4f7b gdb/testsuite/
* gdb.base/commands.exp (redefine_backtrace_test): Fix race.
	New testcase `expect response to define backtrace'.  Also remove
	redundant `default' block.
2011-04-13 15:54:05 +00:00
Jan Kratochvil e1ab1f9c66 gdb/testsuite/
* gdb.python/py-prettyprint.c (struct hint_error): New.
	(main): New variable hint_error.
	* gdb.python/py-prettyprint.exp (run_lang_tests): New testcase
	"print hint_error".
	* gdb.python/py-prettyprint.py (class pp_hint_error): New.
	(register_pretty_printers): Register it.
2011-04-11 17:40:41 +00:00
Tom Tromey 0c2e60193c gdb
* symfile.c (reread_symbols): Update.
	* objfiles.h (struct objfile) <cp_namespace_symtab>: Remove
	field.
	* objfiles.c (allocate_objfile): Update.
	* cp-support.h (cp_check_possible_namespace_symbols): Don't
	declare.
	* cp-namespace.c (lookup_symbol_file): Don't call
	lookup_possible_namespace_symbol.
	(initialize_namespace_symtab, get_possible_namespace_block)
	(free_namespace_block, cp_check_possible_namespace_symbols)
	(check_possible_namespace_symbols_loop)
	(check_one_possible_namespace_symbol)
	(lookup_possible_namespace_symbol): Remove.
	(maintenance_cplus_namespace): Replace with notice.
	(_initialize_cp_namespace): Deprecate `maint cplus namespace'.
gdb/testsuite
	* gdb.cp/maint.exp (test_help): Update.
	(test_namespace): Likewise.
2011-04-04 14:37:17 +00:00
Joel Brobecker af57139d01 extend scope of testing in gdb.ada/arrayptr
We add testing of taking a slice of an array access.  And we also
introduce the same amount of testing, but with an access to a
constrained array.

gdb/testsuite/ChangeLog:

        * gdb.ada/arrayptr/foo.adb: Add access to constrained array.
        * gdb.ada/arrayptr.exp: Add new tests.
2011-04-01 17:03:52 +00:00
Joel Brobecker 956a9fb9fb improve Ada exception catchpoint MI notification
This rewrites the code generating the Ada exception catchpoint hit
notification for both the GDB/MI case as well as the non-MI case,
by using the relevant ui_out_* functions to generate the output.
the MI notifications for Ada exception catchpoints now include
the stop reason, and the breakpoint "disp", much like other breakpoint
events do.  It also introduces a new field "exception-name" for
exception catchpoints (excluding "failed assertion catchpoints,
where we just want to know that it was a failed assertion).

gdb/ChangeLog:

        * breakpoint.h (bpdisp_text): Add declaration.
        * breakpoint.c (bpdisp_text): Make non-static.
        * ada-lang.c: #include "mi/mi-common.h".
        (print_it_exception): Rewrite to improve GDB/MI output.

gdb/doc/ChangeLog:

        * gdb.texinfo (GDB/MI Ada Exception Information): Document
        the "exception-name" field in the *stopped async record.

gdb/testsuite/ChangeLog:

        * gdb.ada/mi_catch_ex: New testcase.
2011-04-01 16:59:58 +00:00
Pedro Alves d0c4d64237 gdb/testsuite/
* gdb.cp/cpexprs.exp (Overloaded methods): No longer try the
	base::overload(void) method without specifying "const".
2011-04-01 16:26:37 +00:00
Ulrich Weigand 18819fa6ff gdb/
* arm-tdep.h (arm_insert_single_step_breakpoint): Add prototype.
	* arm-tdep.c (arm_override_mode): New global.
	(arm_pc_is_thumb): Respect arm_override_mode.  Remove single-step
	execution mode heuristics.
	(thumb_get_next_pc_raw): Remove INSERT_BKTP argument; always insert
	second single-step breakpoint if needed, using
	arm_insert_single_step_breakpoint.
	(arm_get_next_pc_raw): Remove INSERT_BKTP argument.  Only handle
	ARM execution mode, do not call thumb_get_next_pc_raw.
	(arm_get_next_pc): Encode execution mode in return value.  Call
	either arm_get_next_pc_raw or thumb_get_next_pc_raw.
	(arm_insert_single_step_breakpoint): New function.
	(arm_software_single_step): Call it.
	* arm-linux-tdep.c (arm_linux_sigreturn_return_addr): Add IS_THUMB
	argument to return execution mode of sigreturn target.
	(arm_linux_syscall_next_pc): Use it.
	(arm_linux_copy_svc): Update call.
	(arm_linux_software_single_step): Call
	arm_insert_single_step_breakpoint.

gdb/testsuite/
	* gdb.arch/thumb-singlestep.S: New file.
	* gdb.arch/thumb-singlestep.exp: Likewise.
2011-04-01 11:57:03 +00:00
Tom Tromey a4c8e80688 gdb
* varobj.c (update_dynamic_varobj_children): Properly handle
	errors from iterator.
gdb/testsuite
	* gdb.python/py-prettyprint.py (exception_flag): New global.
	(NoStringContainerPrinter._iterator.next): Check it.
	* gdb.python/py-prettyprint.c (main): New variable nstype2.
	* gdb.python/py-mi.exp: Set exception_flag and do more tests.
2011-03-31 19:59:26 +00:00
Tom Tromey 53832f3147 gdb
* dwarf2read.c (fixup_partial_die): Handle linkage name on
	otherwise anonymous types.
	(dwarf2_name): Likewise.
	* valops.c (value_struct_elt_for_reference): Refine artificial
	type logic.  Call error if j==-1.
gdb/testsuite
	* gdb.cp/anon-struct.cc: New file.
	* gdb.cp/anon-struct.exp: New file.
2011-03-29 17:04:31 +00:00
Jan Kratochvil e462023046 gdb/testsuite/
Test STT_GNU_IFUNC support.
	* gdb.base/gnu-ifunc-lib.c: New file.
	* gdb.base/gnu-ifunc.c: New file.
	* gdb.base/gnu-ifunc.exp: New file.
2011-03-28 20:31:54 +00:00
Jan Kratochvil d0fb5eaead gdb/
Support a ring of related breakpoints.
	* breakpoint.c (watchpoint_del_at_next_stop): New, move here code from
	other functions, add gdb_assert.
	(update_watchpoint, watchpoint_check): Add gdb_assert.  Use
	watchpoint_del_at_next_stop.
	(bpstat_check_watchpoint): Use watchpoint_del_at_next_stop.
	(bpstat_stop_status): Handle ring in related_breakpoint.
	(set_raw_breakpoint_without_location): Initialize ring in
	related_breakpoint.
	(delete_breakpoint): Handle ring in related_breakpoint, use
	watchpoint_del_at_next_stop.
	(map_breakpoint_numbers): Handle ring in related_breakpoint.

gdb/testsuite/
	Support a ring of related breakpoints.
	* gdb.base/watchpoint-delete.c: New file.
	* gdb.base/watchpoint-delete.exp: New file.
2011-03-28 20:19:02 +00:00
Jan Kratochvil 20106cfbdb gdb/testsuite/
* gdb.ada/arrayparam.exp (print first after function call): Use
	explicit package name.  Add a comment
	(print lasta after function call): Rename ...
	(print last after function call): ... it and use explicit package
	name.
	(print length after function call): Use explicit package name.
	* gdb.ada/str_ref_cmp.exp (operator = works for strings): New test.
	* gdb.ada/sym_print_name.exp: Change `i' to `integervar'.
	(multiple matches for symbol i): Rename ...
	(multiple matches for symbol integervar): ... it.
	* gdb.ada/sym_print_name/foo.adb (Foo): Change `I' to `IntegerVar'.
	* gdb.ada/sym_print_name/pck.ads (Pck): Likewise.
2011-03-28 20:07:12 +00:00
Andrew Burgess e7ab5e634b Move environment modifications into gdb_init so it's done just once per
test, and clear the GREP_OPTIONS environment variable. See,
  http://sourceware.org/ml/gdb-patches/2011-03/msg00886.html
2011-03-25 13:08:11 +00:00
Tom Tromey 9ef07c8ca4 gdb
PR breakpoints/11816:
	* linespec.c (decode_line_1): Parse `function:label' linespecs.
	(decode_compound): Update.
	(find_function_symbol): New function.
	(decode_dollar): Update.
	(decode_label): Add 'function_symbol' parameter.  Handle
	function-relative labels.
	(decode_variable): Update.
	(symbol_found): Add 'function_symbol' parameter.  Use label's PC,
	not its line.  Set `special_display' and canonical name for
	labels.
gdb/doc
	* gdb.texinfo (Specify Location): Document `function:label'
	linespec.
gdb/testsuite
	* gdb.base/label.exp: Use `main:there' linespec.  Add re-running
	test.
2011-03-24 20:25:17 +00:00
Jan Kratochvil dd90784ccd gdb/
* dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_entry_value.  New
	label abort_expression.
	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): Handle
	DWARF_VALUE_OPTIMIZED_OUT.

gdb/testsuite/
	* gdb.dwarf2/dw2-entry-value-main.c: New file.
	* gdb.dwarf2/dw2-entry-value.S: New file.
	* gdb.dwarf2/dw2-entry-value.exp: New file.
2011-03-22 21:06:34 +00:00
Phil Muldoon 057758407c 2011-03-21 Phil Muldoon <pmuldoon@redhat.com>
PR python/12183

	* python/py-function.c (fnpy_call): Treat GdbErrors differently to
	other error classes.  Do not print stack trace.

2011-03-21  Phil Muldoon  <pmuldoon@redhat.com>

        PR python/12183

	* gdb.python/py-function.exp: Add GdbError tests.
2011-03-22 09:38:16 +00:00
Pedro Alves 8661b11b18 gdb/testsuite/
* gdb.trace/unavailable.cc (args_test_func, local_test_func)
	(reglocal_test_func, statlocal_test_func): New functions.
	(globals_test_func): Call new functions.
	* gdb.trace/unavailable.exp (gdb_collect_args_test)
	(gdb_collect_locals_test): New procedure.
	(gdb_trace_collection_test): Call new procedures.
2011-03-18 18:51:08 +00:00
Pedro Alves 9a26e44c7c Whoops! Actually put the ChangeLog entries in the correct file...
2011-03-18  Pedro Alves  <pedro@codesourcery.com>

	* frame.h (frame_unwind_caller_pc_if_available): Declare.
	* frame.c (frame_unwind_caller_pc_if_available): New.
	* stack.c (frame_info): Handle unavailable PC.

2011-03-18  Pedro Alves  <pedro@codesourcery.com>

	* frame.c (frame_unwind_pc): Rename to ...
	(frame_unwind_pc_if_available): ... this.  New `pc' output
	parameter.  Change return type to int.  Gracefully handle
	gdbarch_unwind_pc throwing NOT_AVAILABLE_ERROR.  Return 0 if that
	happened, or 1 otherwise.
	(frame_unwind_pc): Reimplement on top of
	frame_unwind_pc_if_available.
	(get_frame_func): Rename to ...
	(get_frame_func_if_available): New `pc' output parameter.  Change
	return type to int.  Gracefully handle the PC not being available.
	(get_frame_func): Reimplement on top of
	get_frame_func_if_available.
	(select_frame): Handle the PC being unavailable.
	(get_prev_frame): Handle the PC being unavailable.
	(get_frame_pc_if_available): New.
	(get_frame_address_in_block_if_available): New.
	(find_frame_sal): Handle the frame PC not being available.
	* frame.h (get_frame_pc_if_available): Declare.
	(get_frame_address_in_block_if_available): Declare.
	(get_frame_func_if_available): Declare.
	* stack.c (print_frame_info): Handle the PC being unavailable.
	(find_frame_funname): Ditto.
	(print_frame): Handle the PC being unavailable.
	(get_frame_language): Ditto.
	* blockframe.c (get_frame_block): Ditto.
	* macroscope.c (default_macro_scope): Ditto.
	* tui/tui-stack.c (tui_show_frame_info): Ditto.

2011-03-18  Pedro Alves  <pedro@codesourcery.com>

	* dwarf2loc.c (dwarf2_evaluate_loc_desc): Catch
	NOT_AVAILABLE_ERROR when evaluating the location expression.

2011-03-18  Pedro Alves  <pedro@codesourcery.com>

	* dwarf2loc.c (read_pieced_value): Handle get_frame_register_bytes
	returning that the register piece is unavailable/optimized out.
	(write_pieced_value): Handle get_frame_register_bytes returning
	that the register piece is unavailable/optimized out when doing a
	read-modify write of a bitfield.
	* findvar.c (value_from_register): Handle get_frame_register_bytes
	returning that the register piece is unavailable/optimized out.
	* frame.c (get_frame_register_bytes): New parameters `optimizedp'
	and `unavailablep'.  Throw error on bad debug info.  Use
	frame_register instead of frame_register_read, to fill in the new
	arguments.
	* frame.h (get_frame_register_bytes): New parameters `optimizedp'
	and `unavailablep'.
	* valops.c: (value_assign): Adjust, and handle
	get_frame_register_bytes failing.
	* spu-tdep.c: Include exceptions.h.
	(spu_software_single_step): Adjust, and handle
	get_frame_register_bytes failing.
	(spu_get_longjmp_target): Ditto.
	* gdbarch.sh (register_to_value): Change to return int.  New
	parameters `optimizedp' and `unavailablep'.
	* gdbarch.h, gdbarch.c: Regenerate.
	* i386-tdep.c (i386_register_to_value): Adjust to new
	gdbarch_register_to_value interface.
	* i387-tdep.c (i387_register_to_value): Ditto.
	* i387-tdep.h (i387_register_to_value): Ditto.
	* alpha-tdep.c (alpha_register_to_value): Ditto.
	* ia64-tdep.c (ia64_register_to_value): Ditto.
	* m68k-tdep.c (m68k_register_to_value): Ditto.
	* mips-tdep.c (mips_register_to_value): Ditto.
	* rs6000-tdep.c (rs6000_register_to_value): Ditto.
2011-03-18 18:46:57 +00:00
Pedro Alves 008f8f2ee9 gdb/
* frame.h (frame_unwind_caller_pc_if_available): Declare.
	* frame.c (frame_unwind_caller_pc_if_available): New.
	* stack.c (frame_info): Handle unavailable PC.
2011-03-18 18:45:30 +00:00
Pedro Alves e3eebbd742 gdb/
* frame.c (frame_unwind_pc): Rename to ...
	(frame_unwind_pc_if_available): ... this.  New `pc' output
	parameter.  Change return type to int.  Gracefully handle
	gdbarch_unwind_pc throwing NOT_AVAILABLE_ERROR.  Return 0 if that
	happened, or 1 otherwise.
	(frame_unwind_pc): Reimplement on top of
	frame_unwind_pc_if_available.
	(get_frame_func): Rename to ...
	(get_frame_func_if_available): New `pc' output parameter.  Change
	return type to int.  Gracefully handle the PC not being available.
	(get_frame_func): Reimplement on top of
	get_frame_func_if_available.
	(select_frame): Handle the PC being unavailable.
	(get_prev_frame): Handle the PC being unavailable.
	(get_frame_pc_if_available): New.
	(get_frame_address_in_block_if_available): New.
	(find_frame_sal): Handle the frame PC not being available.
	* frame.h (get_frame_pc_if_available): Declare.
	(get_frame_address_in_block_if_available): Declare.
	(get_frame_func_if_available): Declare.
	* stack.c (print_frame_info): Handle the PC being unavailable.
	(find_frame_funname): Ditto.
	(print_frame): Handle the PC being unavailable.
	(get_frame_language): Ditto.
	* blockframe.c (get_frame_block): Ditto.
	* macroscope.c (default_macro_scope): Ditto.
	* tui/tui-stack.c (tui_show_frame_info): Ditto.
2011-03-18 18:44:34 +00:00
Pedro Alves 79e1a869ac gdb/
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Catch
	NOT_AVAILABLE_ERROR when evaluating the location expression.
2011-03-18 18:43:33 +00:00
Pedro Alves 8dccd430c9 gdb/
* dwarf2loc.c (read_pieced_value): Handle get_frame_register_bytes
	returning that the register piece is unavailable/optimized out.
	(write_pieced_value): Handle get_frame_register_bytes returning
	that the register piece is unavailable/optimized out when doing a
	read-modify write of a bitfield.
	* findvar.c (value_from_register): Handle get_frame_register_bytes
	returning that the register piece is unavailable/optimized out.
	* frame.c (get_frame_register_bytes): New parameters `optimizedp'
	and `unavailablep'.  Throw error on bad debug info.  Use
	frame_register instead of frame_register_read, to fill in the new
	arguments.
	* frame.h (get_frame_register_bytes): New parameters `optimizedp'
	and `unavailablep'.
	* valops.c: (value_assign): Adjust, and handle
	get_frame_register_bytes failing.
	* spu-tdep.c: Include exceptions.h.
	(spu_software_single_step): Adjust, and handle
	get_frame_register_bytes failing.
	(spu_get_longjmp_target): Ditto.
	* gdbarch.sh (register_to_value): Change to return int.  New
	parameters `optimizedp' and `unavailablep'.
	* gdbarch.h, gdbarch.c: Regenerate.
	* i386-tdep.c (i386_register_to_value): Adjust to new
	gdbarch_register_to_value interface.
	* i387-tdep.c (i387_register_to_value): Ditto.
	* i387-tdep.h (i387_register_to_value): Ditto.
	* alpha-tdep.c (alpha_register_to_value): Ditto.
	* ia64-tdep.c (ia64_register_to_value): Ditto.
	* m68k-tdep.c (m68k_register_to_value): Ditto.
	* mips-tdep.c (mips_register_to_value): Ditto.
	* rs6000-tdep.c (rs6000_register_to_value): Ditto.
2011-03-18 18:42:41 +00:00
Pedro Alves 0fdb4f184b gdb/
* findvar.c (value_of_register): Mark the value as unavailable, if
	the register is unavailable.
	* frame.h (frame_register_unwind): New `unavailablep' parameter.
	(frame_register): New `unavailablep' parameter.
	(frame_register_read): Update comment.
	* frame.c (frame_register_unwind): New `unavailablep' parameter.
	Set it if the register is unavailable.  If the register is
	unavailable, clear the output buffer.
	(frame_register): New `unavailablep' parameter.  Pass it down.
	(frame_unwind_register): Adjust.
	(put_frame_register): Adjust.
	(frame_register_read): Adjust.  Also return false if the register
	is not available.
	(frame_register_unwind_location): Adjust.
	* sentinel-frame.c (sentinel_frame_prev_register): If the register
	is unavailable, mark the value accordingly.
	* stack.c (frame_info): Handle unavailable registers.

	gdb/testsuite/
	* gdb.trace/unavailable.exp (fpreg, spreg, pcreg): Define.
	(test_register, test_register_unavailable): New procedures.
	(gdb_unavailable_registers_test): New procedure.
	(gdb_trace_collection_test): Call it.
2011-03-18 18:41:36 +00:00
Phil Muldoon 99c3dc11e4 2011-03-18 Phil Muldoon <pmuldoon@redhat.com>
PR python/12149

	* python/python.c (gdbpy_write): Accept a stream argument and
	operate to the appropriate stream.
	(gdbpy_flush): Likewise.
	(_initialize_python): Add stream constants.
	(finish_python_initialization): Add GdbOutputErrorFile class.

2011-03-18  Phil Muldoon  <pmuldoon@redhat.com>

        PR python/12149

	* gdb.texinfo (Basic Python): Update gdb.write and flush text.


2011-03-18  Phil Muldoon  <pmuldoon@redhat.com>

        PR python/12149

	* gdb.python/python.exp: Add gdb.write tests.
2011-03-18 08:44:47 +00:00
Phil Muldoon 29703da4b1 2011-03-17 Phil Muldoon <pmuldoon@redhat.com>
* python/py-symtab.c: Populate symtab_object_methods,
	    sal_object_methods.
	    (stpy_is_valid): New function.
	    (salpy_is_valid): Ditto.
	    * python/py-symbol.c: Declare symbol_object_methods.
	    Populate.
	    (sympy_is_valid): New function.
	    * python/py-objfile.c: Declare objfile_object_methods.
	    Populate.
	    (objfpy_is_valid): New function.
	    * python/py-inferior.c: Populate inferior_object_methods.
	    (infpy_is_valid): New function.
	    * python/py-infthread.c: Populate thread_object_methods.
	    (thpy_is_valid): New function.
	    * python/py-block.c: Declare block_object_methods.
	    Populate.  Declare
	    block_iterator_object_methods.  Populate.
	    (blpy_is_valid): New function.
	    (blpy_iter_is_valid): Ditto.

2010-03-17  Phil Muldoon  <pmuldoon@redhat.com>

	    * gdb.python/Makefile.in: Add py-objfile.
	    * gdb.python/py-objfile.exp: New file.
	    * gdb.python/py-objfile.c: New file.
	    * gdb.python/py-block.exp: Add is_valid tests.
	    * gdb.python/py-inferior.exp: Ditto.
	    * gdb.python/py-infthread.exp: Ditto.
	    * gdb.python/py-symbol.exp: Ditto.
	    * gdb.python/py-symtab.exp: Ditto.

2011-03-17  Phil Muldoon  <pmuldoon@redhat.com>

	    * gdb.texinfo (Blocks In Python): Add is_valid method
              description.
	      (Inferiors In Python): Likewise.
	      (Threads In Python): Likewise.
	      (Symbols In Python): Likewise.
	      (Objfiles In Python): Likewise.
	      (Symbol Tables In Python): Likewise.
2011-03-17 09:36:17 +00:00
Keith Seitz 598997c828 PR c++/12273
* gdb.cp/cmpd-minsyms.exp: New test.
	* gdb.cp/cmpd-minsyms.cc: New file.

	PR c++/11734
	* gdb.cp/ovsrch.exp: New test.
	* gdb.cp/ovsrch.h: New file.
	* gdb.cp/ovsrch1.cc: New file.
	* gdb.cp/ovsrch2.cc: New file.
	* gdb.cp/ovsrch3.cc: New file.
	* gdb.cp/ovsrch4.cc: New file.
2011-03-16 21:08:57 +00:00
Paul Pluzhnikov c91513d8bc ChangeLog:
2011-03-16  Paul Pluzhnikov  <ppluzhnikov@google.com>

	PR gdb/12528
	* dwarf2read.c (noop_record_line): New function.
	(dwarf_decode_lines): Ignore line tables for GCd functions.

testsuite/ChangeLog:

2011-03-16  Paul Pluzhnikov  <ppluzhnikov@google.com>

	PR gdb/12528
	* gdb.base/Makefile.in: Adjust EXECUTABLES.
	* gdb.base/break-on-linker-gcd-function.exp: New test.
	* gdb.base/break-on-linker-gcd-function.cc: New file.
2011-03-16 18:16:26 +00:00
Andreas Tobler 7470fc6300 2011-03-15 Andreas Tobler <andreast@fgznet.ch>
* gdb.base/jit-main.c: Define ElfW for non glibc elf targets.
2011-03-15 21:03:44 +00:00
Phil Muldoon 959e74695a 2011-03-15 Phil Muldoon <pmuldoon@redhat.com>
* lib/gdb.exp (gdb_unload): Add another termination case.
2011-03-15 16:41:42 +00:00
Jan Kratochvil 9373cf2619 gdb/
* dwarf2read.c (dwarf2_get_pc_bounds): Require HIGH strictly higher
	than LOW.  Comment it.
	(read_partial_die): Call complaint for inappropriate zero LOWPC or
	HIGHPC not strictly higher than LOWPC.

gdb/testsuite/
	* gdb.dwarf2/dw2-empty-pc-range.S: New file.
	* gdb.dwarf2/dw2-empty-pc-range.exp: New file.
	* gdb.dwarf2/pr11465.S: New .text labels text_start and text_end.
	Provide a stub byte there.
	(DW_TAG_compile_unit): Set DW_AT_low_pc, DW_AT_high_pc and
	DW_AT_entry_pc.
	(dieb4, dieda): Set DW_AT_high_pc higher than DW_AT_low_pc.
2011-03-15 15:57:12 +00:00
Ulrich Weigand 24e9cda068 gdb/
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Add support
	for the "generic" vector ABI used with GCC 4.3 and later.
	(ppc64_sysv_abi_return_value): Likewise.

gdb/testsuite:
	* gdb.arch/altivec-abi.exp: Skip "generic" tests on 64-bit when
	using a GCC 4.1 or 4.2 compiler.  Add an additional test variant
	"generic ABI, auto".
	(altivec_abi_tests): Accept vectors returned by reference.
2011-03-15 14:42:34 +00:00
Phil Muldoon 7371cf6d8d 2011-03-14 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Breakpoints In Python): Add description and
              example
	      of Python stop function operation.

2010-03-14  Phil Muldoon  <pmuldoon@redhat.com>

	    * gdb.python/py-breakpoint.exp: Add Python stop operations
              tests.

2011-03-14  Phil Muldoon  <pmuldoon@redhat.com>

	    * python/python.h: Declare gdbpy_should_stop and
	    gdbpy_breakpoint_has_py_cond.
	    * python/python.c: Add python.h to includes.  Remove
	    python.h from
	    HAVE_PYTHON definition
	    (gdbpy_should_stop): New dummy function.
	    (gdbpy_breakpoint_has_py_cond): New dummy function.
	    * python/py-breakpoint.c (bppy_init): Rewrite to allow
	    sub-classing capabilities.
	    (gdbpy_should_stop): New function.
	    (gdbpy_breakpoint_has_py_cond): New function.
	    (local_setattro): New function.
	    * breakpoint.c (condition_command): Add check for Python
	    'stop'
	    operation.
	    (bpstat_check_breakpoint_conditions): Execute Python
	    'stop'
	    operation function as part of stop/continue tests.
2011-03-14 16:09:55 +00:00
Ulrich Weigand ce77046a68 * gdb.python/py-section-script.exp: Skip test if no Python support. 2011-03-13 13:39:17 +00:00
Ulrich Weigand 176400c353 * gdb.base/solib-weak.exp: Allow "." prefix for ppc64. 2011-03-13 01:07:02 +00:00
Phil Muldoon ecec24e64a 2011-03-10 Phil Muldoon <pmuldoon@redhat.com>
* python/py-param.c (add_setshow_generic): Add set/show callback
	parameters.  Register Python object context.
	(get_show_value): New function.
	(get_set_value): New function.
	(call_doc_function): New function.
	(get_doc_string): Move behind get_show_value/get_set_value.

2011-03-10  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.texinfo (Parameters In Python): Document get_set_string and
	get_show_string methods.

2011-03-10  Phil Muldoon  <pmuldoon@redhat.com>

	* gdb.python/py-parameter.exp: Update tests to the new Python
	parameter API. Add "no documentation" test.  Add deprecated API
	backward compatibility test.
2011-03-10 12:29:08 +00:00
Tom Tromey 5dbdd470c7 * gdb.ada/catch_ex.exp: Use explicit gdb_test rather than
gdb_continue_to_end.
2011-03-09 18:41:31 +00:00
Mark Kettenis b66e66ee3a * gdb.base/memattr.exp: Adjust regexps to accept spaces as well as
tabs.
2011-03-09 16:54:51 +00:00
Tom Tromey eceb0c5f49 * lib/gdb.exp (inferior_exited_re): Match. leading `['. Wrap in
parentheses.
	(gdb_continue_to_end): Add "allow_extra" parameter.  Use
	$command.
	* gdb.threads/thread-unwindonsignal.exp: Pass "allow_extra"
	argument to gdb_continue_to_end.
	* gdb.threads/interrupted-hand-call.exp: Pass "allow_extra"
	argument to gdb_continue_to_end.
	* gdb.cp/annota3.exp: Fix regex.
	* gdb.cp/annota2.exp: Fix regex.
	* gdb.base/shlib-call.exp: Pass "allow_extra" argument to
	gdb_continue_to_end.
	* gdb.base/call-signal-resume.exp: Revert earlier patch.
	* gdb.ada/tasks.exp: Pass "allow_extra" argument to
	gdb_continue_to_end.
2011-03-09 14:17:05 +00:00
Pedro Alves 63154eca7b gdb/
2011-03-08  Pedro Alves  <pedro@codesourcery.com>

	* remote.c (remote_check_symbols): Skip if the target has no
	execution.

gdb/testsuite/
2011-03-08  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.server/ext-run.exp
	(load new file without any gdbserver inferior): New test.
2011-03-08 12:46:52 +00:00
Tom Tromey 967d1f9b81 * Makefile.in (TAGS): Rewrite. 2011-03-07 22:02:45 +00:00
Jan Kratochvil d68dcbb953 gdb/testsuite/
* gdb.trace/report.exp (12.1: trace report #1): New match for the
	initial commands echo.  New match for `Found trace'.  Anchor all the
	other matches.  Anchor and match for `No trace frame found' the final
	match.
2011-03-07 20:25:57 +00:00
Tom Tromey 6bf58e63b7 * Makefile.in (TAGS): New target. 2011-03-07 17:03:51 +00:00
Tom Tromey fda326dd1d gdb
* infrun.c (print_exited_reason): Include inferior id and pid in
	message.
gdb/testsuite
	* lib/opencl.exp (skip_opencl_tests): Update for exit message
	change.
	* lib/mi-support.exp (mi_gdb_test): Update for exit message
	change.
	* lib/gdb.exp (gdb_test_multiple): Update comment.  Update for
	exit message change.
	(skip_altivec_tests): Update for exit message change.
	(skip_vsx_tests): Likewise.
	(gdb_continue_to_end): Likewise.  Add 'command' argument.
	* lib/cell.exp (skip_cell_tests): Update for exit message change.
	* gdb.threads/tls.exp: Update for exit message change.
	* gdb.threads/thread-unwindonsignal.exp: Use
	gdb_continue_to_end.
	* gdb.threads/step.exp (step_it): Update for exit message change.
	(continue_all): Likewise.
	* gdb.threads/print-threads.exp (test_all_threads): Update for
	exit message change.
	* gdb.threads/interrupted-hand-call.exp: Use
	gdb_continue_to_end.
	* gdb.threads/execl.exp: Use gdb_continue_to_end.
	* gdb.python/py-prettyprint.exp (run_lang_tests): Use
	gdb_continue_to_end.
	* gdb.hp/gdb.objdbg/objdbg02.exp: Use gdb_continue_to_end.
	* gdb.hp/gdb.objdbg/objdbg01.exp: Use gdb_continue_to_end.
	* gdb.hp/gdb.defects/solib-d.exp: Update for exit message change.
	* gdb.cp/method.exp: Update for exit message change.
	* gdb.cp/mb-templates.exp: Update for exit message change.
	* gdb.cp/mb-inline.exp: Use gdb_continue_to_end.
	* gdb.cp/annota3.exp: Update for exit message change.
	* gdb.cp/annota2.exp: Update for exit message change.
	* gdb.cell/fork.exp: Use gdb_continue_to_end.
	* gdb.base/term.exp: Update for exit message change.
	* gdb.base/step-test.exp (test_i): Update for exit message change.
	* gdb.base/sigstep.exp (advance): Update for exit message change.
	(advancei): Likewise.
	* gdb.base/siginfo.exp: Update for exit message change.
	* gdb.base/shlib-call.exp: Use gdb_continue_to_end.
	* gdb.base/reread.exp: Use gdb_continue_to_end.
	* gdb.base/langs.exp: Use gdb_continue_to_end.
	* gdb.base/interrupt.exp: Update for exit message change.
	* gdb.base/gdb1555.exp: Update for exit message change.
	* gdb.base/exe-lock.exp: Use gdb_continue_to_end.
	* gdb.base/ending-run.exp: Update for exit message change.
	* gdb.base/chng-syms.exp: Update for exit message change.
	* gdb.base/checkpoint.exp: Update for exit message change.
	* gdb.base/catch-syscall.exp (check_for_program_end): Use
	gdb_continue_to_end.
	(test_catch_syscall_with_wrong_args): Likewise.
	* gdb.base/call-signal-resume.exp: Use gdb_continue_to_end.
	* gdb.base/break-interp.exp (test_ld): Update for exit message
	change.
	* gdb.base/bang.exp: Update for exit message change.
	* gdb.base/attach.exp (do_attach_tests): Use gdb_continue_to_end.
	(do_call_attach_tests): Likewise.
	* gdb.base/a2-run.exp: Update for exit message change.
	* gdb.arch/ppc-dfp.exp: Update for exit message change.
	* gdb.ada/tasks.exp: Use gdb_continue_to_end.
	* gdb.ada/catch_ex.exp: Use gdb_continue_to_end.
2011-03-07 16:03:04 +00:00
Jan Kratochvil dd19bd7059 * gdb.base/help.exp (help thread find): Fix one forgotten quote. 2011-03-05 13:15:02 +00:00
Tom Tromey 30e6268931 * gdb.hp/gdb.aCC/Makefile.in (Makefile): Remove.
* gdb.hp/gdb.aCC/configure (Makefile): Remove.
	* gdb.hp/gdb.aCC/configure.ac: Remove.
	* gdb.hp/gdb.base-hp/Makefile.in (Makefile): Remove.
	* gdb.hp/gdb.base-hp/configure (Makefile): Remove.
	* gdb.hp/gdb.base-hp/configure.ac: Remove.
	* gdb.hp/gdb.compat/Makefile.in (Makefile): Remove.
	* gdb.hp/gdb.compat/configure (Makefile): Remove.
	* gdb.hp/gdb.compat/configure.ac: Remove.
	* gdb.hp/gdb.defects/Makefile.in (Makefile): Remove.
	* gdb.hp/gdb.defects/configure (Makefile): Remove.
	* gdb.hp/gdb.defects/configure.ac: Remove.
	* gdb.hp/gdb.objdbg/Makefile.in (Makefile): Remove.
	* gdb.hp/gdb.objdbg/configure (Makefile): Remove.
	* gdb.hp/gdb.objdbg/configure.ac: Remove.
	* gdb.hp/configure.ac: Remove.
	* gdb.hp/configure: Remove.
	* gdb.hp/Makefile.in (SUBDIRS): No longer a configure
	substitution.
	(Makefile): Remove rule.
	* gdb.cell/configure.ac: Remove.
	* gdb.cell/configure: Remove.
	* gdb.stabs/Makefile.in (Makefile): Remove.
	(distclean): Don't remove config.status or config.log.
	* gdb.stabs/configure (Makefile): Remove.
	* gdb.stabs/configure.ac: Remove.
	* configure: Rebuild.
	* configure.ac: Don't AC_CONFIG_SUBDIRS in gdb.hp or gdb.stabs.
	Remove stabs- and cell-specific logic.  Test for existence of
	../gdbtk before configuring gdb.gdbtk.  Build Makefiles in gdb.hp
	subdirectories, gdb.cell, and and gdb.stabs.
	* Makefile.in (ALL_SUBDIRS): Add gdb.hp and gdb.stabs.
2011-03-03 16:57:58 +00:00
Joel Brobecker c171f8549c py-inferior.exp: Avoid searching pattern beyond buffer
gdb/testsuite/ChangeLog:

        * gdb.python/py-inferior.exp: Avoid searching pattern beyond
        end of buffer.
2011-03-03 03:55:31 +00:00
Joel Brobecker 9a5193cb85 use gdb_test_no_output in gdb.python/py-inferior.exp
gdb/testsuite/ChangeLog:

        * gdb.python/py-inferior.exp: Use gdb_test_no_output instead of
        gdb_test when running a test where we expected no output back.
2011-03-02 15:17:01 +00:00
Michael Snyder 9bb4c1bb7e 2011-02-28 Michael Snyder <msnyder@vmware.com>
* gdb.cp/overload.cc: Change initializer value to integer.
2011-02-28 19:00:51 +00:00
Michael Snyder 3bd0f5efd1 2011-02-24 Michael Snyder <msnyder@vmware.com>
* value.c (value_from_history_ref): New function.
	* value.h (value_from_history_ref): Export.
	* cli/cli-utils.c (get_number_trailer): Use value_from_history_ref
	to parse value history references.
	* cli/cli-utils.h (get_number_trailer): Update comment.

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

	* gdb.base/break.exp: Add tests for delete breakpoints using
	convenience variables and value history references.
2011-02-27 20:57:16 +00:00
Michael Snyder af62414197 2011-02-25 Michael Snyder <msnyder@vmware.com>
* inferior.c (detach_inferior_command): Use get_number_or_range.
	(kill_inferior_command): Ditto.
	(remove_inferior_command): Ditto.
	(initialize_inferiors): Make command names plural.
	Update help strings.

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

	* gdb.texinfo (Inferiors and Programs): Update commands to show
	that they can accept multiple arguments.

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

	* gdb.multi/base.exp: Add test for remove-inferiors.
2011-02-27 20:49:27 +00:00
Joel Brobecker 2279eaad98 use prepare_for_testing in gdb.python/py-frame.exp
gdb/testsuite/ChangeLog:

        * gdb.python/py-frame.exp: Simplify the initialization phase
        using prepare_for_testing.
2011-02-26 14:06:28 +00:00
Michael Snyder c82c0b55e7 2011-02-25 Michael Snyder <msnyder@vmware.com>
* inferior.c (print_inferior): Accept a string instead of an int
	for requested_inferiors, and use get_number_or_range to parse it.
	(info_inferiors_command): Pass args string to print_inferior.
	(initialize_inferiors): Change help string for info inferiors.
	* inferior.h (print_inferior): Export prototype change.

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

	* gdb.multi/base.exp: Add tests for info inferiors with args.
2011-02-25 19:19:26 +00:00
Jan Kratochvil 1d94651b5c gdb/testsuite/
* gdb.dwarf2/dw2-ranges.S: Rename to ...
	* gdb.dwarf2/dw2-ranges.c: ... here, convert it to C.
	* gdb.dwarf2/dw2-ranges.exp: Skip the testcase on !$gcc_compiled.
	Rename srcfile, srcfile2 and srcfile3, new asmfile, asmfile2 and
	asmfile3.  Comment the STABS (#3) file compilation.  Compile
	everything through assembler.  Provide KFAIL for symtab/12497.
	* gdb.dwarf2/dw2-ranges2.S: Rename to ...
	* gdb.dwarf2/dw2-ranges2.c: ... here, convert it to C.
	* gdb.dwarf2/dw2-ranges3.S: Rename to ...
	* gdb.dwarf2/dw2-ranges3.c: ... here, convert it to C.
2011-02-25 08:28:07 +00:00
Michael Snyder 12c1418efb 2011-02-24 Michael Snyder <msnyder@vmware.com>
* gdb.base/break.exp: Remove debugging 'printf' accidentally
	left behind in previous check-in.
2011-02-24 18:37:14 +00:00
Michael Snyder e5a67952d6 2011-02-21 Michael Snyder <msnyder@vmware.com>
* breakpoint.c (breakpoint_1): Change first argument from an int
	to a char pointer, so that the function now accepts a list of
	breakpoints rather than just one.  Use new function
	'number_is_in_list' to implement.
	(breakpoints_info): Pass char * instead of int to breakpoint_1.
	(watchpoints_info): Ditto.
	(tracepoints_info): Ditto.
	(maintenance_info_breakpoints): Ditto.
	(_initialize_breakpoint): Update help strings to reflect the fact
	that these functions can now take more than one argument.
	* cli/cli-utils.c (number_is_in_list): New function.
	* cli/cli-utils.h (number_is_in_list): Export.

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

	* gdb.texinfo (Set Breaks): Add @dots{} to arguments of info break.
	(Set Watchpoints): Add @dots{} to argument of info watchpoints.
	(Listing Tracepoints): Add @dots{} to argument of info tracepoints.

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

	* gdb.base/break.exp: Add tests for "info break" with arguments.
	* gdb.trace/infotrace.exp: Update patterns for error and help.
	* gdb.base/completion.exp: Update pattern.
	* gdb.base/ena-dis-br.exp: Update pattern.
	* gdb.base/help.exp: Update patterns.
2011-02-23 19:20:39 +00:00
Michael Snyder fbcb778d0c 2011-02-22 Michael Snyder <msnyder@vmware.com>
* memattr.c (mem_enable_command): Use get_number_or_range.
	(mem_disable_command): Ditto.
	(mem_delete_command): Ditto.
	(_initialize_mem): Tweak usage message to reflect multiple
	arguments.

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

	* gdb.base/memattr.exp: New test.
	* gdb.base/memattr.c: Test load for memattr.exp.
2011-02-23 18:30:22 +00:00
Doug Evans 6e6fbe60bc Add gdb.lookup_global_symbol python function.
* NEWS: Add entry.
	* python/py-symbol.c (gdbpy_lookup_global_symbol): New function.
	* python/python-internal.h (gdbpy_lookup_global_symbol): Declare it.
	* python/python.c (GdbMethods): Add entry for lookup_global_symbol.

	doc/
	* gdb.texinfo (Symbols In Python): Document lookup_global_symbol.
	Clarify behaviour of lookup_symbol when `block' argument is omitted,
	add description of result, fix @defun formatting.

	testsuite/
	* gdb.python/py-symbol.exp: Test lookup_global_symbol.
2011-02-22 22:48:12 +00:00
Michael Snyder 1d41d745ca 2011-02-22 Michael Snyder <msnyder@vmware.com>
* Makefile.in: Make more clean.
	* gdb.ada/Makefile.in: Ditto.
	* gdb.arch/Makefile.in: Ditto.
	* gdb.asm/Makefile.in: Ditto.
	* gdb.base/Makefile.in: Ditto.
	* gdb.cp/Makefile.in: Ditto.
	* gdb.dwarf2/Makefile.in: Ditto.
	* gdb.java/Makefile.in: Ditto.
	* gdb.mi/Makefile.in: Ditto.
	* gdb.modula2/Makefile.in: Ditto.
	* gdb.python/Makefile.in: Ditto.
	* gdb.server/Makefile.in: Ditto.
	* gdb.stabs/Makefile.in: Ditto.
	* gdb.threads/Makefile.in: Ditto.
	* gdb.trace/Makefile.in: Ditto.
2011-02-22 20:52:49 +00:00
Michael Snyder 79ba84ca24 2011-02-22 Michael Snyder <msnyder@vmware.com>
* gdb.threads/thread-find.exp: Add tests for bad input to
	info threads.
2011-02-22 18:51:27 +00:00
Joel Brobecker b9b35694e3 allow py-breakpoint.exp to work with software watchpoints
I noticed that the last "maint info breakpoints" test expects the
output to contain:

        .*hw watchpoint.*

But some platforms do not have hw watchpoints (for instance, the
sim on erc32 doesn't).  So I changed the expected output to accept
either.

gdb/testsuite/ChangeLog:

        * gdb.python/py-breakpoint.exp: Fix the expected output of
        one of the "maint info breakpoints" tests to accept the output
        generated on platforms that do not have hardware watchpoints.
2011-02-22 16:39:56 +00:00
Joel Brobecker 8bfb830fcc small py-breakpoint.exp cleanups
gdb/testsuite/ChangeLog:

        * gdb.python/py-breakpoint.exp: Remove unnecessary call to
        clean_restart.  Be a little stricter in the expected output
        for one of the tests.  Fix a typo in one of the comments.
2011-02-22 16:39:10 +00:00
Joel Brobecker c45f3c548d minor adjustments in gdb.python/py-block.exp
gdb/testsuite/ChangeLog:

        * gdb.python/py-block.exp: Simplify using prepare_for_testing.
        Delete variable binfile, no longer use.  Add or modify test
        comments to make them unique.
2011-02-22 08:01:16 +00:00
Michael Snyder b97c863c18 2011-02-21 Michael Snyder <msnyder@vmware.com>
* Makefile.in: Update for make clean.
	* gdb.ada/Makefile.in: Ditto.
	* gdb.arch/Makefile.in: Ditto.
	* gdb.asm/Makefile.in: Ditto.
	* gdb.base/Makefile.in: Ditto.
	* gdb.cp/Makefile.in: Ditto.
	* gdb.dwarf2/Makefile.in: Ditto.
	* gdb.java/Makefile.in: Ditto.
	* gdb.mi/Makefile.in: Ditto.
	* gdb.modula2/Makefile.in: Ditto.
	* gdb.python/Makefile.in: Ditto.
	* gdb.server/Makefile.in: Ditto.
	* gdb.stabs/Makefile.in: Ditto.
	* gdb.threads/Makefile.in: Ditto.
	* gdb.trace/Makefile.in: Ditto.
2011-02-22 03:23:20 +00:00
Michael Snyder aea5b2797c 2011-02-21 Michael Snyder <msnyder@vmware.com>
* gdbthread.h (print_thread_info): Change prototype.
	* thread.c (print_thread_info): Accept char* instead of int for
	requested_threads argument.  Use new function number_is_in_list
	to determine which threads to list.
	(info_threads_command): Pass char* to print_thread_info.
	* cli/cli-utils.c (number_is_in_list): New function.
	* cli/cli-utils.h (number_is_in_list): Export.
	* mi/mi-main.c (mi_cmd_thread_info): Pass char* to
	print_thread_info.
	(print_one_inferior): Ditto.
	(mi_cmd_list_thread_groups): Ditto.

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

	* gdb.threads/thread-find.exp: Update patterns for changes in
	output of "info threads" command.
2011-02-21 23:40:47 +00:00
Ulrich Weigand e3039479e4 ChangeLog:
* arm-linux-nat.c: Include "observer.h" and "gdbthread.h".
	(PTRACE_GETHBPREGS, PTRACE_SETHBPREGS): Define.
	(struct arm_linux_hwbp_cap): New type.
	(arm_linux_get_hwbp_cap): New function.
	(arm_linux_get_hw_breakpoint_count): Likewise.
	(arm_linux_get_hw_watchpoint_count): Likewise.
	(arm_linux_can_use_hw_breakpoint): Likewise.
	(arm_hwbp_type): New type.
	(arm_hwbp_control_t): Likewise.
	(struct arm_linux_hw_breakpoint): Likewise.
	(struct arm_linux_thread_points): Likewise.
	(arm_threads): New global variable.
	(arm_linux_find_breakpoints_by_tid): New function.
	(arm_hwbp_control_initialize): Likewise.
	(arm_hwbp_control_is_enabled): Likewise.
	(arm_hwbp_control_disable): Likewise.
	(arm_linux_hw_breakpoint_initialize): Likewise.
	(arm_linux_get_hwbp_type): Likewise.
	(arm_linux_hw_watchpoint_initialize): Likewise.
	(arm_linux_hw_breakpoint_equal): Likewise.
	(arm_linux_insert_hw_breakpoint1): Likewise.
	(arm_linux_remove_hw_breakpoint1): Likewise.
	(arm_linux_insert_hw_breakpoint): Likewise.
	(arm_linux_remove_hw_breakpoint): Likewise.
	(arm_linux_region_ok_for_hw_watchpoint): Likewise.
	(arm_linux_insert_watchpoint): Likewise.
	(arm_linux_remove_watchpoint): Likewise.
	(arm_linux_stopped_data_address): Likewise.
	(arm_linux_stopped_by_watchpoint): Likewise.
	(arm_linux_watchpoint_addr_within_range): Likewise.
	(arm_linux_new_thread): Likewise.
	(arm_linux_thread_exit): Likewise.
	(_initialize_arm_linux_nat): Install hardware breakpoint/watchpoint
	related target callbacks.  Register arm_linux_new_thread and
	arm_linux_thread_exit.
	* arm-tdep.h (arm_pc_is_thumb): Add prototype.
	* arm-tdep.c (arm_pc_is_thumb): Make global.
	(arm_gdbarch_init): Call set_gdbarch_have_nonsteppable_watchpoint.

testsuite/ChangeLog:

	* lib/gdb.exp (skip_hw_breakpoint_tests): Add arm*-*-* target.
	(skip_hw_watchpoint_tests): Likewise.
	(skip_hw_watchpoint_multi_tests): Likewise.
2011-02-21 15:03:38 +00:00
Ulrich Weigand b800ec70e3 * lib/gdb.exp (skip_hw_breakpoint_tests): New procedure.
(skip_hw_watchpoint_tests): Likewise.
	(skip_hw_watchpoint_multi_tests): Likewise.
	(skip_hw_watchpoint_access_tests): Likewise.

	* gdb.base/hbreak.exp: Use appropriate skip_hw_..._tests checks.
	* gdb.base/pr11022.exp: Likewise.
	* gdb.base/watch-read.exp: Likewise.
	* gdb.base/watch_thread_num.exp: Likewise.
	* gdb.base/watchpoint-hw-hit-once.exp: Likewise.
	* gdb.base/watchpoint-hw.exp: Likewise.
	* gdb.base/watchpoint.exp: Likewise.
	* gdb.threads/local-watch-wrong-thread.exp: Likewise.
	* gdb.threads/watchthreads-reorder.exp: Likewise.
	* gdb.threads/watchthreads.exp: Likewise.
	* gdb.threads/watchthreads2.exp: Likewise.
2011-02-21 14:57:38 +00:00
Joel Brobecker 91033e3716 add xfail for "print u_var" test in gdb.ada/packed_array.exp
gdb/testsuite/ChangeLog:

        * gdb.ada/packed_array.exp: Add xfail for "print u_var" if
        the debugger is unable to find the array bounds.
2011-02-21 10:12:14 +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
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
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
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
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
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
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
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
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
Jan Kratochvil bc9a5551ca gdb/
Fix const/volatile qualifiers of C++ types, PR c++/12328.
	* c-typeprint.c (c_type_print_args): Update the function comment.  New
	variable param_type, initialize it.  Remove const/volatile qualifiers
	for language_cplus and !show_artificial.  Use param_type.

gdb/testsuite/
	Fix const/volatile qualifiers of C++ types, PR c++/12328.
	* gdb.cp/overload-const.exp: New file.
	* gdb.cp/overload-const.cc: New file.
2011-02-13 09:15:54 +00:00
Ulrich Weigand 54fcddd0ac include/ChangeLog:
* dwarf2.h (enum dwarf_calling_convention): Add DW_CC_GDB_IBM_OpenCL.

gdb/ChangeLog:

	* dwarf2read.c (read_subroutine_type): Set special calling
	convention flag for functions compiled by IBM XL C for OpenCL.
	* ppc-sysv-tdep.c: Include "dwarf2.h"
	(ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types
	calling convention.
	(do_ppc_sysv_return_value): Add FUNC_TYPE argument.  Implement
	IBM OpenCL vector types calling convention.
	(ppc_sysv_abi_return_value): Pass through FUNC_TYPE.
	(ppc_sysv_abi_broken_return_value): Likewise.
	(ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector
	types calling convention.
	(ppc64_sysv_abi_return_value): Likewise.
	* spu-tdep.c: Include "dwarf2.h"
	(spu_return_value): Implement IBM OpenCL vector types calling
	convention.

gdb/testsuite/ChangeLog:

	* gdb.opencl/callfuncs.cl: New file.
	* gdb.opencl/callfuncs.exp: New test.
	* gdb.opencl/Makefile.in (EXECUTABLES): Add callfuncs.
2011-02-08 13:30:10 +00:00
Ulrich Weigand d6dafb7c8e ChangeLog:
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Implement
	correct ABI for AltiVec vector arguments.

testsuite/ChangeLog:

	* gdb.arch/altivec-abi.c (vec_func): Make use of intv_on_stack_f
	when computing result.
	* gdb.arch/altivec-abi.exp: Update expected results.
2011-02-08 13:25:01 +00:00
Thiago Jung Bauermann a449c2d800 * gdb.base/break-interp.exp: Remove ${objdir} from test messages.
* gdb.base/jit.exp: Likewise.
	* gdb.base/pie-execl.exp: Likewise.
	* gdb.base/solib-nodir.exp: Likewise.
	* gdb.base/solib-overlap.exp: Likewise.
2011-02-07 13:35:42 +00:00
Pedro Alves 764880b7ed gdb/server/
* server.c (gdb_read_memory): Change return semantics to allow
	partial transfers.
	(handle_search_memory_1): Adjust.
	(process_serial_event) <'m' packet>: Handle partial transfers.
	* tracepoint.c (traceframe_read_mem): Handle partial transfers.

	gdb/testsuite/
	* gdb.trace/collection.c (global_pieces): New.
	* gdb.trace/collection.exp (gdb_collect_global_in_pieces_test):
	New procedure.
	(gdb_trace_collection_test): Call it.
2011-02-07 12:14:14 +00:00
Hui Zhu c17a9e4688 Add the file that prev commit forget. 2011-02-05 05:27:23 +00:00
Sami Wagiaalla 505500db28 Add Python support for GDB events.
2011-02-04  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.python/py-evthreads.c: New file.
	* gdb.python/py-evthreads.exp: New file.
	* gdb.python/py-events.py: New file.
	* gdb.python/py-events.exp: New file.
	* gdb.python/py-events.c: New file.

2011-02-04  Sami Wagiaalla  <swagiaal@redhat.com>
                Oguz Kayral <oguzkayral@gmail.com>

	* python/py-inferior.c (python_on_normal_stop): New function.
	(python_on_resume): New function.
	(python_inferior_exit): New function.
	(gdbpy_initialize_inferior): Add normal_stop, target_resumed, and
	inferior_exit observers.
	* python/py-evtregistry.c: New file.
	* python/py-threadevent.c : New file.
	* python/py-event.c: New file.
	* python/py-evts.c: New file.
	* python/py-continueevent.c: New file.
	* python/py-bpevent.c: New file.
	* python/py-signalevent.c: New file.
	* python/py-exetiedevent.c: New file.
	* python/py-breakpoint.c (gdbpy_breakpoint_from_bpstats): New function.
	Move struct breakpoint_object from here...
	* python/python-internal.h: ... to here.
	* python/py-event.h: New file.
	* python/py-events.h: New file.
	* Makefile.in (SUBDIR_PYTHON_OBS): Add py-breakpointstopevent.o,
	py-continueevent.o, py-event.o, py-eventregistry.o, py-events.o,
	py-exitedevent.o, py-signalstopevent.o, and py-stopevent.o.
	(SUBDIR_PYTHON_SRCS): Add py-breakpointstopevent.c,
	py-continueevent.c, py-event.c, py-eventregistry.c, py-events.c,
	py-exitedevent.c, py-signalstopevent.c, and py-stopevent.c.
	Add build rules for all the above.
2011-02-04 21:54:16 +00:00
David Daney 385203ed4d gdb/
2011-02-04 David Daney <ddaney@caviumnetworks.com>

	* mips-linux-tdep.c: Include xml-syscall.h.
	(mips_linux_get_syscall_number): New function.
	(mips_linux_init_abi): Add calls to
	mips_linux_get_syscall_number() and set_xml_syscall_file_name().
	* data-directory/Makefile.in (SYSCALLS_FILES): Add
	mips-o32-linux.xml, mips-n32-linux.xml and mips-n64-linux.xml
	* syscalls/mips-n32-linux.xml: New file.
	* syscalls/mips-n64-linux.xml: New file.
	* syscalls/mips-o32-linux.xml: New file.
gdb/testsuite/
2011-02-04 David Daney <ddaney@caviumnetworks.com>

	* gdb.base/catch-syscall.exp: Enable for mips*-linux*.
2011-02-04 18:34:43 +00:00
Andrew Burgess 9011945e46 http://sourceware.org/ml/gdb-patches/2010-12/msg00300.html
Improve the ordering of line table entries when dealing with the end
of sequence markers.  This will allow us to disassemble over the border
between two compile units while also displaying source code information.
2011-02-03 14:45:37 +00:00
Pedro Alves 580688f393 gdb/
* c-valprint.c (c_value_print): When doing virtual base pointer
	adjustment, create a new value with adjusted contents rather than
	changing the contents of the value being printed (and getting it
	wrong).

	gdb/testsuite/
	* gdb.cp/virtbase.cc (VirtualBase, VirtualMiddleA, VirtualMiddleB)
	(Virtual): New structs.
	(virtual_o, virtual_middle_b): New globals.
	* gdb.cp/virtbase.exp: New tests.
2011-02-02 17:41:54 +00:00
Paul Pluzhnikov d3f0f85341 2011-01-31 Paul Pluzhnikov <ppluzhnikov@google.com>
* gdb.base/jit.exp: New file.
	* gdb.base/jit-main.c: New file.
	* gdb.base/jit-solib.c: New file.
2011-01-31 21:44:52 +00:00
Ulrich Weigand b2030fb51f * gdb.opencl/convs_casts.exp: Use tbreak instead of break to
proceed to initial kernel entry point.
	* gdb.opencl/datatypes.exp: Likewise.
	* gdb.opencl/operators.exp: Likewise.
	* gdb.opencl/vec_comps.exp: Likewise.
2011-01-31 19:05:23 +00:00
Sami Wagiaalla 2db19d1e4d Added new namespace tests.
2011-01-31  Sami Wagiaalla  <swagiaal@redhat.com>

	* gdb.cp/nsnested.cc: New.
	* gdb.cp/nsnested.exp: New.
	* gdb.cp/nsnoimports.exp: New.
	* gdb.cp/nsnoimports.cc: New.
2011-01-31 18:29:02 +00:00
Joel Brobecker 6b0c4c1f05 fix typo during interactive_mode check in gdb_has_a_terminal
Discovered by Pierre Muller.

gdb/ChangeLog:

        * inflow.c (gdb_has_a_terminal): Fix typo in interactive_mode
        value test.

gdb/testsuite/ChangeLog:

        * gdb.base/interact.exp: Add extra tests that verify that
        the value of the interactive-mode setting does not change
        after the script is sourced.
2011-01-31 03:11:40 +00:00
Jan Kratochvil 80b23b6aeb gdb/
Fix crash.
	* valops.c (compare_parameters): Verify TYPE_NFIELDS before
	touching TYPE_FIELD_ARTIFICIAL.

gdb/testsuite/
	* gdb.cp/noparam.exp: New file.
	* gdb.cp/noparam.cc: New file.
2011-01-29 10:30:20 +00:00
Pedro Alves ffd5ec2486 gdb/
* tracepoint.c (tfile_xfer_partial): If there's no traceframe
	selected, don't try iterating over the traceframe's blocks.
	(tfile_has_stack): If there's no traceframe selected, then there's
	no stack.
	(tfile_has_registers): If there's no traceframe selected, then
	there's no registers.

	gdb/testsuite/
	* gdb.trace/tfile.exp: Test that with no traceframe selected,
	there's no stack or registers.
2011-01-28 16:18:55 +00:00
Tom Tromey a81766d88f gdb
* python/py-prettyprint.c (print_string_repr): Clear
	'addressprint' option when calling val_print_string.
	(print_children): Handle Val_pretty_default.  Clear 'addressprint'
	option when calling val_print_string.
gdb/testsuite
	* gdb.python/py-prettyprint.exp (run_lang_tests): Ensure no blank
	space before string output.  Add test for "set print pretty off"
	case.
2011-01-26 20:58:49 +00:00
Pedro Alves 585fdaa106 Centralize printing "<optimized out>".
gdb/
	* valprint.h (val_print_optimized_out): Declare.
	* cp-valprint.c (cp_print_value_fields): Use
	val_print_optimized_out.
	* jv-valprint.c (java_print_value_fields): Ditto.
	* p-valprint.c (pascal_object_print_value_fields): Ditto.
	* printcmd.c (print_formatted): Ditto.
	* valprint.c (valprint_check_validity): Ditto.
	(value_check_printable): Ditto.
	(val_print_optimized_out): New.

	gdb/doc/
	* gdb.texinfo: s/value optimized out/optimized out/g

	gdb/testsuite/
	* gdb.base/frame-args.exp: Adjust.
	* gdb.dwarf2/dw2-noloc.exp: Adjust.
	* gdb.dwarf2/dw2-inline-param.exp: Adjust.
	* gdb.dwarf2/pieces.exp: Adjust.
	* gdb.opt/clobbered-registers-O2.exp: Adjust.
	* gdb.opt/inline-locals.exp: Adjust.
	* gdb.threads/fork-child-threads.exp: Adjust.
2011-01-25 16:26:23 +00:00
Ken Werner d468832aa5 gdb/testsuite/ChangeLog
2011-01-25  Ken Werner  <ken.werner@de.ibm.com>

        * gdb.opencl/convs_casts.cl: Move program scope variables into the
        OpenCL kernel function. Add a comment as marker. Add address space
        qualifiers for the remaining program scope variables.
        * gdb.opencl/datatypes.cl: Likewise.
        * gdb.opencl/operators.cl: Likewise.
        * gdb.opencl/vec_comps.cl: Likewise.
        * gdb.opencl/convs_casts.exp: Replace gdb_test_multiple by gdb_test.
        Add breakpoint at the marker comment.
        * gdb.opencl/datatypes.exp: Likewise.
        * gdb.opencl/operators.exp: Likewise.
        * gdb.opencl/vec_comps.exp: Likewise.
2011-01-25 16:10:28 +00:00
Pedro Alves 490f124f09 2011-01-24 Pedro Alves <pedro@codesourcery.com>
Don't lose embedded_offset in printing routines throughout.

	gdb/
	* valprint.h (val_print_array_elements): Change prototype.
	* valprint.c (val_print_array_elements): Add `embedded_offset'
	parameter, and adjust to pass it down to val_print, while passing
	`valaddr' or `address' unmodified.  Take embedded_offset into
	account when checking repetitions.
	* c-valprint.c (c_val_print): Pass embedded_offset to
	val_print_array_elements instead of adjusting `valaddr' and
	`address'.
	* m2-valprint.c (m2_print_array_contents, m2_val_print): Pass
	embedded_offset to val_print_array_elements instead of adjusting
	`valaddr'.
	* p-lang.h (pascal_object_print_value_fields): Adjust prototype.
	* p-valprint.c (pascal_val_print): Pass embedded_offset to
	val_print_array_elements and pascal_object_print_value_fields
	instead of adjusting `valaddr'.
	(pascal_object_print_value_fields): Add `offset' parameter, and
	adjust to use it.
	(pascal_object_print_value): Add `offset' parameter, and adjust to
	use it.
	(pascal_object_print_static_field): Use
	value_contents_for_printing/value_embedded_offset, rather than
	value_contents.
	* ada-valprint.c (val_print_packed_array_elements): Add `offset'
	parameter, and adjust to use it.  Use
	value_contents_for_printing/value_embedded_offset, rather than
	value_contents.
	(ada_val_print): Rename `valaddr0' parameter to `valaddr'.
	(ada_val_print_array): Add `offset' parameter, and adjust to use
	it.
	(ada_val_print_1): Rename `valaddr0' parameter to `valaddr', and
	`embedded_offset' to `offset'.  Don't re-adjust `valaddr'.
	Instead work with offsets.  Use
	value_contents_for_printing/value_embedded_offset, rather than
	value_contents.  Change `defer_val_int' local type to CORE_ADDR,
	and use value_from_pointer to extract a target pointer, rather
	than value_from_longest.
	(print_variant_part): Add `offset' parameter.  Replace
	`outer_valaddr' parameter by a new `outer_offset' parameter.
	Don't re-adjust `valaddr'.  Instead pass down adjusted offsets.
	(ada_value_print): Use
	value_contents_for_printing/value_embedded_offset, rather than
	value_contents.
	(print_record): Add `offset' parameter, and adjust to pass it
	down.
	(print_field_values): Add `offset' parameter.  Replace
	`outer_valaddr' parameter by a new `outer_offset' parameter.
	Don't re-adjust `valaddr'.  Instead pass down adjusted offsets.
	Use value_contents_for_printing/value_embedded_offset, rather than
	value_contents.
	* d-valprint.c (dynamic_array_type): Use
	value_contents_for_printing/value_embedded_offset, rather than
	value_contents.
	* jv-valprint.c (java_print_value_fields): Add `offset' parameter.
	Don't re-adjust `valaddr'.  Instead pass down adjusted offsets.
	(java_print_value_fields): Take `offset' into account.  Don't
	re-adjust `valaddr'.  Instead pass down adjusted offsets.
	(java_val_print): Take `embedded_offset' into account.  Pass it to
	java_print_value_fields.
	* f-valprint.c (f77_print_array_1): Add `embedded_offset'
	parameter.  Don't re-adjust `valaddr' or `address'.  Instead pass
	down adjusted offsets.
	(f77_print_array): Add `embedded_offset' parameter.  Pass it down.
	(f_val_print): Take `embedded_offset' into account.

	gdb/testsuite/
	* gdb.base/printcmds.c (some_struct): New struct and instance.
	* gdb.base/printcmds.exp (test_print_repeats_embedded_array): New
	procedure.
	<global scope>: Call it.
2011-01-24 18:54:17 +00:00
Ken Werner 6da78614a3 gdb/testsuite/ChangeLog
2011-01-21  Ken Werner  <ken.werner@de.ibm.com>

        * lib/opencl.exp (skip_opencl_tests): Add missing compile_flags
        argument to the gdb_compile_opencl_hostapp call.
2011-01-21 14:05:51 +00:00
Yao Qi ec64c9aa23 2011-01-19 Yao Qi <yao@codesourcery.com>
* lib/dwarf.exp (dwarf2_support): Change supported targets to a
	positve list.
2011-01-19 20:38:41 +00:00
Yao Qi 810cfdbbaf 2011-01-19 Yao Qi <yao@codesourcery.com>
* gdb.asm/asm-source.exp: Replace ARM target triplet with a
	canonical form.
	Remove "xscale-*-*"
	* gdb.xml/tdesc-regs.exp: Likewise.
	* gdb.python/py-section-script.exp: Replace ARM target triplet
	with canonical form.
	Match arm*-*-symbianelf*.
	* gdb.base/dup-sect.exp: Likewise.
	* lib/dwarf.exp: New.
	* gdb.dwarf2/callframecfa.exp: Check dwarf2 support by routine
	dwarf2_support.
	* gdb.dwarf2/dup-psym.exp: Likewise.
	* gdb.dwarf2/dw2-ada-ffffffff.exp: Likewise.
	* gdb.dwarf2/dw2-anonymous-func.exp: Likewise.
	* gdb.dwarf2/dw2-bad-parameter-type.exp: Likewise.
	* gdb.dwarf2/dw2-basic.exp: Likewise.
	* gdb.dwarf2/dw2-compressed.exp: Likewise.
	* gdb.dwarf2/dw2-const.exp: Likewise.
	* gdb.dwarf2/dw2-cp-infcall-ref-static.exp: Likewise.
	* gdb.dwarf2/dw2-cu-size.exp: Likewise.
	* gdb.dwarf2/dw2-double-set-die-type.exp: Likewise.
	* gdb.dwarf2/dw2-empty-namespace.exp: Likewise.
	* gdb.dwarf2/dw2-filename.exp: Likewise.
	* gdb.dwarf2/dw2-inheritance.exp: Likewise.
	* gdb.dwarf2/dw2-inline-param.exp: Likewise.
	* gdb.dwarf2/dw2-intercu.exp: Likewise.
	* gdb.dwarf2/dw2-intermix.exp: Likewise.
	* gdb.dwarf2/dw2-modula2-self-type.exp: Likewise.
	* gdb.dwarf2/dw2-noloc.exp: Likewise.
	* gdb.dwarf2/dw2-op-call.exp: Likewise.
	* gdb.dwarf2/dw2-producer.exp: Likewise.
	* gdb.dwarf2/dw2-ranges.exp: Likewise.
	* gdb.dwarf2/dw2-ref-missing-frame.exp: Likewise.
	* gdb.dwarf2/dw2-stack-boundary.exp: Likewise.
	* gdb.dwarf2/dw2-strp.exp: Likewise.
	* gdb.dwarf2/dw2-unresolved.exp: Likewise.
	* gdb.dwarf2/implptr.exp: Likewise.
	* gdb.dwarf2/mac-fileno.exp: Likewise.
	* gdb.dwarf2/member-ptr-forwardref.exp: Likewise.
	* gdb.dwarf2/pieces.exp: Likewise.
	* gdb.dwarf2/pr11465.exp: Likewise.
	* gdb.dwarf2/valop.exp: Likewise.
	* gdb.dwarf2/watch-notconst.exp: Likewise.
	* gdb.mi/dw2-ref-missing-frame.exp: Likewise.
2011-01-19 20:26:10 +00:00
Tom Tromey 4694da0147 gdb
PR mi/8618:
	* thread.c (free_thread): Free 'name'.
	(print_thread_info): Emit thread name.  Change CLI output.
	(thread_name_command): New function.
	(do_captured_thread_select): Emit newline.
	(_initialize_thread): Register 'thread name' command.
	* target.h (struct target_ops) <to_thread_name>: New field.
	(target_thread_name): New macro.
	* target.c (update_current_target): Handle to_thread_name.
	* python/py-infthread.c (thpy_get_name): New function.
	(thpy_set_name): Likewise.
	(thread_object_getset): Add "name".
	* linux-nat.c (linux_nat_thread_name): New function.
	(linux_nat_add_target): Set to_thread_name.
	* gdbthread.h (struct thread_info) <name>: New field.
gdb/doc
	* gdb.texinfo (Threads): Document thread name output and `thread
	name' command.
	(Threads In Python): Document Thread.name attribute.
	(GDB/MI Thread Commands): Document thread attributes.
gdb/testsuite
	* gdb.python/py-infthread.exp: Add thread tests.
2011-01-19 17:21:39 +00:00
Joel Brobecker b075872c94 new testcase printing wchar_t characters and strings
gdb/testsuite/ChangeLog:

        * gdb.base/wchar.c, gdb.base/wchar.exp: New testcases.
2011-01-14 19:33:37 +00:00
Joel Brobecker 2c3e6e2466 new testcase for Ada Wide Wide Characters and Strings
gdb/testsuite/ChangeLog:

        * gdb.ada/widewide: New testcase.
2011-01-14 19:33:19 +00:00
Joel Brobecker de8fa76c44 problem sourcing GDB script in interactive-mode on
When interactive-mode is not auto, GDB always uses that setting to
determine whether to act as if the input stream is a terminal or not.
However, this setting should only be honored if the input stream is
the standard input stream.  Otherwise, we run into trouble while
source-ing a GDB script, as shown below (on x86_64-linux):

        % cat script
        print 1
        print 2
        % gdb  -q
        (gdb) set interactive-mode on
        (gdb) source script
        (gdb) print 3
        $1 = 3

The lack of output and the fact that the "print 3" command returned
a value saved in $1 (as opposed to $3) indicates that the script was
not even evaluated at all.

gdb/ChangeLog:

        * top.c (input_from_terminal_p): Restrict the use of interactive_mode
        to the case where instream is stdin.

gdb/testsuite/ChangeLog:

        * gdb.base/interact.exp: New testcase.
2011-01-13 23:01:10 +00:00
Tom Tromey 1b05df007b gdb
* mi/mi-symbol-cmds.c (mi_cmd_symbol_list_lines): Fix error
	messages.
	* mi/mi-main.c (mi_cmd_thread_select): Fix error messages.
	(mi_cmd_thread_list_ids): Likewise.
	(mi_cmd_data_list_changed_registers): Likewise.
	(mi_cmd_data_list_register_values): Likewise.
	(mi_cmd_data_write_register_values): Likewise.
	(mi_cmd_data_evaluate_expression): Likewise.
	(mi_cmd_data_read_memory): Likewise.
	(mi_cmd_data_read_memory_bytes): Likewise.
	(mi_cmd_data_write_memory): Likewise.
	(mi_cmd_enable_timings): Likewise.
	* mi/mi-interp.c (mi_cmd_interpreter_exec): Fix error messages.
	* mi/mi-cmd-var.c (mi_cmd_var_create): Fix error messages.
	(mi_cmd_var_delete): Likewise.
	(mi_cmd_var_set_format): Likewise.
	(mi_cmd_var_show_format): Likewise.
	(mi_cmd_var_info_num_children): Likewise.
	(mi_cmd_var_list_children): Likewise.
	(mi_cmd_var_info_type): Likewise.
	(mi_cmd_var_info_expression): Likewise.
	(mi_cmd_var_show_attributes): Likewise.
	(mi_cmd_var_assign): Likewise.
	(mi_cmd_var_update): Likewise.
	(mi_cmd_enable_pretty_printing): Likewise.
	(mi_cmd_var_set_update_range): Likewise.
	* mi/mi-cmd-target.c (mi_cmd_target_file_get): Fix error
	messages.
	(mi_cmd_target_file_put): Likewise.
	(mi_cmd_target_file_delete): Likewise.
	* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Fix error
	messages.
	(mi_cmd_stack_info_depth): Likewise.
	(mi_cmd_stack_list_locals): Likewise.
	(mi_cmd_stack_list_args): Likewise.
	(mi_cmd_stack_select_frame): Likewise.
	(mi_cmd_stack_select_frame): Likewise.
	(mi_cmd_stack_info_frame): Likewise.
	* mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Fix error
	messages.
	(mi_cmd_file_list_exec_source_files): Likewise.
	* mi/mi-cmd-env.c (mi_cmd_env_pwd): Fix error messages.
	(mi_cmd_env_cd): Likewise.
	(mi_cmd_env_path): Likewise.
	(mi_cmd_env_dir): Likewise.
	(mi_cmd_inferior_tty_show): Likewise.
	* mi/mi-cmd-disas.c (mi_cmd_disassemble): Fix error messages.
	* mi/mi-cmd-break.c (mi_cmd_break_insert): Fix error messages.
	(mi_cmd_break_watch): Likewise.
gdb/testsuite
	* gdb.mi/gdb2549.exp: Update for error message changes.
	* gdb.mi/mi-cli.exp: Likewise.
	* gdb.mi/mi-disassemble.exp: Likewise.
	* gdb.mi/mi-pthreads.exp: Likewise.
	* gdb.mi/mi-regs.exp: Likewise.
	* gdb.mi/mi-stack.exp: Likewise.
	* gdb.mi/mi-var-block.exp: Likewise.
	* gdb.mi/mi-var-cmd.exp: Likewise.
	* gdb.mi/mi2-cli.exp: Likewise.
	* gdb.mi/mi2-disassemble.exp: Likewise.
	* gdb.mi/mi2-pthreads.exp: Likewise.
	* gdb.mi/mi2-regs.exp: Likewise.
	* gdb.mi/mi2-stack.exp: Likewise.
	* gdb.mi/mi2-var-block.exp: Likewise.
	* gdb.mi/mi2-var-cmd.exp: Likewise.
2011-01-12 21:09:39 +00:00
Jan Kratochvil c2ff108bbd gdb/
PR fortran/11104 and DWARF unbound arrays detection.
	* dwarf2read.c (read_subrange_type): Set zero length on unspecified
	upper bound.  Set TYPE_HIGH_BOUND_UNDEFINED if not language_ada on
	unspecified upper bound.
	* eval.c (evaluate_subexp_standard) <multi_f77_subscript>: Remove
	variables array_size_array, tmp_type and offset_item.  New variable
	array.  Remove call to f77_get_upperbound.  New variables array_type
	and index.  Call value_subscripted_rvalue for each dimenasion.  Remove
	the final call to deprecated_set_value_type.

gdb/testsuite/
	PR fortran/11104 and DWARF unbound arrays detection.
	* gdb.fortran/multi-dim.exp: New file.
	* gdb.fortran/multi-dim.f90: New file.
2011-01-12 16:16:24 +00:00
Andrew Burgess b716877b54 http://sourceware.org/ml/gdb-patches/2010-12/msg00299.html
gdb/
        * disasm.c (dump_insns): Support dumping opcodes for MI.
        * mi/mi-cmd-disas.c (mi_cmd_disassemble): Allow mode to control
        dumping of instruction opcodes.

gdb/doc/
        * gdb.texinfo (GDB/MI Data Manipulation): Update to reflect
        changes in mi/mi-cmd-disas.c

gdb/testsuite/
        * gdb.mi/mi-disassemble.exp, gdb.mi/mi2-disassemble.exp: Update
        expected output to reflect changes in gdb/mi/mi-cmd-disas.c and
        add new tests for opcode dumping.
2011-01-12 15:02:12 +00:00
Tom Tromey 6c162d5eb6 * gdb.python/py-infthread.exp: Load gdb-python.exp. 2011-01-11 21:22:35 +00:00
Thiago Jung Bauermann 77b06cd719 2010-01-11 Thiago Jung Bauermann <bauerman@br.ibm.com>
Convert hardware watchpoints to use breakpoint_ops.

gdb/
	* breakpoint.h (breakpoint_ops) <insert>: Rename to...
	<insert_location>: ... this.  Return int instead of void.
	Accept pointer to struct bp_location instead of pointer to
	struct breakpoint.  Adapt all implementations.
	(breakpoint_ops) <remove>: Rename to...
	<remove_location>: ... this.  Accept pointer to struct bp_location
	instead of pointer to struct breakpoint.  Adapt all implementations.
	* breakpoint.c (insert_catchpoint): Delete function.
	(insert_bp_location): Call the watchpoint or catchpoint's
	breakpoint_ops.insert method.
	(remove_breakpoint_1): Call the watchpoint or catchpoint's
	breakpoint_ops.remove method.
	(insert_watchpoint, remove_watchpoint): New functions.
	(watchpoint_breakpoint_ops): New structure.
	(watch_command_1): Initialize the OPS field.
	* inf-child.c (inf_child_insert_fork_catchpoint)
	(inf_child_remove_fork_catchpoint, inf_child_insert_vfork_catchpoint)
	(inf_child_remove_vfork_catchpoint, inf_child_insert_exec_catchpoint)
	(inf_child_remove_exec_catchpoint, inf_child_set_syscall_catchpoint):
	Delete functions.
	(inf_child_target): Remove initialization of to_insert_fork_catchpoint,
	to_remove_fork_catchpoint, to_insert_vfork_catchpoint,
	to_remove_vfork_catchpoint, to_insert_exec_catchpoint,
	to_remove_exec_catchpoint and to_set_syscall_catchpoint.
	* target.c (update_current_target): Change default implementation of
	to_insert_fork_catchpoint, to_remove_fork_catchpoint,
	to_insert_vfork_catchpoint, to_remove_vfork_catchpoint,
	to_insert_exec_catchpoint, to_remove_exec_catchpoint and
	to_set_syscall_catchpoint to return_one.
	(debug_to_insert_fork_catchpoint, debug_to_insert_vfork_catchpoint)
	(debug_to_insert_exec_catchpoint): Report return value.
	* target.h (to_insert_fork_catchpoint, to_insert_vfork_catchpoint)
	(to_insert_exec_catchpoint): Change declaration to return int instead
	of void.

gdb/testsuite/
	* gdb.base/foll-exec.exp: Adapt to new error string when the catchpoint
	type is not supported.
	* gdb.base/foll-fork.exp: Likewise.
	* gdb.base/foll-vfork.exp: Likewise.
2011-01-11 19:16:23 +00:00
Phil Muldoon f39a75d0cd 2011-01-10 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-cmd.exp: Remove gdb_py_test_multiple function.
	Use load_lib gdb-python.exp.
	* gdb.python/python.exp: Ditto.
	* gdb.python/py-function.exp: Ditto.
2011-01-10 11:00:24 +00:00
Andreas Schwab fc529d8069 * gdb.threads/tls.exp ("info address me"): Fix expected output. 2011-01-09 15:22:49 +00:00
Jan Kratochvil fb03cb59c1 gdb/testsuite/
* configure: Regenerate.
2011-01-07 02:51:09 +00:00
Tom Tromey d8e227793f gdb
PR python/12367:
	* NEWS: Add item.
	* python/python.c (GdbMethods): Add "newest_frame" method.
	* python/python-internal.h (gdbpy_newest_frame): Declare.
	* python/py-frame.c (gdbpy_newest_frame): New function.
gdb/doc
	* gdb.texinfo (Frames In Python): Document gdb.newest_thread.
gdb/testsuite
	* gdb.python/py-frame.exp: Test gdb.newest_frame.
2011-01-06 21:10:53 +00:00
Joel Brobecker 09050809a4 [testsuite/gdb.ada] simplify some testcases by using clean_restart.
gdb/testsuite/ChangeLog:

        * gdb.ada/array_bounds.exp, gdb.ada/array_return.exp,
        gdb.ada/array_subscript_addr.exp, gdb.ada/arrayidx.exp,
        gdb.ada/arrayparam.exp, gdb.ada/arrayptr.exp,
        gdb.ada/atomic_enum.exp, gdb.ada/call_pn.exp,
        gdb.ada/catch_ex.exp, gdb.ada/char_param.exp,
        gdb.ada/complete.exp, gdb.ada/exprs.exp, gdb.ada/fixed_cmp.exp,
        gdb.ada/fixed_points.exp, gdb.ada/formatted_ref.exp,
        gdb.ada/frame_args.exp, gdb.ada/fun_addr.exp,
        gdb.ada/fun_in_declare.exp, gdb.ada/funcall_param.exp,
        gdb.ada/homonym.exp, gdb.ada/int_deref.exp,
        gdb.ada/interface.exp, gdb.ada/lang_switch.exp,
        gdb.ada/mod_from_name.exp, gdb.ada/nested.exp,
        gdb.ada/null_array.exp, gdb.ada/null_record.exp,
        gdb.ada/packed_array.exp, gdb.ada/packed_tagged.exp,
        gdb.ada/print_chars.exp, gdb.ada/print_pc.exp,
        gdb.ada/ptype_field.exp, gdb.ada/ptype_tagged_param.exp,
        gdb.ada/rec_return.exp, gdb.ada/ref_param.exp,
        gdb.ada/ref_tick_size.exp, gdb.ada/start.exp,
        gdb.ada/str_ref_cmp.exp, gdb.ada/sym_print_name.exp,
        gdb.ada/taft_type.exp, gdb.ada/tagged.exp, gdb.ada/tasks.exp,
        gdb.ada/tick_last_segv.exp, gdb.ada/type_coercion.exp,
        gdb.ada/uninitialized_vars.exp,
        gdb.ada/variant_record_packed_array.exp, gdb.ada/watch_arg.exp:
        Simplify by using clean_restart.
2011-01-06 10:35:00 +00:00
Joel Brobecker 8ed5dd9e5e Avoid the use of gdb_start_cmd in gdb.ada/*.exp testcases.
This command does not work when testing with GDBserver.  So this patch
changes the few tests that do not specifically test the `start' command,
and replace calls to gdb_start_cmd with the usual `run LOC' approach.

For the couple of testcases that do really test the `start' command,
do an early return as UNTESTED instead of running this testcase.

gdb/testsuite/ChangeLog:

	Add marker to be used as anchor for inserting breakpoints.
	* gdb.ada/null_record/null_record.adb: Add "-- START" comment.
	* gdb.ada/start/dummy.adb, gdb.ada/uninitialized_vars/parse.adb:
	Likewise.

	Remove uses of gdb_start_cmd.
	* gdb.ada/null_record.exp: Remove use of gdb_start_cmd.
	* gdb.ada/print_pc.exp, gdb.ada/uninitialized_vars.exp: Ditto.

	Do not run testcase if testing with GDBserver.
	* gdb.ada/exec_changed.exp, gdb.ada/start.exp: Abort as untested
	if testing with GDBserver.
2011-01-06 10:33:38 +00:00
Joel Brobecker 368a124fc4 Add copyright header to some Ada files (testsuite)
gdb/testsuite/ChangeLog:

 	* gdb.ada/complete/foo.adb, gdb.ada/complete/pck.adb,
 	gdb.ada/complete/pck.ads, gdb.ada/print_chars/foo.adb: Add
 	copyright header.
2011-01-06 06:27:44 +00:00
Joel Brobecker 449444484c Update the copyright year for most remaining files in GDB 2011-01-05 05:09:55 +00:00
Joel Brobecker 31886ea655 Add missing copyright header for testsuite/gdb.base/langs1.f.
This file has been created prior to CVS rev 1. Instead of listing all
the years since 1999, I just put 1999, 2010 and 2011.

gdb/testsuite/ChangeLog:

        * gdb.base/langs1.f: Add copyright header.
2011-01-05 05:06:48 +00:00
Jan Kratochvil ebedcab50d gdb/
* frame.c (get_prev_frame_1) <UNWIND_INNER_ID>: New variables
	this_pc_in_block, morestack_msym and morestack_name.  Check for
	"__morestack" minimal symbol there.

gdb/testsuite/
	* gdb.base/morestack.exp: New file.
	* gdb.base/morestack.c: New file.
2011-01-03 13:11:06 +00:00
Jan Kratochvil de1eb2f973 gdb/testsuite/
* gdb.ada/gnat_ada.gpr: Fix copyright comment line regression by 2011.
2011-01-02 07:32:34 +00:00
Joel Brobecker 7b6bb8daac run copyright.sh for 2011. 2011-01-01 15:34:07 +00:00
Joel Brobecker 9e87a40907 [Ada] print null array pointer as `0x0' rather than `(null)'
Trying to print a variable defined as an access to an unconstrained
array:

       type String_Access is access String;
       S1 : String_Access;

If that variable is null, then GDB prints its value in an odd way:

    (gdb) print S1
    $1 = (string_bug.string_access) (null)
                                    ^^^^^^

This patch changes the debugger behavior to print the pointer using
the same output we'd use for any null pointer:

    (gdb) print S1
    $1 = (string_bug.string_access) 0x0

It also adds an assert, helping us verify an assumption.

gdb/ChangeLog:

        * ada-valprint.c (ada_val_print_1): Print null array pointers as
        `0x0' rather than `(null)'.  Add assertion.

gdb/testsuite/ChangeLog:

        * gdb.ada/arrayptr/foo.adb: Add new local variable Null_String.
        * gdb.ada/arrayptr.exp: Add test printing that new variable.
2010-12-29 08:02:59 +00:00
Joel Brobecker 720d1a4025 [Ada] do not print arrays as array pointers
This patch enhances the debugger to distinguish between fat pointers
that represent either: array types, or array access types.  In the latter
case, the object/type is encoded as a typedef type pointing to the fat
pointer.

The first part of the change is to adjust ada_check_typedef to avoid
stripping the typedef layer when it points to a fat pointer.  The rest
of the patch is adjustments required in various places to deal with
the fact that the type is uses might now be a typedef.

gdb/ChangeLog:

        * ada-lang.h (ada_coerce_to_simple_array): Add declaration.
        * ada-lang.c (ada_typedef_target_type): New function.
        (desc_base_type): Add handling of fat pointer typedefs.
        (ada_coerce_to_simple_array): Make non-static.
        (decode_packed_array_bitsize): Add handling of fat pointer typedefs.
        Add assertion.
        (ada_template_to_fixed_record_type_1, ada_to_fixed_type)
        (ada_check_typedef): Add handling of fat pointer typedefs.
        (ada_evaluate_subexp) [OP_FUNCALL]: Likewise.
        * ada-typeprint.c (ada_print_type): Add handling of fat pointer
        typedefs.
        * ada-valprint.c (ada_val_print_1): Convert fat pointers that are not
        array accesses to simple arrays rather than simple array pointers.
        (ada_value_print): In the case of array descriptors, do not print
        the value type description unless it is an array access.

gdb/testsuite/ChangeLog:

        * gdb.ada/lang_switch.exp: Correct expected parameter value.

gdb/doc/ChangeLog:

        * gdb.texinfo (Ada Glitches): Remove paragraph describing the
        occasional case where the debugger prints an array address
        instead of the array itself.
2010-12-29 08:01:32 +00:00
Andreas Schwab 5d3d9cba6a * gdb.threads/tls.exp: Fix typo. 2010-12-25 19:22:39 +00:00
Andreas Schwab a283af878e * gdb.threads/thread-specific.exp (get_thread_list): Update.
* gdb.threads/execl.exp: Update.
2010-12-25 17:54:01 +00:00