Pedro Alves [Thu, 23 Oct 2008 23:11:21 +0000 (23:11 +0000)]
gdb/
2008-10-23 Pedro Alves <pedro@codesourcery.com>
* defs.h: Mention ptid_is_pid.
* inferior.h (ptid_is_pid): Declare.
* gdbthread.h (struct thread_info) <stop_requested>: New field.
(set_stop_requested): Declare.
* infcmd.c (interrupt_target_1): Call set_stop_requested.
* infrun.c (clear_proceed_status): Clear stop_requested.
(infrun_thread_stop_requested_callback,
infrun_thread_stop_requested): New.
(handle_inferior_event): If a TARGET_SIGNAL_TRAP is reported on a
thread that had an explicit stop request, pretend we got a
TARGET_SIGNAL_0. Always stop if the thread had an explicit stop
request.
(print_stop_reason): In the SIGNAL_RECEIVED case, if we're not
outputting to MI, and we got a TARGET_SIGNAL_0, print "# Stopped",
instead of mentioning signal 0.
(ptid_is_pid): New.
* thread.c (set_stop_requested): New.
* linux-nat.c (queued_waitpid): Rename to ...
(queued_waitpid_1): ... this. Add `peek' argument. Handle it.
(queued_waitpid): New, as wrapper to queued_waitpid_1.
(push_waitpid): Push the SIGTRAP to the local event queue, to the
kernel's.
(send_sigint_callback): Delete.
(linux_nat_stop_lwp): New.
(linux_nat_stop): Use it.
gdb/doc/
2008-10-23 Pedro Alves <pedro@codesourcery.com>
* observer.texi (thread_stop_requested): New.
gdb/testsuite/
2008-10-23 Pedro Alves <pedro@codesourcery.com>
* lib/mi-support.exp (mi_expect_interrupt): Expect signal 0
instead of SIGINT.
Jan Kratochvil [Thu, 23 Oct 2008 15:42:19 +0000 (15:42 +0000)]
* ada-tasks.c (task_states, long_task_states): Use constant N_()
initializer. Define the strings as const.
(short_task_info, info_task): Translate the strings above.
Joel Brobecker [Wed, 22 Oct 2008 20:22:01 +0000 (20:22 +0000)]
* configure.ac: On alpha-osf, error out if enable_tui is set to
"yes", and set enable_tui to "no" if previously set to "auto".
Check for waddstr only if TUI support was requested. Move the
part of the configure script that updates various Makefile
variables up, together with the check for waddstr.
* configure: Regenerate.
Joel Brobecker [Wed, 22 Oct 2008 20:11:56 +0000 (20:11 +0000)]
* gdbtypes.c (copy_type): New function.
* gdbtypes.h (copy_type): Add declaration.
* ada-lang.c (ada_to_fixed_type_1): If there is a parallel XVZ
variable, then use it.
Tom Tromey [Wed, 22 Oct 2008 16:38:09 +0000 (16:38 +0000)]
gdb
PR gdb/2506:
* c-exp.y (string_exp): New production.
(exp): Use it.
gdb/testsuite
* gdb.base/exprs.exp (test_expr): Add test for string
concatenation.
Nick Clifton [Wed, 22 Oct 2008 14:23:44 +0000 (14:23 +0000)]
* emultempl/armelf.em (arm_elf_after_open): Move check for using a
non-arm output target from here...
(arm_elf_create_output_section_statements): ... to here, so that
the check is made at the earliest possible opportunity.
Michael Snyder [Fri, 17 Oct 2008 19:43:47 +0000 (19:43 +0000)]
2008-10-17 Michael Snyder <msnyder@vmware.com>
Target interface for reverse debugging.
* target.h (enum target_waitkind):
Add new wait event, TARGET_WAITKIND_NO_HISTORY.
(struct target_ops): New method to_can_execute_reverse.
(target_can_execute_reverse): New macro.
* target.c (update_current_target): Inherit to_can_execute_reverse.
Remote interface for reverse debugging.
* remote.c (remote_can_execute_reverse): New target method.
(remote_resume): Check for reverse exec direction, and send
appropriate command to target.
(remote_wait_as): Check target response for NO_HISTORY status.
Also check for empty reply (target doesn't understand "bs" or "bc).
(remote_vcont_resume): Jump out if attempting reverse execution.
Event handling interface for reverse debugging.
* infrun.c (execution_direction): New state variable.
(enum inferior_stop_reason): Add NO_HISTORY reason.
(handle_inferior_event): Handle TARGET_WAITKIND_NO_HISTORY.
Handle stepping over a function call in reverse.
Handle stepping thru a line range in reverse.
Handle setting a step-resume breakpoint in reverse.
Handle stepping into a function in reverse.
Handle stepping between line ranges in reverse.
(print_stop_reason): Print reason for NO_HISTORY.
(step_into_function): Rename to handle_step_into_function.
(handle_step_into_function_backward): New function.
(set_exec_direction_func, show_exec_direction_func): New funcs.
(proceed): No need to singlestep over a breakpoint
when resuming in reverse.
* inferior.h (enum exec_direction_kind): New enum.
(execution_direction): Export new execution state variable.
* breakpoint.c (make_breakpoint_silent): New function.
* breakpoint.h (make_breakpoint_silent): Export.
* infcmd.c (finish_command): Check for reverse exec direction.
(finish_backward): New function, handle finish cmd in reverse.
User interface for reverse execution.
* Makefile.in (reverse.c): New file.
* reverse.c: New file. User interface for reverse execution.
Joel Brobecker [Thu, 16 Oct 2008 16:25:04 +0000 (16:25 +0000)]
* breakpoint.h (enum bptype): New enum bp_catchpoint.
Delete bp_catch_fork and bp_catch_vfork.
(struct breakpoint_ops): Add new methods "insert", "remove"
and "breakpoint_hit".
* breakpoint.c (create_fork_vfork_event_catchpoint)
(create_fork_event_catchpoint, create_vfork_event_catchpoint): Remove.
(insert_catchpoint): Remove handling of bp_catch_fork and
bp_catch_vfork catchpoints, and handle them as bp_catchpoint
catchpoints instead.
(insert_bp_location, update_breakpoints_after_exec)
(remove_breakpoint, bpstat_check_location, bpstat_what)
(allocate_bp_location): Likewise.
(print_it_typical, print_one_breakpoint_location, mention): Remove
handling of bp_catch_fork and bp_catch_vfork breakpoints.
(ep_is_catchpoint, user_settable_breakpoint)
(breakpoint_address_is_meaningful, adjust_breakpoint_address)
(breakpoint_re_set_one, disable_command, enable_command):
Remove use of bp_catch_fork and bp_catch_vfork. Add handling of
bp_catchpoint breakpoints.
(insert_catch_fork, remove_catch_fork, breakpoint_hit_catch_fork)
(print_it_catch_fork, print_one_catch_fork, print_mention_catch_fork):
New functions.
(catch_fork_breakpoint_ops): New static constant.
(insert_catch_vfork, remove_catch_vfork, breakpoint_hit_catch_vfork)
(print_it_catch_vfork, print_one_catch_vfork)
(print_mention_catch_vfork): New functions.
(catch_vfork_breakpoint_ops): New static constant.
(create_catchpoint, create_fork_vfork_event_catchpoint): New functions.
(catch_fork_command_1): Use create_fork_vfork_event_catchpoint
to create the fork and vfork catchpoints.
(gnu_v3_exception_catchpoint_ops): Set new breakpoint_ops fields.
* ada-lang.c (catch_exception_breakpoint_ops): Set new breakpoint_ops
fields.
(catch_exception_unhandled_breakpoint_ops): Likewise.
(catch_assert_breakpoint_ops): Likewise.
Pedro Alves [Wed, 15 Oct 2008 21:39:53 +0000 (21:39 +0000)]
* remote.c (remote_close): Unregister remote_desc from the event
loop. Always restore the SIGINT handler. Discard all inferiors
here.
(remote_detach_1, remote_disconnect): Don't unregister the file
descriptor from the event loop here.
(interrupt_query, readchar, getpkt_sane): Pop the target instead
of morning the current inferior.
(remote_kill): Don't unregister the file descriptor from the event
loop here.
(remote_mourn_1): Don't discard inferiors here.
Pedro Alves [Wed, 15 Oct 2008 19:15:34 +0000 (19:15 +0000)]
gdb/
* breakpoint.c (breakpoint_init_inferior): Clean up the moribund
locations list.
(moribund_breakpoint_here_p): Record the moribund
location in the moribund_locations vector.
* breakpoint.h (moribund_breakpoint_here_p): Declare.
(displaced_step_fixup): Check if the breakpoint the thread was
trying to step over has been removed since having been placed in
the displaced stepping queue.
(adjust_pc_after_break): In non-stop mode, check for a moribund
breakpoint at the stop pc.
(handle_inferior_event): Don't retire moribund breakpoints on
TARGET_WAITKIND_IGNORE.
gdb/testsuite/
* gdb.mi/mi-nsmoribund.exp, gdb.mi/nsmoribund.c: New test.
Pedro Alves [Tue, 14 Oct 2008 23:39:29 +0000 (23:39 +0000)]
* infrun.c (displaced_step_prepare): Switch thread temporarily
while we're here.
(displaced_step_fixup): Make sure target_resume sees ptid as
inferior_ptid. Add debug output.
H.J. Lu [Sun, 12 Oct 2008 12:37:09 +0000 (12:37 +0000)]
gas/
2008-10-12 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (processor_type): Moved to tc-i386.h.
(cpu_arch_tune): Make it global.
(cpu_arch_isa): Likewise.
(cpu_arch_isa_flags): Likewise.
(i386_align_code): Check fragP->tc_frag_data.isa,
fragP->tc_frag_data.isa_flags and cpu_arch_tune instead of
cpu_arch_isa, cpu_arch_isa_flags and cpu_arch_tune,
respectively.
* config/tc-i386.h (processor_type): Moved from tc-i386.c.
(cpu_arch_tune): New.
(cpu_arch_isa): Likewise.
(cpu_arch_isa_flags): Likewise.
(i386_tc_frag_data): Likewise.
(TC_FRAG_TYPE): Likewise.
(TC_FRAG_INIT): Likewise.
gas/testsuite/
2008-10-12 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run nops-5, nops-5-i686, x86-64-nops-5 and
x86-64-nops-5-k8.
Doug Evans [Fri, 10 Oct 2008 16:15:42 +0000 (16:15 +0000)]
* dwarf2read.c (comp_unit_head): Use unsigned int consistently
for dwarf section offsets and sizes.
(dwarf2_cu): Ditto.
(dwarf2_per_cu_data): Ditto.
(create_all_comp_units): Change offset to unsigned int.
(load_full_comp_unit,find_partial_die_in_comp_unit,find_partial_die,
dwarf2_find_containing_comp_unit,dwarf2_find_comp_unit): Ditto.
* dwarf2read.c (read_initial_length): Delete cu_header arg.
All callers updated.
(read_checked_initial_length_and_offset): New function.
(read_offset_1): New function.
(read_offset): Call it.
(dwarf_decode_line_header): Call read_checked_initial_length_and_offset
instead of read_initial_length. Call read_offset_1 instead of
read_offset.
* dwarf2read.c (dwarf2_get_ref_die_offset): Remove unused arg `cu'.
All callers updated.
* dwarf2read.c (dwarf_attr_name): Unconditionally support all
DW_AT_MIPS_* except DW_AT_MIPS_fde which collides with
DW_AT_HP_block_index.
Pedro Alves [Thu, 9 Oct 2008 18:45:44 +0000 (18:45 +0000)]
* remote.c (remote_wait): Rename to...
(remote_wait_as): ... this. Don't loop here. If the remote
didn't stop, return TARGET_WAITKIND_IGNORE.
(remote_wait): New, reimplemented on top of remote_wait_as.
Bob Wilson [Thu, 9 Oct 2008 18:12:29 +0000 (18:12 +0000)]
* doc/as.texinfo (Pseudo Ops): Swap order of Comm and CFI menu entries.
(Altmacro, Comm, Loc, Loc_mark_labels, List, MRI, PopSection, Sleb128):
Moved into alphabetical order.
Bob Wilson [Thu, 9 Oct 2008 18:10:44 +0000 (18:10 +0000)]
* doc/as.texinfo (Dot): Expand no-space-dir conditional to include
a complete sentence.
(Pseudo Ops): Put conditionals around Skip and Space menu entries.
(Line): Remove conditional declaration of Ln node and section here.
Put aout-bout description inside the no-line-dir conditional.
(Skip, Space): Use a separate conditional for each node.
Bob Wilson [Thu, 9 Oct 2008 18:08:10 +0000 (18:08 +0000)]
* doc/as.texinfo (Pseudo Ops): Remove no-file-dir conditional around
menu entry for File; remove version-specific .file operands from menu
description. Replace "LNS directives" menu entry with new entries
for "Loc" and "Loc_mark_labels".
(LNS directives): Split into separate nodes for each directive.
(Loc): New node for .loc directive. Mention that this directive
is for DWARF2 and add a missing article.
(Loc_mark_labels): Likewise for .loc_mark_labels.
(File): Change this node to describe both the default version and
the DWARF2 version of .file. Move the no-file-dir conditional to
include only the default version.