summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2008-11-25 Pedro Alves <pedro@codesourcery.com>cvs/multiprocess-20081120-branchPedro Alves2008-11-2516-991/+3827
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-10-13 Pedro Alves <pedro@codesourcery.com> * server.c (discard_pending_stop_replies): Initialize prev. 2008-10-12 Pedro Alves <pedro@codesourcery.com> * linux-low.c (linux_wait_1): Cancel breakpoint hits in threads we're not reporting. (cancel_breakpoints_callback): New. 2008-10-12 Pedro Alves <pedro@codesourcery.com> * server.c (queue_stop_reply_callback, handle_status): Pass TARGET_SIGNAL_TRAP, not TARGET_SIGNAL_0. * linux-low.c (ptid_is_pid): Delete. (linux_wait_for_event): In non-stop, don't set the current inferior arbitrarily. (linux_wait): Flush the event pipe before polling for an event. (wait_for_sigstop): In non-stop, don't set the current inferior arbitrarily. (linux_resume_one_lwp): Small cleanup. (cancel_breakpoint): New. (linux_resume_one_thread): Use it. Still report SIGTRAPs. (regsets_store_inferior_registers): Plug leak. (sigchld_handler): Don't use fprintf here. * mem-break.c (breakpoint_at): New. * inferiors.c (ptid_is_pid): New. * mem-break.h (breakpoint_at): Declare. * server.c (discard_queued_stop_replies): Add `pid' argument. Handle it. (send_next_stop_reply): Cleanup. (attach_inferior): Don't wait here in non-stop mode. (handle_v_attach): Don't queue stop replies here. (handle_v_kill): Discard queued stop replies of the inferior we just killed. (queue_stop_reply_callback): Add `arg' argument. Handle it. (handle_status): Adjust. (kill_inferior_callback): Discard queued stop replies of the inferior we just killed. (detach_or_kill_inferior_callback): Discard queued stop replies of the inferior we just killed or detached from. (process_serial_event): Cleanup. Discard queued stop replies of the inferior we just detached. Don't write 0 bytes to the inferior. (handle_serial_event): Debug output. * server.h (ptid_is_pid): Declare. * remote-utils.c (prepare_resume_reply): Avoid reading registers and memory from a thread that is gone. 2008-09-26 Pedro Alves <pedro@codesourcery.com> * server.h (struct sym_cache, struct process_info_private): Forward declare. (struct process_info): Add symbol_cache, all_symbols_looked_up and private fields. (current_process): Declare. * remote-utils.c (struct sym_cache) <name>: Remove constness. (symbol_cache): Delete. (free_sym_cache, clear_symbol_cache): New. (look_up_one_symbol): Adjust, to per-process symbol cache. * inferiors.c (current_process): New. * linux-low.h: Include "gdb_proc_service.h". (struct process_info_private): Define. * linux-low.c (thread_db_active): Delete. (linux_add_process): New. (handle_extended_wait, linux_create_inferior, linux_attach): Use it. (linux_wait_for_event, linux_look_up_symbols): Adjust. (initialize_low): Don't clear the global thread_db_active. * thread-db.c (proc_handle, thread_agent): Delete. (fixup_proc_handle): New. (thread_db_err_str, thread_db_enable_reporting): Use it. Adjust. (thread_db_find_new_threads): Look for the current inferior thread, not the first thread in the list. Use fixup_proc_handle. Adjust. (thread_db_get_tls_address): Use fixup_proc_handle. (thread_db_init): Likewise. Adjust. 2008-09-26 Pedro Alves <pedro@codesourcery.com> * mem-break.c (get_breakpoint_list): Add `create' argument. Only create the list if create is set. (remove_breakpoint_list): New. (set_breakpoint_at, find_breakpoint_at, check_mem_read) (check_mem_write, delete_all_breakpoints): Adjust. 2008-09-26 Pedro Alves <pedro@codesourcery.com> * server.c (gdbserver_usage): Describe --remote-debug option. (main): Handle --remote-debug switch. 2008-09-19 Pedro Alves <pedro@codesourcery.com> Non-stop mode support. * linux-low.c (linux_event_pipe): New int array for pipe. (target_is_async_p): New. (handle_extended_wait): Use my_waitpid. (linux_kill_one_lwp): Stop the LWP if it is not stopped already. Use my_waitpid, not linux_wait_for_event. Remove the lwp and the corresponding thread from the lists. (linux_kill_one_process, linux_kill): Delete. (linux_kill_1): Rename back to ... (linux_kill) ... this. Stop the LWP if it is not stopped already. Use my_waitpid, not linux_wait_for_event. Remove the lwp and the corresponding thread from the lists. (linux_detach_one_lwp): Make sure the LWP is stopped. Adjust to new linux_wait_for_event interface. (linux_detach_one_process, linux_detach): Delete. (linux_detach_1): Rename back to ... (linux_detach): This. (linux_join): Add PID argument. Use my_waitpid instead of waitpid. (status_pending_p): Ignore suspended threads. (my_waitpid): Emulate __WALL. (linux_wait_for_lwp): Add 'options' argument. Handle it. Use my_wait. If requesting an event from a specific process, leave events in other processes pending. (resume_stopped_lwps): New. (linux_wait_for_event): Delete. (linux_wait_for_event_1): Rename back to ... (linux_wait_for_event): ... this. Change interface: add wstat and options arguments, return -1 on error, 0 otherwise. Adjust. In all-stop, resume stopped lwps if there was no pending status. Don't return immediatelly if a pending status was found --- continue handling it instead. Don't loop, only handle one event. (linux_wait): Rename to ... (linux_wait_1): ... this. Add target_options argument. Handle it. Don't loop --- only handle one event. Ignore the continue thread in non_stop mode. Adjust to new resume_kind interface. Only stop all threads in all-stop mode. (async_file_flush, async_file_mark): New. (linux_wait): New. (wait_for_sigstop): Set stopping_threads here. Use linux_wait_for_lwp instead of linux_wait_for_event. Adjust. (stop_all_lwps): Don't set stopping_threads here. (resume_ptr): Delete. (struct resume_info): New. (linux_set_resume_request): Add arg argument. Adjust to take a struct remove_info instead of the global resume_ptr. Accept pid,-1 to apply to all threads. (linux_continue_one_thread, linux_queue_one_thread): Merge both and create ... (linux_resume_one_thread): ... this. New. Handle rk_stop. (resume_status_pending_p): Assume no resume info to mean do nothing. Ignore suspended LWPs. (linux_resume): Add n argument. Adjust. In non-stop mode, don't look for a pending status over all threads. (linux_read_offsets): Minor cleanup. (sigchld_handler, linux_async, linux_start_non_stop): New. (linux_target_ops): Register linux_async and linux_start_non_stop. (initialize_low): Register sigchld_handler as SIGCHLD handler. * utils.c (internal_verror, internal_error_file_line): New. * Makefile.in (SFILES): Add event-loop.c. (OBS): Add event-loop.o. (event-loop.o): New rule. * linux-low.h (struct lwp_info) <suspended>: New flag. * thread-db.c (thread_db_create_event): Make sure thread_db reads from the current inferior. (thread_db_get_tls_address): Comment. * server.c (thread_from_wait, old_thread_from_wait, attached): Delete. (non_stop): New global. (own_buf, mem_buf): New globals. (struct vstop_notif): New. (notif_queue): New. (queue_stop_reply, push_event, discard_queued_stop_replies) (send_next_stop_reply): New. (start_inferior): Adjust to new thread_resume interface. Adjust to new mywait interface. (attach_inferior): Adjust. (handle_general_set): Handle QNonStop. (handle_query): Pass 'QNonStop+'. (handle_v_cont): Handle vCont;t. Don't enable/disable async io in non-stop mode. In non-stop return OK, and don't wait for the target. (handle_v_attach): In non-stop, return OK, and queue events for all threads. (handle_v_run): In non-stop, set the general thread here. (handle_v_stopped): New. (handle_v_requests): Report support for 't'. Handle 'vStopped'. (proceed): Add comment. Adjust. In non-stop, don't enable/disable async io; write 'OK', and don't wait for the target. (queue_stop_reply_callback, handle_status): New. (kill_inferior_callback, detach_or_kill_inferior_callback) (join_inferiors_callback): New. (main): In --debug mode, also enable remote debug. Don't pass -1 to kill_inferior or detach_inferior; instead, iterate over all processes killing or detaching them. Adjust to use the even-loop. (process_serial_event): New, factored out of main. If the connection closed, remove all sources from the event loop. Iterate over all inferiors joining them. Use handle_status. Don't print inferior exit notices here. In non-stop, defer exiting until GDB read all queued events. (handle_serial_event, handle_target_event): New. * server.h (FOR_EACH_INFERIOR): New. (thread_from_wait, old_thread_from_wait): Remove. (non_stop): Declare. (gdb_client_data, handler_func): New typedefs. (delete_file_handler, add_file_handler, start_event_loop) (handle_serial_event, handle_target_event, push_event) (putpkt_notif, internal_error_file_line): Declare. (internal_error): Define. * target.c (mywait): Add `options' argument. Print inferior exit notices here. (start_non_stop): New. * event-loop.c: New. * remote-utils.c (remote_open): Register remote_desc in the event loop, with handle_serial_event as callback. (remote_close): Remove remote_desc from the event loop. (hex_or_minus_one): New. (read_ptid, read_ptid): Use it. (putpkt_binary): Rename to ... (putpkt_binary_1): ... this. Add `notif' argument. Handle pushing a remote protocol notification. (putpkt_binary): New as wrapper around putpkt_binary_1. (putpkt_notif): New. (getpkt): Debug output. (prepare_resume_reply): Remove dead code. In non-stop, don't set the general thread here. * target.h (enum resume_kind): New. (struct thread_resume) <leave_stopped, step>: Delete. (struct thread_resume) <kind>: New field. (TARGET_WNOHANG): Define. (struct target_ops) <kill, detach>: Adjust comments. (struct target_ops) <join>: Add `pid' argument. (struct target_ops) <resume>: Add `n' argument. (struct target_ops) <wait>: Add `options' argument. (struct target_ops) <async, start_non_stop>: New fields. (join_inferior): Add `pid' argument. (target_async): New. (start_non_stop): Declare. (mywait): Add options argument. 2008-09-15 Pedro Alves <pedro@codesourcery.com> * linux-low.c (new_inferior): Mention in the comment that all inferiors should have the same architecture for now. (linux_create_inferior, linux_attach): Only set new_inferior if this is the first process. 2008-08-29 Pedro Alves <pedro@codesourcery.com> * linux-low.c (ptid_is_pid): Move higher. (linux_wait_for_lwp): Remove dead code. (linux_wait_for_event): Rename to ... (linux_wait_for_event_1): ... this. (linux_wait_for_event): New. (ptid_same_pid): Delete. (linux_set_resume_request): Clearify. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * linux-low.c (handle_extended_wait, linux_attach_lwp) (linux_attach): Minor cleanups. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * linux-low.c (linux_thread_alive): Return false for a listed thread known to be dead. (linux_wait_for_event): Don't set the dead flag here. (wait_for_sigstop): Store ptid before waiting for the event. Minor cleanup. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * inferiors.c (find_inferior): Allow deleting the current iterated inferior. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * linux-low.c (linux_pid_to_exec_file): Move higher. (linux_enable_event_reporting): Enable PTRACE_O_TRACEEXEC. (handle_extended_wait): Handle PTRACE_EVENT_EXEC. * remote-utils.c (prepare_resume_reply): Set the general thread to the last thread that had an event in TARGET_WAITKIND_FORKED and TARGET_WAITKIND_VFORKED. Handle TARGET_WAITKIND_EXECD. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * server.c (handle_query): Pass "QExecFile:PID;" back in the reply. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * linux-low.c (linux_supports_tracefork_flag): Move higher. (linux_enable_event_reporting): New. (handle_extended_wait): Change return type to int. Handle PTRACE_EVENT_FORK and PTRACE_EVENT_VFORK. (add_lwp): Set waitstatus.kind to TARGET_WAITKIND_IGNORE. (linux_attach_lwp): Use linux_enable_event_reporting. (linux_wait_for_event): Don't keep waiting if the extended wait status should be reported to gdb. (linux_wait): Use linux_enable_event_reporting. If waitstatus holds a processed event, return it instead. * remote-utils.c (prepare_resume_reply): Handle TARGET_WAITKIND_FORKED and TARGET_WAITKIND_VFORKED. * linux-low.h (struct lwp_info) <waitstatus>: New member. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * target.h (struct target_ops) <pid_to_exec_file>: New member. * server.c (handle_query): Handle qExecFile. * linux-low.c (linux_pid_to_exec_file): New. (linux_target_ops): Register it. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * linux-low.c (is_lwpid): New. (linux_kill_one_lwp, linux_kill_1, linux_detach_one_lwp): Adjust. (status_pending_p): Check if we're interested in this lwp. (linux_wait_for_lwp): Change signature: return an lwp_info*, and take a ptid instead of an lwp_info**. (linux_wait_for_event): Take a ptid instead of a thread_info pointer. Adjust. (wait_for_sigstop): Adjust. If a whole process died, keep the exit status pending. (ptid_is_pid, ptid_same_pid): New. (linux_set_resume_request): Allow resuming all threads of a process. (resume_status_pending_p): Check for dead lwps. * linux-low.h (struct lwp_info) <dead>: New field. * server.c (start_inferior): Only resume and wait for events from the inferior we're creating. 2008-08-28 Pedro Alves <pedro@codesourcery.com> Decouple target code from remote protocol. * linux-low.c (linux_wait): Change prototype. Adjust. * server.c (last_status, last_ptid): New. (start_inferior): Remove "statusptr" argument. Adjust. (attach_inferior, handle_v_cont, handle_v_attach, handle_v_run) (handle_v_kill, handle_v_requests): Remove "status" and "signal" parameters. Adjust. (myresume): Rename to ... (proceed): ... this. Remove "statusp" parameter. Adjust. (main): Remove "status" local. Adjust. * target.c (mywait): Change prototype. Adjust. * target.h (enum target_waitkind): New. (struct target_waitstatus): New. (struct target_ops) <wait>: Change prototype. (mywait): Adjust. * remote-utils.c: Include "target.h". (prepare_resume_reply): Change prototype to take a ptid and a target_waitstatus. Adjust. * server.h (prepare_resume_reply): Adjust prototype. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * inferiors.c (all_processes): New. (add_process): New. * linux-low.c (linux_create_inferior): Add process. (linux_attach_lwp): Add "initial" parameter, and use it instead of relying on having only one thread in the global list. (linux_attach): Add process. (struct counter): New. (check_if_last_thread_of_pid, is_last_thread_of_process): New. (linux_kill_one_lwp): Add ARGS parameter. Change return type to int. Check if we're interested in this lwp. Use is_last_thread_of_process. (linux_kill): Rename to ... (linux_kill_1): ... this. Kill lwps of the requested only. (linux_kill_one_process): New. (linux_kill): New. (linux_detach_one_lwp): Add ARGS parameter. Change return type to int. Check if we're interested in this lwp. Remove the lwp from both the lwp list and the thread list. (any_thread_of, linux_detach_1, linux_detach_one_process): New. (linux_detach): Reimplement. (linux_wait_for_event): Use is_last_thread_of_process. (linux_wait): Likewise. On process exit, don't clear all inferiors. Implement multi-process extensions. * mem-break.c (breakpoints): Delete. (struct breakpoint_list): New. (all_breakpoints): New. (get_breakpoint_list): New. (set_breakpoint_at, delete_breakpoint, find_breakpoint_at) (check_mem_read, check_mem_write, delete_all_breakpoints): Use it. * server.h (struct process_info): New. (all_processes): Declare. (add_process): Declare. * linux-low.h (linux_attach_lwp): Add "initial" parameter. * thread-db.c (maybe_attach_thread): Adjust. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * linux-low.c, linux-low.h, proc-service.c, thread-db.c: Rename `struct process_info' to `struct lwp_info', and adjust throughout. 2008-08-28 Pedro Alves <pedro@codesourcery.com> Implement remote protocol multi-process extensions. * inferiors.c (null_ptid, minus_one_ptid): New. (ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) (ptid_get_tid, ptid_equal): New functions. (add_thread): Drop gdb_id argument. Retype thread_id argument to ptid_t. Adjust. (thread_id_to_gdb_id): Adjust. (thread_to_gdb_id): Change return type to ptid_t. Adjust. (gdb_id_to_thread): Rename to ... (find_thread_pid): ... this. Adjust. (gdb_id_to_thread_id): Change return type to ptid_t. Adjust. (find_inferior_id): Change id argument type to ptid_t. Adjust. (loaded_dll, add_pid_to_list, pull_pid_from_list): Adjust. (initialize_inferiors): New. * remote-utils.c (hexchars): New. (ishex, unpack_varlen_hex, write_ptid, read_ptid): New. (prepare_resume_reply): Adjust. * server.c (cont_thread, general_thread, step_thread) (thread_from_wait, old_thread_from_wait): Change type to ptid_t. (multi_process): New. (start_inferior): Adjust. (handle_query): Adjust. Report multiprocess extensions support. (handle_v_cont): Adjust. (handle_v_kill): New. (handle_v_requests): Handle vKill. (myresume): Adjust. (first_thread_of): New. (main): Call initialize_inferiors. If bailing out, kill all inferiors. Handle multi-process detach. Handle multi-process H and T. * server.h (ULONGEST): New typedef. (struct ptid): New struct. (ptid_t): New typedef. (minus_one_ptid, null_ptid): New. (ptid_t ptid_build, pid_to_ptid, ptid_get_pid, ptid_get_lwp) (ptid_get_tid, ptid_equal): New. (struct inferior_list_entry) <id>: Change type to ptid_t. (add_thread, thread_id_to_gdb_id, thread_to_gdb_id) (gdb_id_to_thread_id): Adjust prototypes. (find_thread_pid): Declare. (find_inferior_id): Adjust prototype. (cont_thread, general_thread, step_thread, thread_from_wait) (old_thread_from_wait): Adjust type to ptid_t. (multi_process): Declare. (read_ptid, write_ptid): Declare. * linux-low.c (pid_of): Adjust. (lwpid_of): New. (inferior_lwpid): New. (handle_extended_wait): Adjust. (add_process): Change pid argument to a ptid. Adjust. (linux_create_inferior): Adjust. (linux_attach_lwp): Adjust. Clear new_inferior on error. If creating a new inferior, don't rely on inferior_pid, instead use the lwpid as pid. (linux_attach): Set new_inferior earlier. Adjust. (linux_kill): Change return type to int. Adjust. (linux_detach): Add pid parameter. (linux_thread_alive): Change lwpid paremeter type to ptid. Adjust. (same_lwp, find_lwp_pid): New. (linux_wait_for_process): Adjust. (linux_wait_for_process, linux_wait_for_event, send_sigstop) (wait_for_sigstop, linux_resume_one_process, (linux_resume_one_process, linux_set_resume_request) (linux_continue_one_thread, linux_queue_one_thread) (fetch_register, usr_store_inferior_registers) (regsets_fetch_inferior_registers) (regsets_store_inferior_registers, linux_read_memory) (linux_write_memory, linux_request_interrupt, linux_read_auxv): Adjust. * linux-low.h (get_process_thread): Adjust. (struct process_info) <lwpid>: Remove. (find_lwp_pid): Declare. * target.c (set_desired_inferior): Adjust. (target_pid_to_str): New. * target.h (struct thread_resume) <thread>: Change type to ptid_t. (struct target_ops) <kill>: Change return type to int, and take an int as parameter. (struct target_ops) <detach>: Take an int as parameter. (struct target_ops) <thread_alive>: Change pid argument type to ptid_t. (kill_inferior, detach_inferior): Add PID argument. * thread-db.c (thread_db_create_event): Adjust. (find_one_thread): Change argument to a ptid. Adjust. (maybe_attach_thread, thread_db_get_tls_address, thread_db_init): Adjust. * proc-service.c (ps_lgetregs): Adjust.
* 2008-11-25 Pedro Alves <pedro@codesourcery.com>Pedro Alves2008-11-2511-129/+747
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-11-25 Pedro Alves <pedro@codesourcery.com> * linux-fork.c (detach_fork): Delete declaration. (_initialize_linux_fork): Move "set detach-on-fork" command to ... * infrun.c (_initialize_infrun): ... here. * inferior.h (detach_fork): Declare. 2008-11-10 Pedro Alves <pedro@codesourcery.com> * remote.c (read_ptid): If we don't know about any inferior yet, use the pid of magic_null_ptid. (remote_start_remote): Don't set inferior_ptid to magic_null_ptid here. 2008-10-14 Pedro Alves <pedro@codesourcery.com> * remote.c (remote_start_remote): Mask async mode while collecting the initial event, use notice_new_inferior. 2008-10-12 Pedro Alves <pedro@codesourcery.com> * infcmd.c (attach_command_post_wait): Set the inferior exec here. (attach_command): Don't set the inferior exec here. (notice_new_inferior): New. * inferior.h (notice_new_inferior): Declare. * remote.c (notice_new_inferiors): Add `stopping' argument. Add the inferior before adding the threads. Call notice_new_inferior. (record_currthread): Adjust. (remote_threads_info): Add the inferior before adding the thread. Call notice_new_inferior. 2008-10-09 Pedro Alves <pedro@codesourcery.com> * remote.c (notice_new_inferiors): If there's only one exec, set it in the new inferior. (set_thread): If setting the thread failed, assume the thread has terminated. 2008-09-17 Pedro Alves <pedro@codesourcery.com> * inferior.c (delete_inferior_1): Free the inferior after freeing its threads. 2008-09-16 Pedro Alves <pedro@codesourcery.com> * inferior.h (discard_all_inferiors): Declare. * inferior.c (delete_inferior): Rename to... (delete_inferior_1): ...this. Add 'silent' argument. If this inferior is has pid not zero, delete its threads. (delete_inferior): New, as wrapper around delete_inferior_1. (delete_inferior_by_pid_1): Reimplement. (discard_all_inferiors): New. 2008-09-15 Pedro Alves <pedro@codesourcery.com> * remote.c (extended_remote_attach_1): Don't set target_attach_no_wait. 2008-09-15 Pedro Alves <pedro@codesourcery.com> * frame.c (get_current_frame, has_stack_frames): Check for null_ptid. * top.c (execute_command): Likewise. 2008-08-29 Pedro Alves <pedro@codesourcery.com> * inferior.c (have_real_inferiors): New. * inferior.h (have_real_inferiors): Declare. * remote.c (extended_remote_mourn_1): Use it. * top.c (quit_target): Use it. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * remote.c (parse_stop_reply): Handle Y;exec. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * infcmd.c (struct exec_file_attach_wrapper_args): New. (exec_file_attach_wrapper): New. (attach_command_post_wait): If there's a sysroot, prepend it to the target reported exec file path. Continue attaching to the inferior event if attaching to the exec file fails. * remote.c (remote_pid_to_exec_file): Rebustify. Expect "QExecFile:PID;" in the reply. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * remote.c (record_currthread): If setting the current thread to minus_one_ptid, don't pass that to the stub. (remote_parse_stop_reply): Handle 'Y' stop reply. (remote_wait_as): Likewise. If remote process exited, invalidate the current thread. (remote_detach_pid): New. (remote_follow_fork): New. (init_remote_ops): Register it. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * remote.c (remote_pid_to_exec_file): New. (init_remote_ops): Register it. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * infcmd.c (kill_if_already_running): If target supports multi-process, allow multi-runs. 2008-08-28 Pedro Alves <pedro@codesourcery.com> * remote.c (extended_remote_create_inferior_1): Don't clear the thread list.
* * inferior.c (itset_member): Fix typo again.Pedro Alves2008-11-252-1/+5
|
* * inferior.h (number_of_inferiors, first_inferior_in_set,Tom Tromey2008-11-252-8/+5
| | | | set_inferior_exec, inferior_list): Remove duplicate declarations.
* * gdb.texinfo (Running): Add "Inferiors" to menu.Tom Tromey2008-11-212-0/+5
|
* 2008-11-20 Stan Shebs <stan@codesourcery.com>Stan Shebs2008-11-215-0/+256
| | | | | | | | 2008-09-14 Stan Shebs <stan@codesourcery.com> * gdb.multi/Makefile.in: New. * gdb.multi/hello.c, hangout.c, goodbye.c: New source files. * gdb.multi/base.exp: New file, basic multiprocess tests.
* 2008-11-20 Stan Shebs <stan@codesourcery.com>Stan Shebs2008-11-2160-650/+3570
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multi-process (primarily multi-exec) support. 2008-10-14 Stan Shebs <stan@codesourcery.com> * blockframe.c (get_frame_block): Get inferior from frame. * block.c (block_for_pc_inf): New function. * block.h (block_for_pc_inf): Declare. * symfile.c (find_pc_inf_sect): New function. * symfile.h (find_pc_inf_sect): Declare. * symtab.c (find_pc_inf_line): New function. * symtab.h (find_pc_inf_line): Declare. * frame.c (struct frame_info) New field inferior. (fprint_frame_id): Display inferior. (get_frame_id): Set inferior_num from inferior. (frame_id_eq): Compare inferiors. (create_sentinel_frame): Set inferior. (create_new_frame): Copy inferior from sentinel. (get_prev_frame_raw): Copy inferior from next frame. (find_frame_sal): Use find_pc_inf_line. (get_frame_inferior): New function. * frame.h (struct frame_id): New field inferior_num. * breakpoint.c (expand_sals_by_inferiors): Copy section from input sal to expanded sals. * symtab.c (expand_line_sal): Ditto. 2008-10-10 Stan Shebs <stan@codesourcery.com> * remote.c (discard_pending_stop_replies): Initialize prev. * infrun.c (infrun_thread_stop_requested): Ditto. 2008-10-08 Stan Shebs <stan@codesourcery.com> * inferior.h (struct inferior): Rename environ field to inf_environ. * inferior.c (print_inferior): Ditto. 2008-10-01 Stan Shebs <stan@codesourcery.com> * inferior.h (detach_fork): Declare here... * linux-fork.h (detach_fork): ...instead of here. * linux-fork.c (detach_fork): Move to... * infrun.c (detach_fork): ...here. * remote.c (detach_fork): Remove decl. 2008-09-30 Stan Shebs <stan@codesourcery.com> * linespec.c (decode_line_1): Better default for one-exec case. * remote (remote_start_remote): Use the exec in the one-exec case. 2008-09-29 Stan Shebs <stan@codesourcery.com> * infcmd.c (attach_command): If only one exec, assume it is the attached inferior's exec. (attach_command_post_wait): Set inferior's exec from the one that was found. * inf-ptrace.c (inf_ptrace_attach): Only report exec file if if there is just one present. (inf_ptrace_detach): Use inferior to get correct exec name. 2008-09-29 Stan Shebs <stan@codesourcery.com> * inferior.c (print_inferior): Use exec short names, and drop unused address space display. 2008-09-26 Stan Shebs <stan@codesourcery.com> * breakpoint.c (should_be_inserted): Test for no inferior. (clone_breakpoint_location): New function, broken out from... (update_breakpoint_inferiors): ...here, also tweak conditions for adding a location. (insert_breakpoint_location): Don't count non-running inferiors. (remove_breakpoint): Set tmp_inf. (print_one_breakpoint_location): Add allflag arg, use to always show inf. (print_one_breakpoint): Add allflag arg. (do_captured_breakpoint_query): Fix caller. (breakpoint_1): Ditto. * exec.c (create_exec): Save full pathname as exec name. (find_exec_by_name): Use find_exec_by_substr. * fork-child.c (fork_inferior): Warn if exec not found for new inferior. 2008-09-25 Stan Shebs <stan@codesourcery.com> * breakpoint.c (should_be_inserted): Don't insert in inferiors that are not running. (update_breakpoint_inferiors): New function. (insert_breakpoints): Call it. (insert_breakpoint_locations): Don't insert in inferiors that are not running. (set_raw_breakpoint_without_location): Set trigger set from current itset here... (set_raw_breakpoint): Instead of here. Also add default fillins for the location's inferior. (add_location_to_breakpoint): Similarly. (expand_sals_by_inferiors): New function. (breakpoint_re_set_one): Call it. (resolve_sal_pc): Don't set sal inferior. * breakpoint.h (struct breakpoint): Remove exec field, never used. * inferior.h (inferior_list): Declare. * inferior.c (inferior_list): Make public. (add_inferior_to_itset): Auto-add inferiors after exec's inferior. (first_inferior_in_set): Check for zero-length vector. * exec.c (xfer_memory): Use tmp_inf as inferior if set. * infcmd.c (focus_command): Improve user feedback. * linespec.c (build_canonical_line_spec): Record exec name as part of canonical spec. (symbol_found): Canonicalize specs more. (decode_indirect): Revert rewrite from 2008-09-14. (decode_sharp): Use find_exec_by_substr, better error messages. * minsyms.c (lookup_minimal_symbol_in_exec): New function. (lookup_minimal_symbol_in_exec_1): New function, body of lookup_minimal_symbol. * symtab.h (lookup_minimal_symbol_in_exec): Declare. * symtab.c (find_function_start_sal): Set inferior to use. (append_expanded_sal): Return pointer to the new sal. * remote.c (remote_xfer_memory): Better parms to ptid_build, remove debug print. (remote_xfer_partial): Ditto. 2008-09-22 Pedro Alves <pedro@codesourcery.com> * inferior.c (itset_member): Fix typo. 2008-09-22 Stan Shebs <stan@codesourcery.com> * inferior.h (current_inf): Remove declaration. (tmp_inf): Declare. * inferior.c (current_inf): Remove. (tmp_inf): New global, hack to bypass passing inferior throughout target stack. (print_inferior): Don't report current_inf. (add_inferior_command): Don't use current_inf. (name_inferior_command): Use first inferior of current_itset. (update_itset): Handle NULL case. (add_inferior_itset): Recursively add all inferiors derived from an exec if the exec's own inferior is present. (first_inferior_in_set): New function. (free_inferior): Comment out until references cleared reliably. * infcmd.c (focus_command): Don't set current_inf. (get_inferior_args): Use first_inferior_in_set instead of current_inf. (set_inferior_args): Ditto. (set_inferior_args_vector): Ditto. (notice_args_set): Ditto. * breakpoint.c (insert_breakpoint_locations): Remove insertion test using current_inf, set tmp_inf. (reattach_breakpoints): Set tmp_inf. (bpstat_check_breakpoint_conditions): Test trigger set here... (bpstat_stop_status): ... instead of here. (bpstat_check_trigger_set): Add special case for exec's own inferior. (print_one_breakpoint_location): Also test for multiple inferiors before displaying location's inferior, flag trigger set with "i/t" instead of "focus". (check_duplicates): Pass location's inferior to... (check_duplicates_for): Add inferior arg and use. (set_raw_breakpoint): Override sal inferior with one from the trigger set. (add_location_to_breakpoint): Ditto. * remote.c (remote_xfer_memory): Switch inferiors if tmp_inf is set to something different from inferior_ptid. (remote_xfer_partial): Ditto. * top.c (execute_command): Always update the current itset. 2008-09-19 Stan Shebs <stan@codesourcery.com> * inferior.c (set_inferior_exec): New function. (set_inferior_exec_command): New command. * inferior.h: Declare set_inferior_exec. * fork-child.c (fork_inferior): Set the inferior's exec. * remote.c (extended_remote_create_inferior_1): Ditto. gdb/doc/ * gdb.texinfo (Debugging Multiple Programs): Describe set-exec. 2008-09-18 Stan Shebs <stan@codesourcery.com> * target.c (target_resize_to_sections): Adjust execs' section tables too. 2008-09-17 Stan Shebs <stan@codesourcery.com> gdb/doc/ * gdb.texinfo (Invoking GDB): Describe multiple program args. (File Options): Describe multi-program effects. (Multiple Programs): New section, multi-program debugging. (Forks): Rename section from "Processes". (Specify Location): Describe the #-syntax. (Variables): Describe the #-syntax. (Files): Describe add-file and add-exec-file. (Maintenance Commands): Describe maint print execs. 2008-09-15 Stan Shebs <stan@codesourcery.com> * exec.c (addr_space_info_command): Don't try to display host address. 2008-09-14 Stan Shebs <stan@codesourcery.com> * c-exp.y: (yylex): Accept '#' in identifiers. * linespec.c (decode_sharp): New function. (decode_line_1): Use it for #-syntax. (decode_indirect): Rewrite to accept exec arg and iterate over inferiors. (struct d_i_data): New struct for inferior iteration. (decode_indirect_callback): New function. (decode_variable): Pass in exec, use in symbol lookup. 2008-09-14 Stan Shebs <stan@codesourcery.com> * breakpoint.h (struct bp_location): Add inferior field instead of address space field. * breakpoint.c (insert_breakpoint_locations): Only insert in appropriate inferior. (bpstat_check_trigger_set): New function. (bpstat_stop_status): Call it, check location's inferior also. (print_one_breakpoint_location): Report location's inferior. (set_raw_breakpoint): Set location inferior, clear an experiment. (add_location_to_breakpoint): Ditto. (expand_line_sal_maybe): Check for non-NULL original function. (resolve_sal_pc): Set sal inferior. (clear_command): Be careful to not clear anything twice. * symtab.h: Update declarations of symbol lookups. (struct symtab_and_line): Change address space to inferior field. * symtab.c (init_sal): Clear inferior field. (append_expanded_sal): Set inferior. (lookup_symbol_in_language_1): New function. (lookup_symbol_in_language): Call it. (lookup_symbol_in_exec_in_language): New function. (lookup_symbol): Detect #-syntax and find exec to use. (lookup_symbol_aux): Add exec argument and use it. (lookup_symbol_aux_symtabs): Ditto. (lookup_symbol_aux_psymtabs): Ditto. (basic_lookup_symbol_nonlocal): Ditto. (lookup_symbol_static): Ditto. (lookup_symbol_global): Ditto. * ada-lang.c (cp_lookup_symbol_nonlocal): Ditto. * cp-support.h (cp_lookup_symbol_nonlocal): Ditto. * cp-namespace.c (cp_lookup_symbol_nonlocal): Ditto. * language.h (struct language_defn): Ditto. * scm-valprint.c (scm_inferior_print): Add exec arg to lookup_symbol_global. * source.c (select_source_symtab): Use current_exec. * addrspace.h (struct addr_space): New field num. * exec.h (struct exec): New fields sections and sections_end. * exec.c (exec_file_attach_1): Set them from exec_ops, set inferior's address space name from exec. (find_exec_by_substr): New function. (build_section_table): Don't free old table. (print_section_info): Use exec's section table. (next_address_space_num): New global, numbering for address spaces. (new_address_space): Use it. (addr_space_info_command): Display it. * infcmd.c (set_current_exec): Set exec_ops section table. * inferior.h (update_itset): Declare. * inferior.c (add_inferior_silent): Set address space. (print_inferior): Display it. (number_of_inferiors): New function. (itset_member): New function. 2008-09-04 Stan Shebs <stan@codesourcery.com> * corefile.c (close_exec_file): Remove #if 0 block. (validate_files): Use first_exec instead of exec_bfd. (get_exec_file): Ditto. * corelow.c (core_open): Ditto. * utils.c (string_to_core_addr): Ditto. * arch-utils.c (gdbarch_update_p): Ditto. * linux-thread-db.c (enable_thread_event): Ditto. (thread_db_get_thread_local_address ): Ditto. * exec.c (find_exec_by_name): Test short name also. (file_command): Set current exec. 2008-09-03 Stan Shebs <stan@codesourcery.com> * inferior.c (add_threads_to_itset): Default to including all of an inferior's threads. 2008-08-31 Stan Shebs <stan@codesourcery.com> Parsing for i/t sets. * inferior.h (struct itset_entry): New struct. (struct itset): Make thread lists be per-inferior, add parse state variables. * inferior.c: (add_inferior_command): Add error checking and confirmation. (remove_inferior_command): Update for itset restructuring. (new_itset): Don't pass in dynamic-ness, call parse_itset_spec. (update_itset): Similarly. (parse_itset_spec): New, parsing of itset spec. (parse_itset_list, parse_itset_range, etc): New. (make_itset_from_spec): Rewrite. (dump_itset): Rewrite to reflect itset structure. * infcmd.c (focus_command): Similarly. 2008-08-25 Stan Shebs <stan@codesourcery.com> First part of multiprocess support. * Makefile.in (COMMON_OBS): Add inferior.o. * addrspace.h: New file. * breakpoints.h (struct bp_location): Add address space field. (struct breakpoint): Add trigger set and exec fields. * breakpoints.c (print_one_breakpoint_location): Display trigger set. (set_raw_breakpoint): Set trigger set from current itset. * corefile.c (reopen_exec_file): Rewrite for multiple execs. (get_exec_file): Add case for current_exec. * corelow.c (is_core_file): New function. (core_files_info): Pass additional arg to print_section_info. * exec.h (struct exec): New struct. * exec.c (execs): New global. (exec_bfd_mtime): Remove. (last_exec_created, current_exec, first_exec): New globals. (exec_close): Clear all exec objects. (exec_file_clear): Tweak user message. (exec_file_add): New function. (exec_file_attach_1): New function, body of exec_file_attach, plus new code to handle multiple execs. (exec_file_attach): Call it. (exec_file_update): New function. (create_exec, find_exec_by_name, number_of_execs): New functions. (exec_file_command): Rephrase query, set current exec. (add_exec_file_command): New command. (add_file_command): New command. (print_section_info): Add exec argument. (exec_files_info): Rewrite for multiple execs. (maintenance_print_execs): New function. (new_address_space): New function. (addr_space_info_command): New command. * gdbcore.h (exec_bfd_mtime): Remove decl. (exec_file_add): Declare. * infcmd.c: Include exec.h. (current_itset): New global. (set_current_exec): New function. (focus_command): New command. (get_inferior_args): Maybe get from the current inferior. (set_inferior_args): Also set in current inferior. (set_inferior_args_vector): Similarly. (notice_args_set): Similarly. (attach_command): Rephrase query. * inferior.h (struct inferior): New struct. (struct itset): New struct. * inferior.c: New file, management of multiple inferiors. * main.c (captured_main): Rewrite to allow multiple executables, pids, and corefiles on the command line. * maint.c (maintenance_info_sections): Rewrite for multiple execs. * objfiles.h (struct objfile): New field for exec. (ALL_OBJFILES_FOR_EXEC, ALL_PRIMARY_SYMTABS_FOR_EXEC, ALL_PSYMTABS_FOR_EXEC): New macros. * objfiles.c (allocate_objfile): Clear exec field. * solib.c (clear_solib): Use first_exec instead of exec_bfd. * source.c (select_source_symtab): Use ALL_OBJFILES_FOR_EXEC. (find_source_lines): Use mtime from exec. * symfile.c (syms_from_objfile): Don't clear objfile if multiple execs. (new_symfile_objfile): Get objfile's exec from last_exec_created. (symbol_file_clear): Rephrase messages. (reread_symbols): Update objfile's exec if necessary. * symmisc.c (dump_objfile): Dump objfile's exec also. (maintenance_print_objfiles): Report symfile_objfile. * symtab.h (struct symtab_and_line): Add address space field. * symtab.c (find_pc_sect_psymtab): Look for a plausible exec, and then use it. (lookup_symbol_aux_symtabs): Use current exec. (lookup_symbol_aux_symtabs): Ditto. (basic_lookup_transparent_type): Ditto. (find_pc_sect_symtab): Ditto. * target.h (print_section_info): Add arg to decl. * tui/tui-win.c: Rename "focus" command to "ffocus". gdb/testsuite: 2008-11-20 Stan Shebs <stan@codesourcery.com> 2008-09-14 Stan Shebs <stan@codesourcery.com> * gdb.gdb/selftest.exp: Update to reflect current sources. * Makefile.in (ALL_SUBDIRS): Add gdb.multi. * configure.ac (AC_OUTPUT): Add gdb.multi/Makefile. * configure: Regenerate. * gdb.multi/Makefile.in: New. * gdb.multi/hello.c, hangout.c, goodbye.c: New source files. * gdb.multi/base.exp: New file, basic multiprocess tests. 2008-08-25 Stan Shebs <stan@codesourcery.com> * config/monitor.exp: Match on rephrased message. * gdb.base/attach.exp: Ditto. * gdb.base/default.exp: Ditto. * lib/gdb.exp: Ditto.
* * elf-bfd.h (struct elf_backend_data): New member got_elt_size.Hans-Peter Nilsson2008-11-214-5/+46
| | | | | | | | | | | | (_bfd_elf_default_got_elt_size): Declare. * elflink.c (struct alloc_got_off_arg): Replace member got_elt_size by new member info. (elf_gc_allocate_got_offsets): Adjust for calling bed->got_elt_size to get the element size instead of using a gofarg entry. (bfd_elf_gc_common_finalize_got_offsets): Similar. (_bfd_elf_default_got_elt_size): New function. * elfxx-target.h: New macro elf_backend_got_elt_size. (elfNN_bed): Use it.
* *** empty log message ***gdbadmin2008-11-211-1/+1
|
* daily updateAlan Modra2008-11-211-1/+1
|
* * frame.c (frame_debug_got_null_frame): Remove file arg.Doug Evans2008-11-202-8/+11
| | | | All callers updated.
* * gdb.base/foll-fork.exp (catch_fork_child_follow): Fix patternsAndreas Schwab2008-11-203-334/+348
| | | | | | | matching syscall entry point. * gdb.base/foll-vfork.exp (tcatch_vfork_then_parent_follow) (tcatch_vfork_then_child_follow): Likewise. Finish through vfork even if we stopped at the syscall trampoline.
* * infrun.c (resume): If following a fork, also reset regcache,Pedro Alves2008-11-202-0/+11
| | | | gdbarch and pc.
* * printcmd.c (sym_info): Don't print the offset if it's zero.Doug Evans2008-11-204-18/+40
| | | | * gdb.base/sepsymtab.exp: Update, old "info sym" format restored.
* * infrun.c (resume): If following a fork, reread the currentPedro Alves2008-11-202-2/+11
| | | | thread. Avoid dereferencing a possibly dangling pointer.
* 2008-11-20 Tristan Gingold <gingold@adacore.com>Tristan Gingold2008-11-202-4/+6
| | | | * bfdwin.c: Fix comment.
* 2008-11-20 Tristan Gingold <gingold@adacore.com>Tristan Gingold2008-11-202-3/+7
| | | | | * bfd.c (is32bit): Use architecture information for non-ELF targets.
* * elf32-ppc.c (allocate_dynrelocs): Always use tlsld_got forAlan Modra2008-11-202-39/+50
| | | | | | TLS_LD even when symbol is used with other TLS reloc types. (ppc_elf_relocate_section): Bypass symbol checks when using tlsld_got. Leave addend zero on LD DTPMOD dynamic reloc.
* * inferior.h (proceed_to_finish): Delete, unused.Doug Evans2008-11-203-9/+10
| | | | | (stop_registers): Tweak comment. * infrun.c (stop_registers): Tweak comment.
* daily updateAlan Modra2008-11-201-1/+1
|
* *** empty log message ***gdbadmin2008-11-201-1/+1
|
* * frv-tdep.c (frv_skip_main_prologue): New function.Kevin Buettner2008-11-193-3/+96
| | | | | | | | (frv_gdbarch_init): Register frv_skip_main_prologue. * solib-frv.c (fetch_loadmap): Return early when no segments are found. (frv_relocate_main_executable): Return early when both interpreter and executable loadmap addresses are zero.
* gdb/Bob Wilson2008-11-196-164/+138
| | | | | | | | | | | | | | | | | | * xtensa-config.c (rmap): Remove entries for ar32 through ar63. Add threadptr, scompare1, mmid, epc5, epc6, epc7, eps5, eps6, eps7, excsave5, excsave6, excsave7, cpenable, and vecbase registers. (xtensa_submask0, xtensa_submask1, xtensa_submask2) (xtensa_submask3, xtensa_submask4, xtensa_submask5, xtensa_submask6) (xtensa_submask7, xtensa_submask8, xtensa_submask9, xtensa_submask10) (xtensa_submask11, xtensa_submask12, xtensa_submask13, xtensa_submask14) (xtensa_submask15): Adjust register numbers. * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4. (xtensa_regmap_table): Add entry for scompare1. * regformats/reg-xtensa.dat: Remove ar32 through ar63. Add threadptr and scompare1. gdb/gdbserver/ * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4. (xtensa_regmap_table): Add entry for scompare1.
* include/Bob Wilson2008-11-194-66/+1973
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * xtensa-config.h (XCHAL_HAVE_MUL16, XCHAL_HAVE_MUL32, XCHAL_HAVE_DIV32) (XCHAL_HAVE_MINMAX, XCHAL_HAVE_SEXT, XCHAL_HAVE_THREADPTR) (XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): Change to 1. (XCHAL_NUM_AREGS): Change to 32. (XCHAL_ICACHE_SIZE, XCHAL_DCACHE_SIZE): Change to 16K. (XCHAL_ICACHE_LINESIZE, XCHAL_DCACHE_LINESIZE): Change to 32. (XCHAL_ICACHE_LINEWIDTH, XCHAL_DCACHE_LINEWIDTH): Change to 5. (XCHAL_DCACHE_IS_WRITEBACK): Change to 1. (XCHAL_DEBUGLEVEL): Change to 6. bfd/ * xtensa-modules.c (sysregs): Add MMID, VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS5, EPS6, EPS7, CPENABLE, SCOMPARE1, and THREADPTR registers. (NUM_SYSREGS, MAX_USER_REG): Update. (states): Change width of INTERRUPT, WindowBase, WindowStart, and INTENABLE. Add VECBASE, EPC5, EPC6, EPC7, EXCSAVE5, EXCSAVE6, EXCSAVE7, EPS6, EPS6, EPS7, THREADPTR, CPENABLE, and SCOMPARE1 states. (NUM_STATES): Update. (enum xtensa_state_id): Add entries for new states. (enum xtensa_field_id): Add entries for xt_wbr15_imm and xt_wbr18_imm fields, along with functions to extract and set them. (regfiles): Change number of AR registers to 32. (Operand_ar0_encode, Operand_ar4_encode, Operand_ar8_encode, Operand_ar12_encode, Operand_ars_entry_encode): Update register mask. (operands): Add entries for tp7, xt_wbr15_label, xt_wbr18_label, xt_wbr15_imm, and xt_wbr18_imm operands, along with functions to encode and decode them. (enum xtensa_operand_id): Add entries for new operands. (Iclass_xt_iclass_rfi_stateArgs): Add EPC5, EPC6, EPC7, EPS5, EPS6, and EPC7 states. (Iclass_xt_iclass_rfdo_stateArgs): Replace EPC4 and EPS4 by EPC6 and EPS6, respectively. (iclasses): Add entries for rur_threadptr, wur_threadptr, xt_iclass_wsr_176, xt_iclass_rsr_epc5, xt_iclass_wsr_epc5, xt_iclass_xsr_epc5, xt_iclass_rsr_excsave5, xt_iclass_wsr_excsave5, xt_iclass_xsr_excsave5, xt_iclass_rsr_epc6, xt_iclass_wsr_epc6, xt_iclass_xsr_epc6, xt_iclass_rsr_excsave6, xt_iclass_wsr_excsave6, xt_iclass_xsr_excsave6, xt_iclass_rsr_epc7, xt_iclass_wsr_epc7, xt_iclass_xsr_epc7, xt_iclass_rsr_excsave7, xt_iclass_wsr_excsave7, xt_iclass_xsr_excsave7, xt_iclass_rsr_eps5, xt_iclass_wsr_eps5, xt_iclass_xsr_eps5, xt_iclass_rsr_eps6, xt_iclass_wsr_eps6, xt_iclass_xsr_eps6, xt_iclass_rsr_eps7, xt_iclass_wsr_eps7, xt_iclass_xsr_eps7, xt_iclass_rsr_vecbase, xt_iclass_wsr_vecbase, xt_iclass_xsr_vecbase, xt_iclass_mul16, xt_iclass_wsr_mmid, xt_iclass_icache_lock, xt_iclass_dcache_lock, xt_iclass_rsr_cpenable, xt_iclass_wsr_cpenable, xt_iclass_xsr_cpenable, xt_iclass_clamp, xt_iclass_minmax, xt_iclass_sx, xt_iclass_l32ai, xt_iclass_s32ri, xt_iclass_s32c1i, xt_iclass_rsr_scompare1, xt_iclass_wsr_scompare1, xt_iclass_xsr_scompare1, xt_iclass_div, and xt_iclass_mul32, along with corresponding argument and state argument arrays. Change number of state arguments for xt_iclass_rfi. Add arguments for xt_iclass_rfdo. (enum xtensa_iclass_id): Add entries for new iclasses. (opcodes): Add entries for RUR_THREADPTR, WUR_THREADPTR, WSR_176, RSR_EPC5, WSR_EPC5, XSR_EPC5, RSR_EXCSAVE5, WSR_EXCSAVE5, XSR_EXCSAVE5, RSR_EPC6, WSR_EPC6, XSR_EPC6, RSR_EXCSAVE6, WSR_EXCSAVE6, XSR_EXCSAVE6, RSR_EPC7, WSR_EPC7, XSR_EPC7, RSR_EXCSAVE7, WSR_EXCSAVE7, XSR_EXCSAVE7, RSR_EPS5, WSR_EPS5, XSR_EPS5, RSR_EPS6, WSR_EPS6, XSR_EPS6, RSR_EPS7, WSR_EPS7, XSR_EPS7, RSR_VECBASE, WSR_VECBASE, XSR_VECBASE, MUL16U, MUL16S, WSR_MMID, IPFL, IHU, IIU, DPFL, DHU, DIU, RSR_CPENABLE, WSR_CPENABLE, XSR_CPENABLE, CLAMPS, MIN, MAX, MINU, MAXU, SEXT, L32AI, S32RI, S32C1I, RSR_SCOMPARE1, WSR_SCOMPARE1, XSR_SCOMPARE1, QUOU, QUOS, REMU, REMS, and MULL opcodes, along with the corresponding functions to encode them. (enum xtensa_opcode_id): Add entries for new opcodes. (Slot_inst_decode): Handle new opcodes. (Slot_inst_get_field_fns, Slot_inst_set_field_fns): Add entries for xt_wbr15_imm and xt_wbr18_imm fields. (Slot_inst16a_get_field_fns, Slot_inst16a_set_field_fns): Likewise. (Slot_inst16b_get_field_fns, Slot_inst16b_set_field_fns): Likewise. (xtensa_modules): Update number of fields, operands, iclasses and opcodes.
* Change documentation license to FDL v1.3Nick Clifton2008-11-193-156/+301
|
* * remote.c (escape_buffer): New.Pedro Alves2008-11-193-19/+84
| | | | | | | | (putpkt_binary, read_frame, getpkt_or_notif_sane_1): Use it. Make sure debug output printing a packet buffer goes through a single fprintf_unfiltered call. * utils.c (vfprintf_unfiltered): If outputting timestamps, end output with a newline if it wasn't going to already.
* * elf.c (swap_out_syms) [USE_STT_COMMON]: Fix syntax error.Nick Clifton2008-11-192-2/+5
|
* PR 7027Nick Clifton2008-11-192-0/+14
| | | | | | | * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs against local symbols in 64-bit binaries as if they were WDISP30 relocs. (_bfd_sparc_elf_relocate_section): Likewise.
* daily updateAlan Modra2008-11-191-1/+1
|
* *** empty log message ***gdbadmin2008-11-191-1/+1
|
* 2008-11-18 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2008-11-182-1/+5
| | | | * maint.c (maintenance_translate_address): Fix a buglet.
* gdb/Thiago Jung Bauermann2008-11-1812-6/+777
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * features/Makefile (rs6000/powerpc-isa205-32l-expedite, rs6000/powerpc-isa205-altivec32l-expedite, powerpc-isa205-vsx32l-expedite, rs6000/powerpc-isa205-64l-expedite, rs6000/powerpc-isa205-altivec64l-expedite, powerpc-isa205-vsx64l-expedite): New variables. * regformats/rs6000/powerpc-isa205-32l.dat: Generate. * regformats/rs6000/powerpc-isa205-altivec32l.dat: Generate. * regformats/rs6000/powerpc-isa205-vsx32l.dat: Generate. * regformats/rs6000/powerpc-isa205-64l.dat: Generate. * regformats/rs6000/powerpc-isa205-altivec64l.dat: Generate. * regformats/rs6000/powerpc-isa205-vsx64l.dat: Generate. gdbserver/ * Makefile.in (powerpc-isa205-32l.o, powerpc-isa205-32l.c, powerpc-isa205-altivec32l.o, powerpc-isa205-altivec32l.c, powerpc-isa205-vsx32l.o, powerpc-isa205-vsx32l.c, powerpc-isa205-64l.o, powerpc-isa205-64l.c, powerpc-isa205-altivec64l.o, powerpc-isa205-altivec64l.c, powerpc-isa205-vsx64l.o, powerpc-isa205-vsx64l.c): New targets. * configure.srv (powerpc*-*-linux*): Add ISA 2.05 object files and XML target descriptions. * linux-ppc-low.c (ppc_arch_setup): Init registers with 64-bit FPSCR when inferior is running on an ISA 2.05 or later processor. Add special case to return offset for full 64-bit slot of FPSCR when in 32-bits.
* gdb/Thiago Jung Bauermann2008-11-1820-7/+1293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ppc-linux-nat.c (ppc_register_u_addr): Add special case to return offset for full 64-bit slot of FPSCR when in 32-bits. (ppc_linux_read_description): Return target description with 64-bit FPSCR when inferior is running on an ISA 2.05 or later processor. * ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Call initialize_tdec_powerpc_isa205_32l, initialize_tdec_powerpc_isa205_altivec32l, initialize_tdec_powerpc_isa205_vsx32l, initialize_tdec_powerpc_isa205_64l, initialize_tdec_powerpc_isa205_altivec64l and initialize_tdec_powerpc_isa205_vsx64l. * ppc-linux-tdep.h: Add external declaration for tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l, tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_64l, tdesc_powerpc_isa205_altivec64l and tdesc_powerpc_isa205_vsx64l. * features/rs600/powerpc-fpu-isa205.xml: New file. * features/rs600/powerpc-isa205-32l.xml: New file. * features/rs600/powerpc-isa205-64l.xml: New file. * features/rs600/powerpc-isa205-altivec32l.xml: New file. * features/rs600/powerpc-isa205-altivec64l.xml: New file. * features/rs600/powerpc-isa205-vsx32l.xml: New file. * features/rs600/powerpc-isa205-vsx64l.xml: New file. * features/rs600/powerpc-isa205-32l.c: Generate. * features/rs600/powerpc-isa205-64l.c: Generate. * features/rs600/powerpc-isa205-altivec32l.c: Generate. * features/rs600/powerpc-isa205-altivec64l.c: Generate. * features/rs600/powerpc-isa205-vsx32l.c: Generate. * features/rs600/powerpc-isa205-vsx64l.c: Generate. gdb/testsuite/ * gdb.arch/ppc-dfp.exp: New file. * gdb.arch/ppc-dfp.c: New file.
* 2008-11-18 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov2008-11-188-16/+104
| | | | | | * objfiles.h: New MULTI_OBJFILE_P macro. * printcmd.c (sym_info): Print object name. * maint.c (maintenance_translate_address): Likewise.
* 2008-11-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2008-11-188-7/+894
| | | | | | | | * configure: Regenerated. * configure.ac: Add test for System V shared memory and semaphore. * debug.c, debug.h: Add trace support for new devices. * hw_sem.c, hw_shm.c: New files. * Makefile.in: Add hw_sem.c and hw_shm.c.
* * gdb.texinfo (Set Catchpoints): Remove the documentation ofJoel Brobecker2008-11-182-10/+5
| | | | commands "catch load" and "catch unload".
* * NEWS: Document the removal of "catch load" and "catch unload".Joel Brobecker2008-11-182-0/+10
|
* Add support for ARM half-precision conversion instructions.Catherine Moore2008-11-188-7/+128
|
* * dwarf2.c (read_section): Fix formatting.Nick Clifton2008-11-183-47/+61
| | | | | | | | | | (read_n_bytes): Remove unhelpful comment. (read_indirect_string): Pass symbol table to read_section in case the .debug_str section needs relocating. PR 7037 * elf32-cr16.c (cr16_elf_howto_table): Zero the src_mask field of the reloc descriptions.
* * infcall.c (call_function_by_hand): Fix punctuation and capitalizationDoug Evans2008-11-185-6/+16
| | | | | | | on error messages. * gdb.mi/mi-syn-frame.exp: Update expected output. * gdb.mi/mi2-syn-frame.exp: Update expected output.
* *** empty log message ***gdbadmin2008-11-181-1/+1
|
* daily updateAlan Modra2008-11-181-1/+1
|
* PR gdb/2250Ulrich Weigand2008-11-172-22/+118
| | | | | | | | | | | | | | | * infrun.c (clear_proceed_status_thread): New function. (clear_proceed_status_callback): New function. (clear_proceed_status): In all-stop mode, clear per-thread proceed status of *all* threads, not only the current. (handle_inferior_event): In all-stop mode, if we're stepping one thread, but got some inferior event in another thread that does not cause GDB to break to the user interface, ensure the interrupted stepping operation continues in the original thread. (currently_stepping): Move thread-related tests to ... (currently_stepping_thread): ... this new function. (currently_stepping_callback): New function.
* Implement =thread-selected notification.Vladimir Prus2008-11-179-19/+103
| | | | | | | * mi/mi-common.h (struct mi_interp): New, moved from ... * mi/mi-interp.c: ...here. * mi/mi-main.c (mi_execute_command): If the thread changed as result of command, report that.
* Implement continue/interrupt of thread groups.Vladimir Prus2008-11-172-3/+74
| | | | | | | | | * mi/mi-main.c (proceed_thread_callback): New. (mi_cmd_exec_continue): If --thread-group is specified, resume all threads in that group. (interrupt_thread_callback): New. (mi_cmd_exec_interrupt): If --thread-group is specified, interrupt all threads in that group.
* Implement '-target-detach pid'.Vladimir Prus2008-11-176-4/+51
| | | | | | | | * infcmd.c (detach_command): Make nonstatic. * inferior.h (detach_command): Declare. * mi/mi-cmds.c (mi_cmds): Don't route -target-detach via CLI. * mi/mi-cmds.h (mi_cmd_target_detach): Declare. * mi/mi-main.c (find_thread_of_process, mi_cmd_target_detach): New.
* Include group-id in thread-created notification.Vladimir Prus2008-11-175-4/+20
| | | | | * mi/mi-interp.c (mi_new_thread, mi_thread_exit): Include group id in the output.
* Notification for attach/detach.Vladimir Prus2008-11-175-0/+51
| | | | | | * inferior.c: Call the process observers. * mi/mi-interp.c (mi_new_inferior, mi_inferior_exit): New. (mi_interpreter_init): Register the above.
* Implement -list-thread-groups.Vladimir Prus2008-11-176-6/+82
| | | | | | | | | | * thread.c (print_thread_info): New parameter pid, to print threads of specific process. * gdbthread.h (print_thread_info): New parameter pid. * mi/mi-cmds.c (mi_cmds): Register -list-thread-groups. * mi/mi-cmds.h (mi_cmd_list_thread_groups): New. * mi/mi-main.c (mi_cmd_thread_info): Adjust. (print_one_process, mi_cmd_list_thread_groups): New.
* *** empty log message ***gdbadmin2008-11-171-1/+1
|