Commit graph

24285 commits

Author SHA1 Message Date
Joel Brobecker
bf75638ec1 Undo the following change. Not correct, after all:
* procfs.c (solib_mappings_callback, find_memory_regions_callback):
        Fix a compilation warning on mips-irix due to casting from
        a pointer of different size.
2009-04-16 18:41:40 +00:00
Joel Brobecker
3705b1c591 * ada-lang.h (ada_adjust_exception_stop, ada_print_exception_stop)
(ada_get_current_task, ada_print_exception_breakpoint_nontask)
        (ada_print_exception_breakpoint_task, ada_reset_thread_registers):
        Remove declaration. These are non-existent functions.
2009-04-16 18:39:36 +00:00
Joel Brobecker
a2d5da46c6 * gdbint.texinfo (Native Debugging): Remove entry for PROC_NAME_FMT.
This macro is no longer used.
2009-04-16 17:42:00 +00:00
Joel Brobecker
37da21bceb * procfs.c (solib_mappings_callback, find_memory_regions_callback):
Fix a compilation warning on mips-irix due to casting from
        a pointer of different size.
2009-04-16 17:25:38 +00:00
Joel Brobecker
6f38eac82e * ada-lang.c (symtab_for_sym): Delete.
(user_select_syms): Use sym->symtab instead of calling symtab_for_sym.
2009-04-16 17:21:06 +00:00
Joel Brobecker
f9bc20b9be * ada-lang.c (extract_string): Delete.
(ada_main_name): Reimplement using target_read_string instead of
        extract_string.
2009-04-16 17:16:18 +00:00
Andreas Schwab
335d71d67e * m68klinux-nat.c: Remove obsolete comment.
(fetch_register, store_register): Don't call
gdbarch_cannot_fetch_register or gdbarch_cannot_store_register,
which are always nops here.
2009-04-16 15:26:49 +00:00
gdbadmin
015f384266 *** empty log message *** 2009-04-16 00:00:33 +00:00
Tom Tromey
732f6a935c gdb
* c-lang.c (c_emit_char): Use INTERMEDIATE_ENCODING.
	(c_printstr): Likewise.
	* charset.c: Include gdb_wait.h.
	(make_wchar_iterator): Use INTERMEDIATE_ENCODING.
	(find_charset_names): Use pexecute.  Handle libiconv's output.
	Detect errors.
	(_initialize_charset): Use xstrdup.
	* gdb_wchar.h: Check HAVE_BTOWC.  Split PHONY_ICONV and wchar
	cases.
	(INTERMEDIATE_ENCODING): New define.
	* configure, config.in: Rebuild.
	* configure.ac: Check for btowc.
gdb/doc
	* gdb.texinfo (Character Sets): Document default character set.
2009-04-15 22:20:32 +00:00
Tom Tromey
334cc82d44 gdb
* c-lang.c (evaluate_subexp_c): Correctly handle EVAL_SKIP.
gdb/testsuite
	* gdb.base/charset.exp: Add regression test.
2009-04-15 21:55:04 +00:00
Eli Zaretskii
27e3013dec * utils.c (parse_escape): Initialize target_char to pacify GCC. 2009-04-15 20:40:51 +00:00
gdbadmin
65cd573b7d *** empty log message *** 2009-04-15 00:00:02 +00:00
Jan Kratochvil
8ea5dfdf09 gdb/
* c-lang.c (c_get_string): Fix xfree crash on a failed string read.
2009-04-14 21:54:33 +00:00
Pierre Muller
88c15c3400 ARI fix: sprintf rule.
* ada-exp.y (convert_char_literal): Replace sprintf by xsnprintf.
	* ada-lang.c (add_angle_brackets): Use xstrprintf.
	(ada_decode): Replace sprintf by xsnprintf.
	(find_old_style_renaming_symbol): Ditto.
	(ada_to_fixed_type_1, ada_enum_name): Ditto.
2009-04-14 19:04:24 +00:00
Pierre Muller
87f9adc166 * gdbint.texinfo: Change server name from sources.redhat.com to
sourceware.org throughout.
2009-04-14 18:18:41 +00:00
Joel Brobecker
d12672ccc7 * gdb.base/exe-lock.exp: New testcase. 2009-04-14 16:49:57 +00:00
Joel Brobecker
efbd6e753f * target.c (target_mourn_inferior): Call bfd_cache_close_all
after having executed the target mourn_inferior routine.
2009-04-14 16:48:07 +00:00
Eli Zaretskii
b46df7a18c config/djgpp/djconfig.sh (DEPDIR): Define to "_deps", if undefined. 2009-04-14 14:25:12 +00:00
David Daney
2facfe5cc4 2009-04-13 David Daney <ddaney@caviumnetworks.com>
* infrun.c (maybe_software_singlestep): New function.
	(resume): Call maybe_software_singlestep.
	(handle_inferior_event): Same.
2009-04-14 00:59:47 +00:00
gdbadmin
bf21c8117e *** empty log message *** 2009-04-14 00:00:33 +00:00
Tom Tromey
18e8c3bc8a gdb
* python/python-frame.c (frapy_richcompare): Return
	Py_NotImplemented, not an error.  Handle Py_NE as well.
gdb/testsuite
	* gdb.python/python-frame.exp (gdb_py_test_silent_cmd): Test !=
	operator on Frame.
2009-04-13 20:54:59 +00:00
Eli Zaretskii
76208fec87 Fix typo in the last change. 2009-04-13 18:55:15 +00:00
Eli Zaretskii
e726d7841c * charset.c (EILSEQ): Define if not defined by system headers. 2009-04-13 18:49:27 +00:00
gdbadmin
2be757dd2a *** empty log message *** 2009-04-13 00:00:33 +00:00
gdbadmin
f41305e143 *** empty log message *** 2009-04-12 00:00:03 +00:00
Eli Zaretskii
c03b3c325a *** empty log message *** 2009-04-11 19:21:10 +00:00
Eli Zaretskii
a2effb2e8e *** empty log message *** 2009-04-11 18:06:02 +00:00
Eli Zaretskii
238f4807d1 * config/djgpp/config.sed: Tweak ac_config_files in intl/configure
to be consistent with renaming config.intl.h into config_intl.h.
2009-04-11 18:03:52 +00:00
Eli Zaretskii
685af672ca * go32-nat.c (go32_attach, go32_detach:) Fix prototypes to be
consistent with the change from 2009-03-17.
2009-04-11 17:57:34 +00:00
gdbadmin
e4169056cc *** empty log message *** 2009-04-11 00:00:33 +00:00
Jan Kratochvil
f4a34a0895 gdb/
* varobj.c (varobj_invalidate): Fix formatting text width.
2009-04-10 16:00:49 +00:00
Jan Kratochvil
2dbd25e5eb gdb/
* varobj.c (varobj_invalidate): Fix indentation.
2009-04-10 15:57:54 +00:00
Jan Kratochvil
c16abbdefa * gdbtypes.c: Remove excessive parentheses at the return keywords. 2009-04-10 03:36:32 +00:00
gdbadmin
da5302886c *** empty log message *** 2009-04-10 00:00:03 +00:00
Joel Brobecker
2c88c651a4 * gdb.texinfo (Set Breaks): Rewrite a paragraph to avoid a warning
about a missing dot or coma after @xref.
2009-04-09 20:11:57 +00:00
gdbadmin
c69cb0bd0d *** empty log message *** 2009-04-09 00:00:33 +00:00
Vladimir Prus
143260c9bf Implement -exec-jump.
* mi/mi-cmds.h (mi_cmd_exec_jump): Declare.
	* mi/mi-main.c (mi_cmd_exec_jump): New.
	* mi/mi-cmds.c (mi_cmds): Register exec-jump.
2009-04-08 06:58:37 +00:00
gdbadmin
a8094b241e *** empty log message *** 2009-04-08 00:00:33 +00:00
Doug Evans
d10c338de3 * symfile.c (symbol_file_clear): Fix indentation. 2009-04-07 20:43:51 +00:00
gdbadmin
0531ad6f23 *** empty log message *** 2009-04-07 00:00:33 +00:00
gdbadmin
c71301cd1f *** empty log message *** 2009-04-06 00:00:03 +00:00
Mark Kettenis
e5a6ba44d9 * sparc64nbsd-nat.c (sparc64nbsd_supply_pcb): Fix comment. 2009-04-05 22:37:20 +00:00
gdbadmin
6eed0d08a8 *** empty log message *** 2009-04-05 00:00:33 +00:00
gdbadmin
da276d977f *** empty log message *** 2009-04-04 00:00:34 +00:00
Ulrich Weigand
7fe519cb21 * inferiors.c (get_thread_process): Make global.
* server.h (get_thread_process): Add prototype.
	* thread-db.c (find_one_thread): Use get_thread_process
	instead of current_process.
	(thread_db_get_tls_address): Do not crash if called when
	thread layer is not yet initialized.
2009-04-03 20:15:51 +00:00
Ulrich Weigand
409c383c98 * ppc-linux-nat.c (ppc_linux_target_wordsize): New function.
(ppc_linux_auxv_parse): New function.
	(ppc_linux_read_description): Use ppc_linux_target_wordsize.
	(_initialize_ppc_linux_nat): Install ppc_linux_auxv_parse.
2009-04-03 16:07:04 +00:00
Ulrich Weigand
5472f405e2 * remote-utils.c (prepare_resume_reply): Null-terminate packet.
* spu-low.c (current_tid): Rename to ...
	(current_ptid): ... this.
	(fetch_ppc_register, fetch_ppc_memory, store_ppc_memory,
	spu_proc_xfer_spu, spu_resume, spu_request_interrupt): Use
	ptid_get_lwp (current_ptid) instead of current_tid.
	(spu_kill, spu_detach, spu_join, spu_wait): Use pid argument
	instead of current_tid.  Use find_process_pid to verify pid
	argument is valid.  Pass proper argument to remove_process.
	(spu_thread_alive): Compare current_ptid instead of current_tid.
	(spu_resume): Likewise.
2009-04-03 14:38:39 +00:00
Ulrich Weigand
9592c5d011 * spu-linux-nat.c (spu_bfd_open): Set filename of in-memory
BFD to contents of SPU name note.
	(spu_symbol_file_add_from_memory): Call symbol_file_add_from_bfd
	with "from_tty" argument 1 instead of 0.
2009-04-03 14:37:57 +00:00
Ulrich Weigand
5ecd5cbe98 * gdb.base/attach.exp: Re-enable for spu*-*-* targets.
* gdb.server/ext-attach.exp: Likewise.
2009-04-03 14:37:04 +00:00
Pedro Alves
55ac2b9961 * linux-low.c (usr_store_inferior_registers): Declare local `pid'
variable.
2009-04-03 11:40:02 +00:00
Vladimir Prus
7309f75664 Eliminate some sleep usage.
* gdb.mi/basics.c (do_nothing): New.
        (main): Use do_nothing instead of printf, so that
        not to introduce race condition between output of
        inferiour and output of gdb. Do not use sleep as it
        is not generally available on embedded targets.
2009-04-03 11:23:19 +00:00
gdbadmin
0ab72a231d *** empty log message *** 2009-04-03 00:00:03 +00:00
Pedro Alves
f4b95f6ffd * gdb.server/ext-attach.exp: Expect an optional process id after
"Detached from remote process".
2009-04-02 22:40:10 +00:00
Jan Kratochvil
de40b933e2 gdb/
* dwarf2read.c
	(new_symbol <DW_TAG_variable> <!DW_AT_location> <DW_AT_external>):
	Create the symbol in local scope.
	* symtab.h (cu->list_in_scope <LOC_UNRESOLVED>): New comment part.

gdb/testsuite/
	* gdb.dwarf2/dw2-unresolved-main.c, gdb.dwarf2/dw2-unresolved.S,
	gdb.dwarf2/dw2-unresolved.exp: New.
2009-04-02 21:01:41 +00:00
Keith Seitz
6cbbcdfe20 * stabsread.c (read_member_functions): GCC may emit an extra space
at the end of the names "__base_ctor" and "__base_dtor"; so ignore
	whitespace when looking for these functions.
2009-04-02 17:34:25 +00:00
Pedro Alves
2ae101a454 * gdb.mi/mi-nonstop-exit.exp: Don't check isnative. Use
mi_run_to_main.
2009-04-02 16:11:48 +00:00
Joel Brobecker
4f5376b2eb * gdb.texinfo (Backtrace): Add a parameter in frame 1 of the first
example, and add a small explanation about it.
        (Print Settings): Change the documentation of the "set print
        frame-arguments" to reflect the fact that the default is now "scalars".
2009-04-02 15:56:08 +00:00
Joel Brobecker
a0381d3a18 * gdb.texinfo (Print Settings): Add kindex for command "set
print frame-arguments".
2009-04-02 15:54:50 +00:00
Pedro Alves
56a8e183d2 * gdb.mi/mi-nonstop.exp: Don't check isnative. Use
mi_run_to_main.  Skip thread exit test on remote targets.
	* gdb.mi/mi-nsintrall.exp: Don't check isnative.  Use
	mi_run_to_main.
	* gdb.mi/mi-nsmoribund.exp: Don't check isnative.  Use
	mi_run_to_main.
	* lib/mi-support.exp (mi_gdb_target_cmd): Remove trailing anchor
	when expecting ^connected.  Detect when the target doesn't support
	non-stop mode.
	(mi_run_cmd): Detect if non-stop mode was requested by isn't
	supported.  Return -1 on error, 0 on success.
	(mi_runto_helper): Don't expect a stop if mi_run_cmd failed.
	(mi_runto): Return mi_runto_helper's result explicitly.
2009-04-02 15:43:10 +00:00
gdbadmin
d429cf9352 *** empty log message *** 2009-04-02 00:00:03 +00:00
Pedro Alves
95954743cb 2009-04-01 Pedro Alves <pedro@codesourcery.com>
Implement the multiprocess extensions, and add linux multiprocess
	support.

	* server.h (ULONGEST): Declare.
	(struct ptid, ptid_t): New.
	(minus_one_ptid, null_ptid): Declare.
	(ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
	(ptid_get_tid, ptid_equal, ptid_is_pid): Declare.
	(struct inferior_list_entry): Change `id' type from unsigned from
	to ptid_t.
	(struct sym_cache, struct breakpoint, struct
	process_info_private): Forward declare.
	(struct process_info): Declare.
	(current_process): Declare.
	(all_processes): Declare.
	(initialize_inferiors): Declare.
	(add_thread): Adjust to use ptid_t.
	(thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id): Ditto.
	(add_process, remove_process, find_thread_pid): Declare.
	(find_inferior_id): Adjust to use ptid_t.
	(cont_thread, general_thread, step_thread): Change type to ptid_t.
	(multi_process): Declare.
	(push_event): Adjust to use ptid_t.
	(read_ptid, write_ptid): Declare.
	(prepare_resume_reply): Adjust to use ptid_t.
	(clear_symbol_cache): Declare.
	* inferiors.c (all_processes): New.
	(null_ptid, minus_one_ptid): New.
	(ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp)
	(ptid_get_tid, ptid_equal, ptid_is_pid): New.
	(add_thread): Change unsigned long to ptid.  Remove gdb_id
	parameter.  Adjust.
	(thread_id_to_gdb_id, thread_to_gdb_id): Change unsigned long to ptid.
	(gdb_id_to_thread): Rename to ...
	(find_thread_pid): ... this.  Change unsigned long to ptid.
	(gdb_id_to_thread_id, find_inferior_id): Change unsigned long to ptid.
	(loaded_dll, pull_pid_from_list): Adjust.
	(add_process, remove_process, find_process_pid)
	(get_thread_process, current_process, initialize_inferiors): New.
	* target.h (struct thread_resume) <thread>: Change type to ptid_t.
	(struct target_waitstatus) <related_pid>: Ditto.
	(struct target_ops) <kill, detach>: Add `pid' argument.  Change
	return type to int.
	(struct target_ops) <join>: Add `pid' argument.
	(struct target_ops) <thread_alive>: Change pid's type to ptid_t.
	(struct target_ops) <wait>: Add `ptid' field.  Change return type
	to ptid.
	(kill_inferior, detach_inferior, join_inferior): Add `pid' argument.
	(mywait): Add `ptid' argument.  Change return type to ptid_t.
	(target_pid_to_str): Declare.
	* target.c (set_desired_inferior): Adjust to use ptids.
	(mywait): Add new `ptid' argument.  Adjust.
	(target_pid_to_str): New.
	* mem-break.h (free_all_breakpoints): Declare.
	* mem-break.c (breakpoints): Delelete.
	(set_breakpoint_at, delete_breakpoint, find_breakpoint_at)
	(check_mem_read, check_mem_write, delete_all_breakpoints): Adjust
	to use per-process breakpoint list.
	(free_all_breakpoints): New.
	* remote-utils.c (struct sym_cache) <name>: Drop `const'.
	(symbol_cache, all_symbols_looked_up): Delete.
	(hexchars): New.
	(ishex, unpack_varlen_hex, write_ptid, hex_or_minus_one,
	read_ptid): New.
	(prepare_resume_reply): Change ptid argument's type from unsigned
	long to ptid_t.  Adjust.  Implement W;process and X;process.
	(free_sym_cache, clear_symbol_cache): New.
	(look_up_one_symbol): Adjust to per-process symbol cache.  *
	* server.c (cont_thread, general_thread, step_thread): Change type
	to ptid_t.
	(attached): Delete.
	(multi_process): New.
	(last_ptid): Change type to ptid_t.
	(struct vstop_notif) <ptid>: Change type to ptid_t.
	(queue_stop_reply, push_event): Change `ptid' argument's type to
	ptid_t.
	(discard_queued_stop_replies): Add `pid' argument.
	(start_inferior): Adjust to use ptids.  Adjust to mywait interface
	changes.  Don't reference the `attached' global.
	(attach_inferior): Adjust to mywait interface changes.
	(handle_query): Adjust to use ptids.  Parse GDB's qSupported
	features.  Handle and report "multiprocess+".  Handle
	"qAttached:PID".
	(handle_v_cont): Adjust to use ptids.  Adjust to mywait interface
	changes.
	(handle_v_kill): New.
	(handle_v_stopped): Adjust to use target_pid_to_str.
	(handle_v_requests): Allow multiple attaches and runs when
	multiprocess extensions are in effect.  Handle "vKill".
	(myresume): Adjust to use ptids.
	(queue_stop_reply_callback): Add `arg' parameter.  Handle it.
	(handle_status): Adjust to discard_queued_stop_replies interface
	change.
	(first_thread_of, kill_inferior_callback)
	(detach_or_kill_inferior_callback, join_inferiors_callback): New.
	(main): Call initialize_inferiors.  Adjust to use ptids, killing
	and detaching from all inferiors.  Handle multiprocess packet
	variants.
	* linux-low.h: Include gdb_proc_service.h.
	(struct process_info_private): New.
	(struct linux_target_ops) <pid_of>: Use ptid_get_pid.
	<lwpid_of>: Use ptid_get_lwp.
	(get_lwp_thread): Adjust.
	(struct lwp_info): Add `dead' member.
	(find_lwp_pid): Declare.
	* linux-low.c (thread_db_active): Delete.
	(new_inferior): Adjust comment.
	(inferior_pid): Delete.
	(linux_add_process): New.
	(handle_extended_wait): Adjust.
	(add_lwp): Change unsigned long to ptid.
	(linux_create_inferior): Add process to processes table.  Adjust
	to use ptids.  Don't set new_inferior here.
	(linux_attach_lwp): Rename to ...
	(linux_attach_lwp_1): ... this.  Add `initial' argument.  Handle
	it.  Adjust to use ptids.
	(linux_attach_lwp): New.
	(linux_attach): Add process to processes table.  Don't set
	new_inferior here.
	(struct counter): New.
	(second_thread_of_pid_p, last_thread_of_process_p): New.
	(linux_kill_one_lwp): Add `args' parameter.  Handle it.  Adjust to
	multiple processes.
	(linux_kill): Add `pid' argument.  Handle it.  Adjust to multiple
	processes.  Remove process from process table.
	(linux_detach_one_lwp): Add `args' parameter.  Handle it.  Adjust
	to multiple processes.
	(any_thread_of): New.
	(linux_detach): Add `pid' argument, and handle it.  Remove process
	from processes table.
	(linux_join): Add `pid' argument.  Handle it.
	(linux_thread_alive): Change unsighed long argument to ptid_t.
	Consider dead lwps as not being alive.
	(status_pending_p): Rename `dummy' argument to `arg'.  Filter out
	threads we're not interested in.
	(same_lwp, find_lwp_pid): New.
	(linux_wait_for_lwp): Change `pid' argument's type from int to
	ptid_t.  Adjust.
	(linux_wait_for_event): Rename to ...
	(linux_wait_for_event_1): ... this.  Change `pid' argument's type
	from int to ptid_t.  Adjust.
	(linux_wait_for_event): New.
	(linux_wait_1): Add `ptid' argument.  Change return type to
	ptid_t.  Adjust.  Use last_thread_of_process_p.  Remove processes
	that exit from the process table.
	(linux_wait): Add `ptid' argument.  Change return type to ptid_t.
	Adjust.
	(mark_lwp_dead): New.
	(wait_for_sigstop): Adjust to use ptids.  If a process exits while
	stopping all threads, mark its main lwp as dead.
	(linux_set_resume_request, linux_resume_one_thread): Adjust to use
	ptids.
	(fetch_register, usr_store_inferior_registers)
	(regsets_fetch_inferior_registers)
	(regsets_store_inferior_registers, linux_read_memory)
	(linux_write_memory): Inline `inferior_pid'.
	(linux_look_up_symbols): Adjust to use per-process
	`thread_db_active'.
	(linux_request_interrupt): Adjust to use ptids.
	(linux_read_auxv): Inline `inferior_pid'.
	(initialize_low): Don't reference thread_db_active.
	* gdb_proc_service.h (struct ps_prochandle) <pid>: Remove.
	* proc-service.c (ps_lgetregs): Use find_lwp_pid.
	(ps_getpid): Return the pid of the current inferior.
	* thread-db.c (proc_handle, thread_agent): Delete.
	(thread_db_create_event, thread_db_enable_reporting): Adjust to
	per-process data.
	(find_one_thread): Change argument type to ptid_t.  Adjust to
	per-process data.
	(maybe_attach_thread): Adjust to per-process data and ptids.
	(thread_db_find_new_threads): Ditto.
	(thread_db_init): Ditto.
	* spu-low.c (spu_create_inferior, spu_attach): Add process to
	processes table.  Adjust to use ptids.
	(spu_kill, spu_detach): Adjust interface.  Remove process from
	processes table.
	(spu_join, spu_thread_alive): Adjust interface.
	(spu_wait): Adjust interface.  Remove process from processes
	table.  Adjust to use ptids.
	* win32-low.c (current_inferior_tid): Delete.
	(current_inferior_ptid): New.
	(debug_event_ptid): New.
	(thread_rec): Take a ptid.  Adjust.
	(child_add_thread): Add `pid' argument.  Adjust to use ptids.
	(child_delete_thread): Ditto.
	(do_initial_child_stuff): Add `attached' argument.  Add process to
	processes table.
	(child_fetch_inferior_registers, child_store_inferior_registers):
	Adjust.
	(win32_create_inferior): Pass 0 to do_initial_child_stuff.
	(win32_attach): Pass 1 to do_initial_child_stuff.
	(win32_kill): Adjust interface.  Remove process from processes
	table.
	(win32_detach): Ditto.
	(win32_join): Adjust interface.
	(win32_thread_alive): Take a ptid.
	(win32_resume): Adjust to use ptids.
	(get_child_debug_event): Ditto.
	(win32_wait): Adjust interface.  Remove exiting process from
	processes table.
2009-04-01 22:50:24 +00:00
Pedro Alves
bd99dc8583 Non-stop mode support.
* server.h (non_stop): Declare.
	(gdb_client_data, handler_func): Declare.
	(delete_file_handler, add_file_handler, start_event_loop):
	Declare.
	(handle_serial_event, handle_target_event, push_event)
	(putpkt_notif): Declare.
	* target.h (enum resume_kind): New.
	(struct thread_resume): Replace `step' field by `kind' field.
	(TARGET_WNOHANG): Define.
	(struct target_ops) <wait>: Add `options' argument.
	<supports_non_stop, async, start_non_stop>: New fields.
	(target_supports_non_stop, target_async): New.
	(start_non_stop): Declare.
	(mywait): Add `options' argument.
	* target.c (mywait): Add `options' argument.  Print child exit
	notifications here.
	(start_non_stop): New.
	* server.c (non_stop, own_buf, mem_buf): New globals.
	(struct vstop_notif): New.
	(notif_queue): New global.
	(queue_stop_reply, push_event, discard_queued_stop_replies)
	(send_next_stop_reply): New.
	(start_inferior): Adjust to use resume_kind.  Adjust to mywait
	interface changes.
	(attach_inferior): In non-stop mode, don't wait for the target
	here.
	(handle_general_set): Handle QNonStop.
	(handle_query): When handling qC, return the current general
	thread, instead of the first thread of the list.
	(handle_query): If the backend supports non-stop mode, include
	QNonStop+ in the qSupported query response.
	(handle_v_cont): Adjust to use resume_kind.  Handle resume_stop
	and non-stop mode.
	(handle_v_attach, handle_v_run): Handle non-stop mode.
	(handle_v_stopped): New.
	(handle_v_requests): Report support for vCont;t.  Handle vStopped.
	(myresume): Adjust to use resume_kind.  Handle non-stop.
	(queue_stop_reply_callback): New.
	(handle_status): Handle non-stop mode.
	(main): Clear non_stop flag on reconnection.  Use the event-loop.
	Refactor serial protocol handling from here ...
	(process_serial_event): ... to this new function.  When GDB
	selects any thread, select one here.  In non-stop mode, wait until
	GDB acks all pending events before exiting.
	(handle_serial_event, handle_target_event): New.
	* remote-utils.c (remote_open): Install remote_desc in the event
	loop.
	(remote_close): Remove remote_desc from the event loop.
	(putpkt_binary): Rename to...
	(putpkt_binary_1): ... this.  Add `is_notic' argument.  Handle it.
	(putpkt_binary): New as wrapper around putpkt_binary_1.
	(putpkt_notif): New.
	(prepare_resume_reply): In non-stop mode, don't change the
	general_thread.
	* event-loop.c: New.
	* Makefile.in (OBJ): Add event-loop.o.
	(event-loop.o): New rule.

	* linux-low.h (pid_of): Moved here.
	(lwpid_of): New.
	(get_lwp_thread): Use lwpid_of.
	(struct lwp_info): Delete `lwpid' field.  Add `suspended' field.
	* linux-low.c (pid_of): Delete.
	(inferior_pid): Use lwpid_of.
	(linux_event_pipe): New.
	(target_is_async_p): New.
	(delete_lwp): New.
	(handle_extended_wait): Use lwpid_of.
	(add_lwp): Don't set lwpid field.
	(linux_attach_lwp): Adjust debug output.  Use lwpid_of.
	(linux_kill_one_lwp): If killing a running lwp, stop it first.
	Use lwpid_of.  Adjust to linux_wait_for_event interface changes.
	(linux_detach_one_lwp): If detaching from a running lwp, stop it
	first.  Adjust to linux_wait_for_event interface changes.  Use
	lwpid_of.
	(linux_detach): Don't delete the main lwp here.
	(linux_join): Use my_waitpid.  Avoid signal_pid.  Use lwpid_of.
	(status_pending_p): Don't consider explicitly suspended lwps.
	(linux_wait_for_lwp): Take an integer pid instead of a lwp_info
	pointer.  Add OPTIONS argument.  Change return type to int.  Use
	my_waitpid instead of sleeping.  Handle WNOHANG.  Use lwpid_of.
	(linux_wait_for_event): Take an integer pid instead of a lwp_info
	pointer.  Add status pointer argument.  Return a pid instead of a
	status.  Use lwpid_of.  Adjust to linux_wait_for_lwp interface
	changes.  In non-stop mode, don't switch to a random thread.
	(linux_wait): Rename to...
	(linux_wait_1): ... this.  Add target_options argument, and handle
	it.  Adjust to use resume_kind.  Use lwpid_of.  In non-stop mode,
	don't handle the continue thread.  Handle TARGET_WNOHANG.  Merge
	clean exit and signal exit code.  Don't stop all threads in
	non-stop mode.  In all-stop mode, only stop all threads when
	reporting a stop to GDB.  Handle explicit thread stop requests.
	(async_file_flush, async_file_mark): New.
	(linux_wait): New.
	(send_sigstop): Use lwpid_of.
	(wait_for_sigstop): Use lwpid_of.  Adjust to linux_wait_for_event
	interface changes.  In non-stop mode, don't switch to a random
	thread.
	(linux_resume_one_lwp): Use lwpid_of.
	(linux_continue_one_thread, linux_queue_one_thread): Merge into ...
	(linux_resume_one_thread): ... this.  Handle resume_stop.  In
	non-stop mode, don't look for pending flag in all threads.
	(resume_status_pending_p): Don't consider explicitly suspended
	threads.
	(my_waitpid): Reimplement.  Emulate __WALL.
	(linux_request_interrupt, linux_read_offsets, linux_xfer_siginfo):
	Use lwpid_of.
	(sigchld_handler, linux_supports_non_stop, linux_async)
	(linux_start_non_stop): New.
	(linux_target_ops): Register linux_supports_non_stop, linux_async
	and linux_start_non_stop.
	(initialize_low): Install SIGCHLD handler.
	* thread-db.c (thread_db_create_event, find_one_thread)
	(thread_db_get_tls_address): Use lwpid_of.
	* win32-low.c (win32_detach): Adjust to use resume_kind.
	(win32_wait): Add `options' argument.
	* spu-low.c (spu_resume): Adjust to use resume_kind.
	(spu_wait): Add `options' argument.
2009-04-01 22:48:05 +00:00
Pedro Alves
5b1c542ea1 Decouple target code from remote protocol.
* target.h (enum target_waitkind): New.
	(struct target_waitstatus): New.
	(struct target_ops) <wait>: Return an unsigned long.  Take a
	target_waitstatus pointer instead of a char pointer.
	(mywait): Likewise.
	* target.c (mywait): Change prototype to return an unsigned long.
	Take a target_waitstatus pointer instead of a char pointer.  Adjust.
	* server.h (thread_from_wait, old_thread_from_wait): Delete
	declarations.
	(prepare_resume_reply): Change prototype to take a
	target_waitstatus.
	* server.c (thread_from_wait, old_thread_from_wait): Delete.
	(last_status, last_ptid): New.
	(start_inferior): Remove "statusptr" argument.  Adjust.  Return a
	pid instead of a signal.
	(attach_inferior): Remove "status" and "signal" parameters.
	Adjust.
	(handle_query): For qGetTLSAddr, parse the thread id with strtol,
	not as an address.
	(handle_v_cont, handle_v_attach, handle_v_run, handle_v_kill)
	(handle_v_requests, myresume): Remove "status" and "signal"
	parameters.  Adjust.
	(handle_status): New.
	(main): Delete local `status'.  Adjust.
	* remote-utils.c: Include target.h.
	(prepare_resume_reply): Change prototype to take a
	target_waitstatus.  Adjust.

	* linux-low.c (linux_wait): Adjust to new target_ops->wait
	interface.
	* spu-low.c (spu_wait): Adjust.
	* win32-low.c (enum target_waitkind, struct target_waitstatus):
	Delete.
	(win32_wait): Adjust.
2009-04-01 22:31:45 +00:00
Pedro Alves
2bd7c093f6 * target.h (struct thread_resume): Delete leave_stopped member.
(struct target_ops): Add a `n' argument to the `resume' callback.
	* server.c (start_inferior): Adjust.
	(handle_v_cont, myresume): Adjust.
	* linux-low.c (check_removed_breakpoint): Adjust to resume
	interface change, and to removed leave_stopped field.
	(resume_ptr): Delete.
	(struct thread_resume_array): New.
	(linux_set_resume_request): Add new `arg' parameter.  Adjust to
	resume interface change.
	(linux_continue_one_thread, linux_queue_one_thread)
	(resume_status_pending_p): Check if the resume field is NULL
	instead of checking the leave_stopped member.
	(linux_resume): Adjust to the target resume interface change.
	* spu-low.c (spu_resume): Adjust to the target resume interface
	change.
	* win32-low.c (win32_detach, win32_resume): Ditto.
2009-04-01 22:29:33 +00:00
Pedro Alves
c35fafde7c gdb/gdbserver/
* linux-low.c (linux_wait_for_event): Don't clear the `stepping'
	flag.
	(wait_for_sigstop): Don't leave a finished single-step SIGTRAP
	pending.
	(linux_continue_one_thread): Only preserve the stepping flag if
	there's a pending breakpoint.

gdb/testsuite/

	* gdb.threads/pending-step.c, gdb.threads/pending-step.exp: New.
2009-04-01 22:25:44 +00:00
Joel Brobecker
f8a8dce68f * gdb.base/funcargs.exp: Set print frame-arguments to "all".
* gdb.base/call-ar-st.exp: Set print frame-arguments to "all".
        * gdb.ada/ref_param.exp: Set print frame-arguments to "all".
        * gdb.ada/lang_switch.exp: Set print frame-arguments to "all".
2009-04-01 22:08:03 +00:00
Joel Brobecker
476f7b68eb * stack.c (print_frame_arguments): Set initial value to "scalars". 2009-04-01 22:05:30 +00:00
Aleksandar Ristovski
865093a3bf * mips-tdep.c (mips_numeric_register_alieses): New definition.
(mips_gdbarch_init): Add user registers from
mips_numeric_register_aliases.
2009-04-01 19:13:42 +00:00
Joel Brobecker
5d3b6af6f9 * linux-nat.c (linux_nat_filter_event): Minor comment reformatting. 2009-04-01 19:07:50 +00:00
Joel Brobecker
9db037429b * linux-nat.c (linux_nat_filter_events): Do not delete the lwp if
this is the last one.
2009-04-01 18:56:30 +00:00
Pedro Alves
0d8f58ca94 * remote.c (append_resumption): New.
(remote_vcont_resume): Use it.
2009-04-01 17:42:03 +00:00
Joel Brobecker
1e2f1c5caa * windows-nat.c (+windows_get_ada_task_ptid): New function.
(init_windows_ops): Set windows_ops.to_get_ada_task_ptid.
2009-04-01 16:35:41 +00:00
gdbadmin
3f36520177 *** empty log message *** 2009-04-01 00:00:03 +00:00
Pedro Alves
0a59d50b2d * server.c (main): After the inferior having exited, call
remote_close before exiting gdbserver.
2009-03-31 22:46:36 +00:00
Paul Pluzhnikov
1b88d5c487 [obvious] Kill left-over merge marker 2009-03-31 22:39:27 +00:00
Tom Tromey
71c25deab3 gdb
2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
	    Keith Seitz  <keiths@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR gdb/6817
	* Makefile.in (dbxread.o): Update.
	* dbxread.c (read_dbx_symtab): Use cp_canonicalize_string.
	* dwarf2read.c (GDB_FORM_cached_string): New.
	(read_partial_die): Use dwarf2_canonicalize_name.
	(dwarf2_linkage_name): Use dwarf2_name.
	(dwarf2_canonicalize_name): New.
	(dwarf2_name): Use dwarf2_canonicalize_name.
	(dwarf_form_name, dump_die): Handle GDB_FORM_cached_string.
	* stabsread.c (define_symbol, read_type): Use cp_canonicalize_string.
	* symtab.c (lookup_symbol_in_language): Canonicalize input before
	searching.
	* cp-name-parser.y: operator() requires two parameters,
	according to libiberty.
	* minsyms.c (lookup_minimal_symbol): Canonicalize input
	before searching.
	* NEWS: Update.

gdb/testsuite

2009-03-31  Daniel Jacobowitz  <dan@codesourcery.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>

	PR gdb/931
	* gdb.cp/gdb1355.exp (f_li, f_lui, f_si, f_sui): Allow canonical
	output.
	* gdb.cp/templates.exp: Allow canonical output.  Remove KFAILs
	for gdb/931.
	* dw2-strp.S (DW_AT_language): Change to C++.
	(DW_TAG_variable (name ""), Abbrev code 7, .Lemptyname): New.
2009-03-31 20:21:08 +00:00
Joel Brobecker
45ac276db3 * gdb.texinfo (Ada Tasks): Add documentation about task-specific
breakpoints.
        (Set Breaks): Add reference to thread-specific and task-specific
        breakpoints.
2009-03-31 16:51:02 +00:00
Joel Brobecker
02d9a9cebf * gdb.ada/tasks: New testcase. 2009-03-31 16:48:49 +00:00
Joel Brobecker
4a306c9a89 Provide support for (Ada) task-specific breakpoints.
* ada-lang.h (ada_get_task_number): Add declaration.
        (breakpoint_ada_task_match): Delete declaration.
        * ada-tasks.c (ada_get_task_number): Make non-static.
        * breakpoint.h (struct breakpoint): Add field "task".
        * breakpoint.c (print_one_breakpoint_location): Add handling of
        task-specific breakpoints.
        (create_breakpoint, create_breakpoints, find_condition_and_thread):
        New parameter "task".
        (break_command_really): Update calls to find_condition_and_thread
        and create_breakpoints.
        (breakpoint_re_set_one): Update call to find_condition_and_thread.
        Set b->task.
2009-03-31 16:44:18 +00:00
Joel Brobecker
32cd1edcd2 * gdb.texinfo (Ada Tasks): Remove the documentation about
the "Running" state, as this state has been eliminated.
        Now all runnable tasks are shown as "Runnable".
2009-03-31 16:33:37 +00:00
Joel Brobecker
4a5a99175a * ada-tasks.c (short_task_info): Eliminate the "Running" task state. 2009-03-31 16:31:24 +00:00
Pedro Alves
bad34192e5 * remote.c (remote_notice_new_inferior): Use ptid_is_pid. Check
if the thread's ptid without a thread id field is in the list
	before calling thread_change_ptid.
	(extended_remote_attach_1): In non-stop mode, do not rely on
	querying the current thread, instead, query the thread list, and
	select the first thread of the process.
	* gdbthread.h (first_thread_of_process): Declare.
	* thread.c (first_thread_of_process): Define.
2009-03-31 15:23:57 +00:00
Stan Shebs
1042e4c058 2009-03-30 Stan Shebs <stan@codesourcery.com>
Make tracepoints into a type of breakpoint.
	* breakpoint.h (enum bptype): Add bp_tracepoint.
	(struct breakpoint): Add fields step_count, pass_count, actions.
	(get_tracepoint, get_tracepoint_by_number): Declare.
	(all_tracepoints): Declare.
	* breakpoint.c: Include tracepoint.h, readline.h.
	(ALL_TRACEPOINTS): Move here from tracepoint.c.
	(tracepoint_count): Ditto.
	(should_be_inserted): GDB does not insert tracepoints itself.
	(print_it_typical): Add tracepoint case.
	(bpstat_what): Ditto.
	(print_one_breakpoint_location): Ditto, and add printing for
	pass count, step count, and action list.
	(user_settable_breakpoint): Add tracepoint case.
	(allocate_bp_location): Ditto.
	(set_breakpoint_location_function): Ditto.
	(disable_breakpoints_in_shlibs): Ditto.
	(mention): Ditto.
	(break_command_really): Add argument traceflag, use to choose
	basic breakpoint type.
	(break_command_1): Pass extra argument.
	(set_breakpoint, handle_gnu_v3_exceptions): Ditto.
	(breakpoint_re_set_one): Add tracepoint case.
	(disable_command, enable_command): Ditto.
	(set_tracepoint_count): Move here from tracepoint.c.
	(trace_command): Move here from tracepoint.c and use
	break_command_really.
	(tracepoints_info): Move here from tracepoint.c and call
	breakpoints_info.
	(enable_trace_command): Move here from tracepoint.c and call
	enable_command.
	(disable_trace_command): Move here from tracepoint.c and call
	disable_command.
	(delete_trace_command): Move here from tracepoint.c and call
	delete_breakpoint.
	(trace_pass_command): Move here from tracepoint.c.
	(get_tracepoint_by_number): Ditto.
	(tracepoint_save_command): Ditto.
	(get_tracepoint): New function.
	(all_tracepoints): New function.
	(_initialize_breakpoint): Move tracepoint init from tracepoint.c,
	deprecate "enable trace" and "disable trace" commands.
	* tracepoint.h (struct tracepoint): Remove.
	(tracepoint_chain): Remove decl.
	(deprecated_create_tracepoint_hook): Remove decl.
	(deprecated_delete_tracepoint_hook): Remove decl.
	(deprecated_modify_tracepoint_hook): Remove decl.
	(ALL_TRACEPOINTS, ALL_TRACEPOINTS_SAFE): Remove.
	(free_actions): Update signature.
	(validate_actionline): Update signature.
	(end_actions_pseudocommand): Declare.
	(while_stepping_pseudocommand): Declare.
	* tracepoint.c: Include breakpoint.h.
	(tracepoint_chain, tracepoint_count): Remove.
	(free_actions, make_cleanup_free_actions): Update signature.
	(trace_command, set_raw_tracepoint): Remove.
	(trace_mention): Remove.
	(tracepoints_info): Remove.
	(tracepoint_operation, map_args_over_tracepoints): Remove.
	(get_tracepoint_by_number): Remove.
	(enable_trace_command, disable_trace_command): Remove.
	(delete_trace_command, trace_pass_command): Remove.
	(trace_actions_command, read_actions): Update signature.
	(validate_actionline): Update signature, use bp loc.
	(encode_actions): Ditto.
	(download_tracepoint): New function, body of trace_start_command.
	(trace_start_command): Call it, use all_tracepoints.
	(tracepoint_save_command): Remove.
	(tracepoint_dump_command): Use get_tracepoint.
	(end_actions_pseudocommand): Make globally visible.
	(while_stepping_pseudocommand): Ditto.
	(_initialize_tracepoint): Move command definitions to breakpoint.c.

	doc/
	* gdb.texinfo (Tracepoints): Describe tracepoints as a
	special case of breakpoints.
	(Enable and Disable Tracepoints): Mention deprecation.
	(Listing Tracepoints): Update description and example.

	testsuite/
	* gdb.trace/actions.exp: Update to match new info trace format.
	* gdb.trace/deltrace.exp: Ditto.
	* gdb.trace/infotrace.exp: Ditto.
	* gdb.trace/passcount.exp: Ditto.
	* gdb.trace/save-trace.exp: Ditto.
	* gdb.trace/while-stepping.exp: Ditto.
	* gdb.trace/tracecmd.exp: Ditto, plus don't allow pending option.

	gdbtk/
	* generic/gdbtk-bp.c (gdb_actions_command): Update to handle
	tracepoints as breakpoints.
	(gdb_get_tracepoint_info): Ditto, plus use get_tracepoint and
	breakpoint locations.
	(tracepoint_exists): Ditto, plus use all_tracepoints.
2009-03-31 05:08:37 +00:00
gdbadmin
4da75b00e8 *** empty log message *** 2009-03-31 00:00:03 +00:00
Thiago Jung Bauermann
f8f6f20b6e gdb/
Expose frames to Python.
	* Makefile.in (SUBDIR_PYTHON_OBS): Add python-frame.o.
	(SUBDIR_PYTHON_SRCS): Add python-frame.c.
	(python-frame.o): New target.
	* python/python-frame.c: New file.
	* python/python-internal.h (gdbpy_frames, gdbpy_newest_frame,
	gdbpy_frame_stop_reason_string, gdbpy_selected_frame,
	gdbpy_initialize_frames): New prototypes.
	* python/python.c (_initialize_python): Call gdbpy_initialize_frames.
	(GdbMethods): Add `selected_frame' and `frame_stop_reason_string'
	entries.
	* stack.c (find_frame_funname): New function, factored out of
	print_frame.
	(print_frame): Call find_frame_funname.
	* stack.h (find_frame_funname): Add prototype.

gdb/doc/
	* gdb.texinfo (Frames in Python): New node.
	(Python API): Update.

gdb/testsuite/
	* gdb.python/python-frame.c: New file.
	* gdb.python/python-frame.exp: New file.
2009-03-30 19:54:33 +00:00
gdbadmin
4104b747d5 *** empty log message *** 2009-03-30 00:00:33 +00:00
Thiago Jung Bauermann
77316f4c7e Remove unused value_object attribute `owned_by_gdb'.
* python/python-value.c (value_object): Remove owned_by_gdb
	attribute.
	(valpy_dealloc): Remove reference to self->owned_by_gdb.
	(valpy_new): Likewise.
	(value_to_value_object): Likewise.
2009-03-29 21:19:40 +00:00
Thiago Jung Bauermann
c0c6f77785 gdb/
Change gdb.Value.address from a method to an attribute.
	* python/python-value.c (value_object): Add `address' element.
	(valpy_dealloc): Decrement reference to self->address if set.
	(valpy_new): Initialize val_obj->address.
	(valpy_address): Rename to ...
	(valpy_get_address): ... this.  Change signature from method to
	attribute.  Update self->address if not set.
	(value_to_value_object): Initialize val_obj->address.
	(value_object_getset): Add `address' element.
	(value_object_methods): Remove `address' element.

gdb/testsuite/
	* gdb.python/python-value.exp: Add tests for the address
	attribute.

gdb/doc/
	* gdb.texinfo (Values From Inferior): Change gdb.Value.address
	from a method to an attribute.
2009-03-29 21:11:11 +00:00
Andreas Schwab
3cb5190557 * gdb.arch/powerpc-prologue.exp: Update for disassemble-next-line. 2009-03-29 14:52:54 +00:00
Andreas Schwab
c2c8d75b34 * observer.sh: Set LANG/LC_ALL to C, not c. 2009-03-29 13:36:27 +00:00
gdbadmin
9259819687 *** empty log message *** 2009-03-29 00:00:33 +00:00
Kevin Buettner
1b31f75d63 * mn10300-tdep.c (mn10300_gdbarch_init): For mn10300, by default,
`char' is unsigned.
2009-03-28 04:56:42 +00:00
Pedro Alves
f91d3df5c6 * remote.c (remote_stop_ns): If multi-process extensions are off,
and GDB is requesting the whole process to stop, sent "vCont;t",
	not "vCont;t:-1"
2009-03-28 01:15:13 +00:00
Pedro Alves
7b0e805131 * inf-loop.c (inferior_event_handler): Avoid calling is_running on
null inferior_ptid.
2009-03-28 00:58:31 +00:00
gdbadmin
11fe854022 *** empty log message *** 2009-03-28 00:00:03 +00:00
Eli Zaretskii
20ec62945d Add one more tweak for readline/examples. 2009-03-27 13:59:38 +00:00
Eli Zaretskii
5362e076aa * config/djgpp/fnchange.lst: Update to fix ARI-reported problems. 2009-03-27 13:38:31 +00:00
Doug Evans
88fc996f58 * thread.c (do_restore_current_thread_cleanup): Redo test for
whether to restore old->inferior_ptid.

	* gdb.mi/mi-nonstop-exit.exp: New file.
	* gdb.mi/non-stop-exit.c: New file.
2009-03-27 02:44:51 +00:00
gdbadmin
5cff901f31 *** empty log message *** 2009-03-27 00:00:34 +00:00
Tom Tromey
56ef84b1f1 gdb
* breakpoint.c (resolve_sal_pc): Preserve original line number
	when skipping prologue.
gdb/testsuite
	Update for change to prologue skipping:
	* gdb.mi/mi2-simplerun.exp: Update.
	* gdb.mi/mi2-break.exp: Update.
	* gdb.mi/mi-simplerun.exp: Update.
	* gdb.mi/mi-break.exp: Update.
	* gdb.base/ending-run.exp: Update.
2009-03-26 23:30:12 +00:00