Commit Graph

22452 Commits

Author SHA1 Message Date
Aleksandar Ristovski
79c6ced6ea * gdb.cp/casts.cc: Add class reference variables.
* gdb.cp/casts.exp: New test cases for up/down casting references.
2008-04-01 18:05:13 +00:00
Aleksandar Ristovski
f0050c2089 * gdb.cp/casts.cc: Add class reference variables.
* gdb.cp/casts.exp: New test cases for up/down casting references.
2008-04-01 16:16:43 +00:00
Aleksandar Ristovski
6af87b0348 * valops.c (value_cast_structs): New function. Cast related
STRUCT types up/down and return cast value. The body of this
	function comes mostly from value_cast_pointers.
	(value_cast_pointers): Code for actual cast STRUCT-STRUCT moved
	to value_cast_structs. Now value_cast_pointers needs only create
	appropriate reference after using value_cast_structs for actual
	casting.
	(value_cast): Handle references.
2008-04-01 16:12:49 +00:00
Marc Khouzam
6c2d1a6bc9 2008-04-01 Marc Khouzam <marc.khouzam@ericsson.com>
* gdb.mi/mi-var-display.exp: Stop at end of do_special_tests
	instead of beginning to make an extra test pass.
	* gdb.mi/mi2-var-display.exp: Likewise.
2008-04-01 15:18:30 +00:00
Marc Khouzam
61ad90e1f5 2008-04-01 Marc Khouzam <marc.khouzam@ericsson.com>
* MAINTAINERS: Added myself to section Write After Approval.
2008-04-01 15:15:07 +00:00
gdbadmin
2e0b9bc5fd *** empty log message *** 2008-04-01 00:00:33 +00:00
Maciej W. Rozycki
55b411d998 * gdb.base/break.exp: Mark failures as such. Fix formatting. 2008-03-31 10:46:17 +00:00
Markus Deuling
c6140da2ff 2008-03-31 Markus Deuling <deuling@de.ibm.com>
Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gdb.arch/spu-info.exp (info spu mailbox): Check for correct initial
	value.  Add xfail for older kernels.
2008-03-31 08:34:42 +00:00
Daniel Jacobowitz
b7d038ae9f * ia64-tdep.c (examine_prologue): Correct array access. 2008-03-31 03:38:48 +00:00
gdbadmin
11a0b582b3 *** empty log message *** 2008-03-31 00:00:33 +00:00
gdbadmin
8c56b5dbda *** empty log message *** 2008-03-30 00:00:03 +00:00
gdbadmin
7cc70d1017 *** empty log message *** 2008-03-29 00:00:34 +00:00
Aleksandar Ristovski
c836824f38 * cp-support.c (first_component_command): Return if no arguments. 2008-03-28 19:52:23 +00:00
Carlos O'Donell
df3ac60635 gdb/
2008-03-28  Carlos O'Donell  <carlos@codesourcery.com>

	* ser-mingw.c (ser_windows_open): Open requested name.
2008-03-28 17:30:45 +00:00
Aleksandar Ristovski
ca9334856c 2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
* MAINTAINERS: Added myself.
2008-03-28 16:43:14 +00:00
Pedro Alves
5f667f2da0 * target.c (find_default_run_target): Allow a NULL `do_mesg'
parameter.  If it is NULL, don't call error.
	(find_default_can_async_p, find_default_is_async_p): Pass NULL as
	`do_mesg' parameter to find_default_run_target.  If no target was
	found, return 0.
2008-03-28 16:37:08 +00:00
Aleksandar Ristovski
79732189ea 2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
Bring mi-support in line with gdb.exp.
	* lib/mi-support.exp (default_mi_gdb_start): Rename from mi_gdb_start.
	(mi_gdb_start): New function.
2008-03-28 16:32:11 +00:00
Daniel Jacobowitz
e741f4d4e4 * mips-linux-tdep.c: Update N32/N64 signal frame comments.
(N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update.
	(N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR):
	Delete.
	(mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr.
2008-03-28 14:53:53 +00:00
Maciej W. Rozycki
33c3676e65 * gdb.mi/mi-var-cmd.exp: Fix a typo. 2008-03-28 14:01:36 +00:00
gdbadmin
82afd1eff5 *** empty log message *** 2008-03-28 00:00:03 +00:00
gdbadmin
f66d820539 GDB 6.8 released. 2008-03-27 19:37:04 +00:00
Ulrich Weigand
221c031fac ChangeLog:
* features/Makefile (%.dat): Set xmltarget to the base filename
	of the XML source, without subdirectory.
	* regformats/rs6000/powerpc-32.dat: Regenerate.
	* regformats/rs6000/powerpc-64.dat: Regenerate.
	* regformats/rs6000/powerpc-e500.dat: Regenerate.

gdbserver/ChangeLog:

	* server.c (get_features_xml): Fix inverted condition.
	(handle_query): Always support qXfer:feature:read.
2008-03-27 13:11:52 +00:00
Markus Deuling
40c58d9579 * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by
objfile arch.
2008-03-27 12:28:48 +00:00
Nick Roberts
42972f502e (enum captured_mi_execute_command_actions):
Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly.
2008-03-27 03:45:22 +00:00
Nick Roberts
bb1ec7d204 *** empty log message *** 2008-03-27 03:45:01 +00:00
gdbadmin
fd5511cf80 *** empty log message *** 2008-03-27 00:00:32 +00:00
Daniel Jacobowitz
1e26b4f86a * gdb.texinfo (MIPS Features, PowerPC Features): Add @node. 2008-03-26 18:37:47 +00:00
Ulrich Weigand
5e2b427df3 * objfiles.h (struct objfile): New GDBARCH member.
(get_objfile_arch): Add prototype.
	* objfiles.c: Include "arch-utils.h".
	(allocate_objfile): Look up gdbarch associated with bfd.
	(get_objfile_arch): New function.
	* Makefile (objfiles.o): Update dependencies.

	* dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch
	by objfile arch.
	* dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch
	by frame arch.
	(locexpr_describe_location): Replace current_gdbarch by
	objfile arch.
	* dwarf2read.c (die_type): Replace current_gdbarch by objfile arch.
	(dwarf2_add_field): Likewise.
	(read_tag_pointer_type): Likewise.
	(read_base_type): Likewise.
	(new_symbol): Likewise.

	* coffread.c (decode_type): Add OBJFILE argument.  Update callers.
	(decode_base_type, decode_function_type): Likewise.
	(coff_read_struct_type, coff_read_enum_type): Likewise.
	(coff_symtab_read): Replace current_gdbarch by objfile arch.
	(decode_base_type): Likewise.
	(coff_read_enum_type): Likewise.
	(coff_read_struct_type): Replace current_objfile by OBJFILE argument.
	(coff_read_enum_type): Likewise.

	* dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch.
	(end_psymtab): Likewise.
	(process_one_symbol): Likewise.

	* mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch.
	(parse_procedure): Likewise.
	(parse_partial_symbols): Likewise.

	* somread.c (som_symtab_read): Replace current_gdbarch by objfile arch.

	* stabsread.c (define_symbol): Replace current_gdbarch by objfile arch.
	Replace static pcc_promotion_type and pcc_unsigned_promotion_type by
	built-in types.
	(read_range_type): Replace current_gdbarch by objfile arch.  Replace
	static range_index_type by built-in type.
	(read_one_struct_field): Replace current_gdbarch by objfile arch.
	(read_enum_type): Likewise.

	* xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by
	objfile arch.
2008-03-26 14:53:28 +00:00
Vladimir Prus
5a413362ba * varobj.h (varobj_floating_p): Declare.
* varobj.c (varobj_floating_p): New.
	* mi/mi-cmd-var.c (mi_cmd_var_update): When passed
	'@' as the name, update all floating varobjs.
2008-03-26 14:51:28 +00:00
Vladimir Prus
a5defcdc21 * varobj.c (struct varobj_root): Rename use_selected_frame to
floating, and clarify the meaning.
	(varobj_create, varobj_update,  new_root_variable): Adjust.
	(value_of_root): Don't use type_changed as in variable,
	adjust comment.
	(c_value_of_root): Adjust.
2008-03-26 14:11:18 +00:00
Vladimir Prus
92e28119da * gdb.mi/mi-var-display.exp: Remove obsolete xfail.
* gdb.mi/mi2-var-display.exp: Likewise.
2008-03-26 13:36:51 +00:00
Vladimir Prus
9e8e3afe37 * lib/mi-support.exp (mi_create_varobj_checked): New.
(mi_list_varobj_children): Allow to check for a
	value.
	(mi_list_array_varobj_children): New.

	* gdb.mi/mi-var-child.exp: Use mi_create_varobj
	and mi_list_varobj_children, as opposed to hardcoding
	expected strings.
	* gdb.mi/gdb701.exp: Likewise.
	* gdb.mi/gdb792.exp: Likewise.
	* gdb.mi/mi-var-block.exp: Likewise.
	* gdb.mi/mi-var-cmd.exp: Likewise.
	* gdb.mi/mi-var-invalidate.exp: Likewise.
	* gdb.mi/mi2-var-block.exp: Likewise.
	* gdb.mi/mi2-var-child.exp: Likewise.
	* gdb.mi/mi2-var-cmd.exp: Likewise.
	* gdb.mi/mi2-var-display.exp: Likewise.
2008-03-26 13:24:22 +00:00
gdbadmin
e8df11ae40 *** empty log message *** 2008-03-26 00:00:04 +00:00
Pedro Alves
403fe1979f * linux-nat.c (linux_nat_attach): Add the pid we attached to, to
gdb's thread list.
	(linux_nat_wait): Add main lwp to gdb's thread list.
	* linux-thread-db.c (find_new_threads_callback): Also attach to
	already listed threads which thread_db didn't know about yet.
2008-03-25 12:26:21 +00:00
Pedro Alves
710151dda5 2008-03-25 Pedro Alves <pedro@codesourcery.com>
* linux-nat.c (drain_queued_events): Fix comment typo.
	(linux_nat_attach): In async mode, don't rely on storing a pending
	status.  Instead place the wait status on the pipe.
	(linux_nat_resume): Remove unreacheable shortcut code in async
	mode.
	(stop_wait_callback): In async mode, don't store pending status.
	Instead, cancel breakpoints or resend the signal appropriatelly.
	(cancel_breakpoint): New, refactored from
	cancel_breakpoints_callback.
	(cancel_breakpoints_callback): Call cancel_breakpoint.
	(pipe_to_local_event_queue): Remove special token processing.
	(linux_nat_wait): Issue an internal error if a pending status is
	found in async mode.
2008-03-25 12:20:10 +00:00
gdbadmin
d49bd40868 *** empty log message *** 2008-03-25 00:00:03 +00:00
Daniel Jacobowitz
807bddf3a9 * inflow.c (gdb_has_a_terminal): Guard access to our_process_group. 2008-03-24 18:10:00 +00:00
Vladimir Prus
c5b48eacfa * varobj.c (struct varobj_root): New component thread_id.
(varobj_get_thread_id, check_scope): New functions.
        (c_value_of_root): Use check_scope.  Switch to the
	proper thread if necessary.

        * varobj.h (varobj_get_thread_id): New extern.

        * mi/mi-cmd-var.c (print_varobj): Add thread-id field.
2008-03-24 17:33:30 +00:00
Jan Kratochvil
9df503519c Fix random false FAILs on i386.
* gdb.base/prelink.exp: Use `--no-exec-shield' for prelink.
2008-03-24 15:16:12 +00:00
Daniel Jacobowitz
31e5d73a44 PR gdb/544
* gdb.cp/annota2.exp, gdb.cp/annota3.exp: Reapply 2008-03-21 changes.
2008-03-24 13:27:07 +00:00
gdbadmin
b5615ead1b *** empty log message *** 2008-03-24 00:00:33 +00:00
Daniel Jacobowitz
12f4afab79 Revert 2008-03-21 changes. 2008-03-23 17:29:34 +00:00
Vladimir Prus
6208b47d6c * thread.c (make_cleanup_restore_current_thread): Make it
globally visible.
	* gdbthread.h (make_cleanup_restore_current_thread): Declare.
	* varobj.c (varobj_update): Don't save/restore frame.
	(c_value_of_root): Save/restore thread and frame here,
	using make_cleanup_restore_current_thread.
	* Makefile.in: Update dependecies.
2008-03-23 09:53:52 +00:00
Vladimir Prus
44a67aa79a * varobj.c (struct varobj_root): Clarify
comment on the frame field.
        (varobj_create): Don't set frame if we have no
        block.
2008-03-23 08:59:19 +00:00
gdbadmin
1dfc30766e *** empty log message *** 2008-03-23 00:00:33 +00:00
gdbadmin
126347d5cf *** empty log message *** 2008-03-22 00:00:03 +00:00
Daniel Jacobowitz
b562a0cb2a PR gdb/544
Suggested by Jan Kratochvil:
	* top.c (gdb_rl_operate_and_get_next_completion): Call
	rl_redisplay_function.
	(gdb_rl_redisplay): New.
	(init_main): Set rl_redisplay_function.

	* gdb.cp/annota2.exp, gdb.cp/annota3.exp: Remove KFAIL for
	fixed PR gdb/544.
2008-03-21 21:44:30 +00:00
Joel Brobecker
ed1bd5f57f * aix-thread.c (pdc_read_regs): Fix compiler warning.
(pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread)
        (store_regs_kernel_thread): Likewise.
2008-03-21 20:06:58 +00:00
Pedro Alves
b84876c212 gdb/
* target.h (struct target_ops): Delete to_async_mask_value and add
	to_async_mask.
	(target_is_async_p, target_async): Formatting.
	(target_async_mask_value): Delete.
	(target_async_mask): Delete function declaration, and add new
	target macro with the same name.

	* target.c (update_current_target): Replace to_async_mask_value by
	to_async_mask.  Default to_async_mask to return_one.
	(target_async_mask): Delete.
	(find_default_can_async_p, find_default_is_async_p): New.
	(init_dummy_target): register find_default_can_async_p and
	find_default_is_async_p on the dummy target.

	* linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h.
	(debug_linux_nat_async): New global.
	(show_debug_linux_nat_async): New function.
	(linux_nat_async_enabled, linux_nat_async_mask_value)
	(linux_nat_event_pipe, linux_nat_num_queued_events)
	(linux_nat_async_events_enabled): New globals.
	(struct waitpid_result): New struct.
	(waitpid_queue): New global.
	(queued_waitpid, push_waitpid, drain_queued_events): New.
	(my_waitpid): Call queued_waitpid.
	(linux_child_follow_fork): Disable async events during the call.
	(blocked_mask): Delete.
	(sync_sigchld_action, async_sigchld_action): New globals.
	(lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD.  In
	async mode, block events during the call.
	(linux_nat_create_inferior): New.
	(linux_nat_attach): In sync mode, restore the mask states.  In
	async mode, wake the event loop immediatelly.
	(detach_callback): Drain all queued events of the lwp we're
	detaching from.
	(linux_nat_detach): Block async mode, and drain events of the main
	process.
	(linux_nat_resume): If in async mode, mask async events during the
	call.  If short circuiting, force event loop to wake up.  If
	resuming, set target_executing, and register target events in the
	event loop.
	(pipe_to_local_event_queue, local_event_queue_to_pipe): New.
	(linux_nat_wait): In async mode, block events during the call.
	Only enable/disable passing SIGINT to the inferior in sync mode.
	Get events from local waitpid queue.  If no interesting events was
	found, return to events loop.  Reregister target events in the
	event loop on exit.  In sync mode, no need to reblock SIGCHLD.
	(linux_nat_kill): Disable events on entry.
	(linux_nat_mourn_inferior): In sync mode, don't restore the masks
	here.  Detach async mode from the event loop if there are no more
	forks available, otherwise leave it on.
	(sigchld_handler): Assure this is called only in sync mode.
	(linux_async_permitted, linux_async_permitted_1): New globals.
	(set_maintenance_linux_async_permitted)
	(show_maintenance_linux_async_permitted): New functions.
	(linux_nat_is_async_p, linux_nat_can_async_p)
	(linux_nat_async_mask): New.
	(linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New.
	(get_pending_events, async_sigchld_handler): New.
	(linux_nat_async_events): New.
	(async_terminal_is_ours): New global.
	(linux_nat_terminal_inferior, linux_nat_terminal_ours): New.
	(async_client_callback, async_client_context): New.
	(linux_nat_async_file_handler, linux_nat_async)
	(linux_nat_disable_async, linux_nat_enable_async): New.
	(linux_nat_add_target): Register linux_nat_create_inferior,
	linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async,
	linux_nat_async_mask, linux_nat_terminal_inferior and
	linux_nat_terminal_ours.
	(_initialize_linux_nat): Remove local action variable, and update
	code that used it to use sync_sigchld_action.  Add new
	"lin-lwp-async" debug set/show command.  Put the "lin-lwp" debug
	set/show command in the maintenance class.  Add new "linux-async"
	maintenance set/show command.  Block SIGCHLD by default.  Setup
	async_sichld_action, and sync_sigchld_action.  Install the default
	async mode.
	(lin_thread_get_thread_signals): Use a local sigset_t for blocking
	the cancel signals.

	* linux-thread-db.c (re_check_for_thread_db): New.
	(clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE.
	(thread_db_can_async_p, thread_db_is_async_p, thread_db_async)
	(thread_db_async_mask): New.
	(init_thread_db_ops): Register thread_db_can_async_p,
	thread_db_is_async_p, thread_db_async and thread_db_async_mask.

	* remote.c (remote_async_mask_value): New.
	(remote_return_zero): New.
	(init_remote_ops): Register remote_return_zero as callbacks of
	to_can_async_p and to_is_async_p.
	(remote_can_async_p, remote_is_async_p, remote_async): Update to
	use remote_async_mask_value.
	(remote_async_mask): New.
	(init_remote_async_ops): Remove to_async_mask_value setting and
	register remote_async_mask as to_async_mask callback in
	remote_async_ops.

	* Makefile.in (linux-nat.o): Update.

gdb/doc/
	* gdb.texinfo (Debugging Output): Document
	"set/show debug lin-lwp-async".
	(Maintenance Commands): Document "maint set/show linux-async".
2008-03-21 17:09:35 +00:00
Daniel Jacobowitz
17faa917e0 2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
* gdbthread.h (add_thread_with_info): New.
	* linux-thread-db.c: Add some documentation.
	(GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete.
	(struct private_thread_info): Remove th_valid and ti_valid.
	Replace ti with tid.
	(thread_get_info_callback): Do not add TID to the new ptid.  Do
	not cache th or ti.
	(thread_db_map_id2thr, lwp_from_thread): Delete functions.
	(thread_from_lwp): Assert that the LWP is set.  Do not add TID to the
	new PTID.
	(attach_thread): Handle an already-existing thread.  Use
	add_thread_with_info.  Cache the th and tid.
	(detach_thread): Verify that private was set.  Remove verbose
	argument and printing.  Update caller.
	(thread_db_detach): Do not adjust inferior_ptid.
	(clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete.
	(check_event, find_new_threads_callback): Do not add TID to the new PTID.
	(thread_db_wait): Do not use lwp_from_thread.
	(thread_db_pid_to_str): Use the cached TID.
	(thread_db_extra_thread_info): Check that private is set.
	(same_ptid_callback): Delete.
	(thread_db_get_thread_local_address): Do not use it or check
	is_thread.  Check that private is set.  Assume that the thread
	handle is already cached.
	(init_thread_db_ops): Remove to_resume and to_kill.
	* thread.c (add_thread_with_info): New.
	(add_thread): Use it.
	* linux-nat.c (find_thread_from_lwp): Delete.
	(exit_lwp): Do not use it.  Check print_thread_events.  Print before
	deleting the thread.
	(GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to...
	* linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here.
	* inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and
	printf_unfiltered for thread exits.
	* procfs.c (procfs_wait): Likewise.

2008-03-21  Pedro Alves  <pedro@codesourcery.com>

	* gdb.threads/fork-child-threads.exp: Test next over fork.
2008-03-21 15:44:53 +00:00