Daniel Jacobowitz [Tue, 15 Jul 2008 23:29:24 +0000 (23:29 +0000)]
Revert frame_unwind_caller_pc / frame_unwind_caller_id.
Andreas Schwab [Tue, 15 Jul 2008 22:13:42 +0000 (22:13 +0000)]
* valops.c (value_cast_pointers): Follow typedefs when checking
result of coercion.
Paul Pluzhnikov [Tue, 15 Jul 2008 19:15:28 +0000 (19:15 +0000)]
Fix for 'FAIL: gdb.cp/class2.exp: p acp->c2' on spu-elf
Daniel Jacobowitz [Tue, 15 Jul 2008 19:11:34 +0000 (19:11 +0000)]
* block.c (block_function): Renamed to ...
(block_linkage_function): ... this. All callers changed.
* block.h (block_function): Renamed to ...
(block_linkage_function): ... this.
Daniel Jacobowitz [Tue, 15 Jul 2008 18:58:32 +0000 (18:58 +0000)]
* frame.c (frame_unwind_id): Renamed to ...
(frame_unwind_caller_id): ... this. All callers updated.
(frame_pc_unwind): Renamed to ...
(frame_unwind_caller_pc): ... this. All callers updated.
* frame.h: Document frame_unwind_caller_WHAT functions.
(frame_unwind_id): Renamed to ...
(frame_unwind_caller_id): ... this.
(frame_pc_unwind): Renamed to ...
(frame_unwind_caller_pc): ... this.
* hppa-tdep.c (hppa_find_unwind_entry_in_block): Correct comment.
* stack.c (parse_frame_specification_1): Do not rely on
frame_unwind_id.
Daniel Jacobowitz [Tue, 15 Jul 2008 18:52:17 +0000 (18:52 +0000)]
* mn10300-tdep.c (set_reg_offsets): Use get_frame_register_unsigned.
Daniel Jacobowitz [Tue, 15 Jul 2008 18:50:15 +0000 (18:50 +0000)]
* frame.c (frame_sp_unwind): Delete.
(get_frame_sp): Do not use it.
* frame.h (frame_sp_unwind): Delete prototype.
H.J. Lu [Tue, 15 Jul 2008 18:48:34 +0000 (18:48 +0000)]
2008-07-15 H.J. Lu <hongjiu.lu@intel.com>
* objdump.c (load_debug_section): Initialize section_is_compressed
for gcc 3.4/ia64.
* readelf.c (load_debug_section): Likewise.
DJ Delorie [Tue, 15 Jul 2008 18:48:07 +0000 (18:48 +0000)]
* elf-m10300.c (mn10300_elf_final_link_relocate): Correct overflow
checks for PCREL8, PCREL16, GOTPC16, GOTOFF16, PLT16, and GOT16
relocs.
(mn10300_elf_relax_section): Correct jump offset check when target
is in a different section.
Daniel Jacobowitz [Tue, 15 Jul 2008 18:45:42 +0000 (18:45 +0000)]
* ia64-tdep.c (ia64_dummy_id): Use get_frame_pc.
H.J. Lu [Tue, 15 Jul 2008 18:44:18 +0000 (18:44 +0000)]
Add missing ChangeLog entries for
http://sourceware.org/ml/binutils-cvs/2008-05/msg00092.html
Daniel Jacobowitz [Tue, 15 Jul 2008 18:40:03 +0000 (18:40 +0000)]
* dwarf2-frame.c (dwarf2_frame_cache): Update comment.
* frame.c (frame_unwind_address_in_block): Delete.
(get_frame_address_in_block): Do not use it. Check the type
of the next frame first.
(frame_cleanup_after_sniffer): Update comment.
* frame.h (frame_unwind_address_in_block): Delete prototype.
* hppa-tdep.c (hppa_find_unwind_entry_in_block): Update comment.
Daniel Jacobowitz [Tue, 15 Jul 2008 18:32:06 +0000 (18:32 +0000)]
* frame.c (frame_func_unwind): Delete.
(get_frame_func): Do not use it.
* frame.h (frame_func_unwind): Delete prototype.
* hppa-tdep.c (hppa_frame_cache): Update comment.
* rs6000-tdep.c (rs6000_frame_cache): Update comment.
Stan Shebs [Tue, 15 Jul 2008 18:08:27 +0000 (18:08 +0000)]
* remote-sim.c (init_gdbsim_ops): Remove
TARGET_REDEFINE_DEFAULT_OPS.
Daniel Jacobowitz [Tue, 15 Jul 2008 17:53:11 +0000 (17:53 +0000)]
* findvar.c (read_var_value): Remove unused variable.
Luis Machado [Tue, 15 Jul 2008 17:25:21 +0000 (17:25 +0000)]
* infrun.c (handle_inferior_event): Tag threads as stopped
before inserting breakpoints.
Jie Zhang [Tue, 15 Jul 2008 13:09:47 +0000 (13:09 +0000)]
bfd/
* elf32-bfin.c (elf32_bfin_special_sections[]): New.
(elf_backend_special_sections): Define.
ld/
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
Hui Zhu [Tue, 15 Jul 2008 09:46:49 +0000 (09:46 +0000)]
* MAINTAINERS: Added myself to section Write After Approval.
gdbadmin [Tue, 15 Jul 2008 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 15 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Paul Pluzhnikov [Mon, 14 Jul 2008 18:28:57 +0000 (18:28 +0000)]
Fix for PR gdb/2477
Pedro Alves [Mon, 14 Jul 2008 18:06:58 +0000 (18:06 +0000)]
* i386-dicos-tdep.c (i386_dicos_frame_align): Delete.
(i386_dicos_push_dummy_code): New.
(i386_dicos_init_abi): Don't register i386_dicos_frame_align.
Register i386_dicos_push_dummy_code.
Markus Deuling [Mon, 14 Jul 2008 11:25:12 +0000 (11:25 +0000)]
* mips-tdep.c (fp_register_arg_p): Add gdbarch as paramter.
(mips_n32n64_push_dummy_call, mips_o64_return_value)
(mips_eabi_push_dummy_call): Update call to fp_register_arg_p.
(MIPS_FPU_TYPE): Add gdbarch as parameter and replace current_gdbarch.
(fp_register_arg_p, mips_dump_tdep, show_mipsfpu_command)
(mips_n32n64_fp_arg_chunk_p): Update caller.
(mips_n32n64_fp_arg_chunk_p): Add gdbarch as paramter.
(mips_n32n64_push_dummy_call): Update caller.
(MIPS_LAST_ARG_REGNUM): Add gdbarch as parameter and replace
current_gdbarch.
(mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call)
(mips_o32_push_dummy_call, mips_o64_push_dummy_call): Update caller.
(MIPS_LAST_FP_ARG_REGNUM): Add gdbarch as parameter and replace
current_gdbarch.
(mips_eabi_push_dummy_call, mips_o32_push_dummy_call)
(mips_o64_push_dummy_call): Update caller.
(MIPS_EABI): Add gdbarch as parameter and replace current_gdbarch.
(fp_register_arg_p, mips_dump_tdep): Update caller.
(set_reg_offset): Add gdbarch as parameter and replace current_gdbarch.
(mips16_scan_prologue, mips32_scan_prologue): Update caller.
(reset_saved_regs): Make static. Add gdbarch as parameter. Replace
current_gdbarch.
(mips32_scan_prologue): Update caller.
(heuristic_proc_start): Add gdbarch as parameter. Replace
current_gdbarch.
(mips_insn16_frame_cache, mips_insn32_frame_cache): Update caller.
* mipsnbsd-nat.c (mipsnbsd_fetch_inferior_registers)
(mipsnbsd_store_inferior_registers): Use get_regcache_arch to get at
the current architecture. Update call to getregs_supplies.
(getregs_supplies): Add gdbarch as parameter and replace
current_gdbarch.
* mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use get_frame_arch to
get at the current architecture. Update call to NBSD_MIPS_JB_OFFSET and
NBSD_MIPS_JB_ELEMENT_SIZE.
(NBSD_MIPS_JB_ELEMENT_SIZE, NBSD_MIPS_JB_OFFSET): Add gdbarch and
replace current_gdbarch.
* remote-mips.c (mips_map_regno): Add gdbarch as parameter and replace
current_gdbarch.
(mips_fetch_registers, mips_store_registers): Update call
to mips_map_regno.
(mips_load): Use get_regcache_arch to get at the current_architecture
and replace current_gdbarch.
Jie Zhang [Mon, 14 Jul 2008 03:54:27 +0000 (03:54 +0000)]
* gas/bfin/{bit2.s, cache2.s, control_code2.s, event2.s,
logical2.s, move2.s, parallel.s, parallel2.s, parallel3.s,
parallel4.s, shift2.s, stack2.s, video2.s}: Remove DOS line
endings.
H.J. Lu [Mon, 14 Jul 2008 01:22:23 +0000 (01:22 +0000)]
Mention "PR ld/6741" in ChangeLog.
H.J. Lu [Mon, 14 Jul 2008 01:20:48 +0000 (01:20 +0000)]
Mention "PR binutils/6743" in ChangeLog.
Craig Silverstein [Mon, 14 Jul 2008 00:10:09 +0000 (00:10 +0000)]
2008-07-13 Craig Silverstein <csilvers@google.com>
* dwarf2.c (struct dwarf2_debug): New variable info_ptr_memory.
(find_line): Use info_ptr_memory instead of sec_info_ptr.
(_bfd_dwarf2_cleanup_debug_info): Likewise.
gdbadmin [Mon, 14 Jul 2008 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 14 Jul 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Sun, 13 Jul 2008 19:25:58 +0000 (19:25 +0000)]
* thread.c (restore_selected_frame): On fail to restore, select
the innermost frame, and don't crash when warning the user.
Joel Brobecker [Sun, 13 Jul 2008 16:58:20 +0000 (16:58 +0000)]
* symtab.c (expand_line_sal): Fix a memory leak.
Jan Kratochvil [Sun, 13 Jul 2008 14:56:02 +0000 (14:56 +0000)]
* gdb.base/randomize.exp: Catch non-Linux targets as untested.
Pedro Alves [Sun, 13 Jul 2008 11:28:31 +0000 (11:28 +0000)]
* utils.c (struct continuation): Define as inheriting struct
cleanup.
(add_continuation, do_all_continuations)
(discard_all_continuations, add_intermediate_continuation)
(do_all_intermediate_continuations)
(discard_all_intermediate_continuations): Adjust.
Vladimir Prus [Sun, 13 Jul 2008 05:31:44 +0000 (05:31 +0000)]
Skip varobj in running threads.
* mi/mi-cmd-var.c (mi_cmd_var_update): If varobj's
thread is not stopped, skip the varobj.
* Makefile.in: Update dependencies.
Vladimir Prus [Sun, 13 Jul 2008 04:13:50 +0000 (04:13 +0000)]
Enable all MI commands while inferiour is running
* mi/mi-main.c (mi_cmd_execute): Don't check if
inferiour is executing.
Vladimir Prus [Sun, 13 Jul 2008 04:09:47 +0000 (04:09 +0000)]
Allow all CLI command even if target is executing.
* gdb/top.c (execute_command_1): Don't check if the inferiour
is running.
Vladimir Prus [Sun, 13 Jul 2008 03:59:28 +0000 (03:59 +0000)]
* mi/mi-main.c (mi_cmd_execute): Remove unused variable.
Fix printing of frame, when frame is wrong.
gdbadmin [Sun, 13 Jul 2008 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 13 Jul 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Ulrich Weigand [Sat, 12 Jul 2008 22:42:52 +0000 (22:42 +0000)]
* spu-tdep.c (spu_frame_unwind_cache): Do not error if
backchain is unreadable.
Ulrich Weigand [Sat, 12 Jul 2008 22:22:42 +0000 (22:22 +0000)]
* linux-low.c (handle_extended_wait): Do not use "status"
variable uninitialized.
Ulrich Weigand [Sat, 12 Jul 2008 22:16:34 +0000 (22:16 +0000)]
* spu-linux-nat.c: Include "gdbthread.h".
(spu_child_post_startup_inferior): Register main thread.
(spu_child_post_attach): Likewise.
* Makefile.in (spu-linux-nat.o): Update dependencies.
Craig Silverstein [Sat, 12 Jul 2008 21:36:53 +0000 (21:36 +0000)]
2008-07-12 Craig Silverstein <csilvers@google.com>
* configure.in: Check for, and include, libz.a if it is
present.
* configure: Regenerate.
* config.in: Regenerate.
Pedro Alves [Sat, 12 Jul 2008 19:25:42 +0000 (19:25 +0000)]
2008-07-12 Pedro Alves <pedro@codesourcery.com>
Rewrite continuations internals on top of cleanups and plug
continuation arguments leaks.
* defs.h (struct continuation): Make it opaque.
(add_continuation, add_intermediate_continuation): Drop the int
argument of the continuation hook argument. Add
continuation_free_args argument.
(do_all_continuations, do_all_intermediate_continuations): Drop
the error_p argument.
* utils.c (add_continuation): Drop the int argument of the
continuation hook argument. Add continuation_free_args argument.
Reimplement on top of cleanups.
(do_all_continuations): Drop error argument. Reimplement on top
of cleanups.
(discard_all_continuations): Reimplement on top of cleanups.
(add_intermediate_continuation): Drop the int argument of the
continuation hook argument. Add continuation_free_args argument.
Reimplement on top of cleanups.
(do_all_intermediate_continuations): Drop error argument.
Reimplement on top of cleanups.
(discard_all_intermediate_continuations): Reimplement on top of
cleanups.
* breakpoint.c (until_break_command_continuation): Drop error
argument. Add xfree as continuation argument deleter.
* inf-loop.c (inferior_event_handler): On error, discard all
continuations. Adjust to new do_all_intermediate_continuations
and do_all_continuations interfaces.
* infcmd.c (step_1_continuation): Drop error_p argument. Adjust.
Pass xfree as continuation argument deleter.
(finish_command_continuation): Drop error_p argument. Adjust.
(finish_command_continuation_free_arg): New.
(finish_command): Pass finish_command_continuation_free_arg as
continuation argument deleter. Adjust to new do_all_continuations
interfaces.
(attach_command_continuation): Drop error_p argument.
(attach_command_continuation_free_args): New.
(attach_command): Pass attach_command_continuation_free_args as
continuation argument deleter.
* interps.c (interp_set): Adjust to new do_all_continuations
interfaces.
* event-top.c (stdin_event_handler): In error, also discard the
intermediate continuations.
Pedro Alves [Sat, 12 Jul 2008 19:07:38 +0000 (19:07 +0000)]
Replace struct continuation_args by void* and per command structs.
* top.c (execute_command): Remove unused arg1 and arg2 locals.
* breakpoint.c (struct until_break_command_continuation_args):
New.
(until_break_command_continuation): Take a void* instead of a
continuations_arg. Adjust.
(until_break_command): Adjust to use struct
until_break_command_continuation_args instead of struct
continuation_arg.
* infcmd.c (struct step_1_continuation_args): New.
(step_1_continuation): Take a void* instead of a
continuations_arg. Adjust to use struct step_1_continuation_args.
(step_once): Adjust to use struct step_1_continuation_args.
(struct finish_command_continuation_args): New.
(finish_command_continuation): Take a void* instead of a
continuations_arg. Adjust to use struct
finish_command_continuation_args.
(finish_command): Adjust to use struct
finish_command_continuation_args.
(struct attach_command_continuation_args): New.
(attach_command_continuation): Take a void* instead of a
continuations_arg. Adjust to use struct
attach_command_continuation_args.
(attach_command): Adjust to use struct
attach_command_continuation_args.
* defs.h (struct continuation_arg): Delete.
(struct continuation): Replace the struct continuation_arg*
parameter of continuation_hook by a void*. Replace "arg_list"
member by a new "args" member with void* type.
(add_continuation, add_intermediate_continuation): Replace struct
continuation_arg type usages by void* usages.
* utils.c (add_continuation, do_all_continuations)
(add_intermediate_continuation)
(do_all_intermediate_continuations): Replace struct
continuation_arg type usages by void* usages. Pass "args" instead
of "arg_list".
Pedro Alves [Sat, 12 Jul 2008 18:39:10 +0000 (18:39 +0000)]
2008-07-12 Pedro Alves <pedro@codesourcery.com>
* infrun.c (struct thread_stepping_state): Delete sal member.
(init_thread_stepping_state): Add local sal. Use it instead of
tss->sal.
(handle_inferior_event): New local stop_pc_sal. Use it instead of
tss->sal.
(step_into_function): Add local stop_func_sal. Use it instead of
tss->sal.
Vladimir Prus [Sat, 12 Jul 2008 17:10:59 +0000 (17:10 +0000)]
Implement -exec-continue/-exec-interrupt --all.
* infcmd.c (continue_1): New, extracted from
(continue_command): ...here.
(interrupt_target_1): New, extracted from
(interrupt_target_command): ...here.
* inferior.h (continue_1, interrupt_target_1): New.
* mi/mi-main.c (mi_cmd_exec_continue)
(mi_cmd_exec_interrupt): Handle --all.
Vladimir Prus [Sat, 12 Jul 2008 16:37:57 +0000 (16:37 +0000)]
Implement --thread and --frame.
* gdbthread.h (find_thread_id): Declare.
* thread.c (find_thread_id): Make non-static.
* mi/mi-main.c (mi_cmd_execute): Switch to the right
thread and frame, if necessary.
* mi/mi-parse.c (mi_parse): Handle --thread and --frame.
* mi/mi-parse.h (strcut mi_parse): New fields thread and frame.
Vladimir Prus [Sat, 12 Jul 2008 13:42:54 +0000 (13:42 +0000)]
* infrun.c (resume): Discard cleanups on early exit path.
Vladimir Prus [Sat, 12 Jul 2008 12:41:56 +0000 (12:41 +0000)]
* infrun.c (normal_stop): For MI, report which threads
were stopped.
Vladimir Prus [Sat, 12 Jul 2008 12:34:19 +0000 (12:34 +0000)]
Report thread state in -thread-info output.
* thread.c (print_thread_info): Add new field "state".
Jie Zhang [Sat, 12 Jul 2008 08:54:13 +0000 (08:54 +0000)]
Revert my last change since it has not been approved.
gdbadmin [Sat, 12 Jul 2008 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 12 Jul 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Kevin Buettner [Fri, 11 Jul 2008 21:57:24 +0000 (21:57 +0000)]
* gdb.arch/e500-regs.exp (decimal_vector): Adjust "v8_int8" portion
of regexp to account for changes made to GDB in the printing of
byte vectors.
Jie Zhang [Fri, 11 Jul 2008 19:24:39 +0000 (19:24 +0000)]
bfd/
* elf.c (_bfd_elf_map_sections_to_segments): Don't put
executable sections into the same segment with other
read only sections if --sep-code.
* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
(elf32_bfin_data_in_l1): New variable.
(elf32_bfin_final_write_processing): New.
(elf32_bfin_special_sections[]): New.
(elf_backend_final_write_processing): Define.
(elf_backend_special_sections): Define.
binutils/
* readelf.c (get_machine_flags): Deal with Blackfin specific
flags.
include/
* bfdlink.h (struct bfd_link_info): Add sep_code member
variable.
* elf/bfin.h (EF_BFIN_CODE_IN_L1): Define.
(EF_BFIN_DATA_IN_L1): Define.
ld/
* Makefile.am (eelf32bfin.c): Depend on bfin.em.
(eelf32bfinfd.c): Likewise.
* Makefile.in: Regenerate.
* gen-doc.texi: Set Blackfin.
* ld.texinfo: Document --sep-code and Blackfin specific
options.
* ldmain.c (main): Initialize link_info.sep_code.
* lexsup.c (enum option_values): Add OPTION_SEP_CODE.
(ld_options[]): Add --sep-code.
(parse_args): Deal with --sep-code.
* emulparams/bfin.sh (EXTRA_EM_FILE): Define.
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
* emultempl/bfin.em: New file.
Pedro Alves [Fri, 11 Jul 2008 17:46:40 +0000 (17:46 +0000)]
* infrun.c (handle_inferior_event): Also ignore a
TARGET_SIGNAL_TRAP on a STOP_QUIETLY_NO_SIGSTOP.
H.J. Lu [Fri, 11 Jul 2008 17:19:00 +0000 (17:19 +0000)]
2008-07-11 H.J. Lu <hongjiu.lu@intel.com>
* ld-m68k/got-12.s: Removed.
* ld-m68k/got-13.s: Likewise.
* ld-m68k/got-14.s: Likewise.
* ld-m68k/got-15.s: Likewise.
* ld-m68k/got-34.s: Likewise.
* ld-m68k/got-35.s: Likewise.
* ld-m68k/xgot-15.s: Likewise.
* ld-m68k/got-multigot-12-13-14-34-35-ok.d: Remove #source
and expected relocations.
* ld-m68k/got-multigot-14-ok.d: Likewise.
* ld-m68k/got-negative-12-13-14-34-ok.d: Likewise.
* ld-m68k/got-negative-14-ok.d: Likewise.
* ld-m68k/got-single-12-ok.d: Likewise.
* ld-m68k/got-xgot-12-13-14-15-34-35-ok.d: Likewise.
* ld-m68k/got-xgot-15-ok.d: Likewise.
* ld-m68k/got-multigot-15-er.d: Remove #source.
* ld-m68k/got-negative-12-13-14-35-er.d: Likewise.
* ld-m68k/got-negative-15-er.d: Likewise.
* ld-m68k/got-single-13-er.d: Likewise.
* ld-m68k/m68k.exp: Move GOT tests to ...
* ld-m68k/m68k-got.exp: This. New.
Tom Tromey [Fri, 11 Jul 2008 15:07:52 +0000 (15:07 +0000)]
gdb
* completer.c (complete_line_internal): New function, from
complete_line. Add 'for_help' parameter.
(complete_line): Use it.
(command_completer): Move later. Rewrite.
gdb/testsuite
* gdb.base/completion.exp: Add 'help' completion test.
Pedro Alves [Fri, 11 Jul 2008 11:26:39 +0000 (11:26 +0000)]
* thread.c (thread_apply_command): Move making the cleanup out of
the loop.
Joseph Myers [Fri, 11 Jul 2008 11:15:59 +0000 (11:15 +0000)]
* mh-mingw (LDFLAGS): Append to rather than replacing previous
value.
Pedro Alves [Fri, 11 Jul 2008 11:07:39 +0000 (11:07 +0000)]
Exited threads.
* thread.c (enum thread_state): New.
(thread_state main_thread_running): Delete, in favor of...
(thread_state main_thread_state): ... this. Update throughout.
(clear_thread_inferior_resources): New, split from free_thread.
(free_thread): Call clear_thread_inferior_resources.
(init_thread_list): Set main thread to stopped state.
(add_thread_silent): Take care of PTID reuses.
(delete_thread): If deleting inferior_ptid or a thread with
refcount > 0, mark it as exited, but still keep it in the list.
Only notify of thread exits, if we haven't done so yet.
(iterate_over_threads): Make it safe to delete threads while
iterating over them.
(do_captured_list_thread_ids): Don't account for exited threads.
(thread_alive): Check for the THREAD_EXITED state, and don't set
ptid to -1 on exited threads.
(set_running): Update to account for extra possible states.
(is_thread_state): New.
(is_stopped, is_exited): New.
(is_running): Implement in terms of is_thread_state.
(any_running): Update.
(print_thread_info): Update. Account for exited threads. Don't
warn about missed frame restoring here, its done in the cleanup.
(switch_to_thread): Don't read from a thread that has gone.
(restore_current_thread): In non-stop mode, do a full context
switch.
(restore_selected_frame): Add a frame_level argument. Rewrite.
(struct current_thread_cleanup): Add selected_frame_level and
was_stopped members.
(do_restore_current_thread_cleanup): Check if thread was stopped
and still is, and if the target has registers, stack and memory
before restoring the selected frame. Don't delete the cleanup
argument here.
(restore_current_thread_cleanup_dtor): New.
(make_cleanup_restore_current_thread): Remove all arguments.
Rewrite.
(thread_apply_all_command): Update. Prune threads.
(thread_apply_command): Update.
(thread_command): Account for currently selected exited thread.
(do_captured_thread_select): Check for a running thread. Prune
threads.
(_initialize_thread): Make "info threads", "thread", "thread
apply", and "thread apply all" appliable without a selected thread.
* gdbthread.h (struct thread_info): Replace running_ by state_.
Add refcount.
(is_exited, is_stopped): Declare.
(make_cleanup_restore_current_thread): Remove all arguments.
* infrun.c: Include "event-top.h".
(fetch_inferior_event): In non-stop mode, restore selected thread
and frame after handling the event and running breakpoint
commands. Display GDB prompt if needed.
(normal_stop): In non-stop mode, don't print thread switching
notice.
* cli/cli-decode.c (set_cmd_no_selected_thread_ok)
(get_cmd_no_selected_thread_ok): New.
* cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): New.
(set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok):
Declare.
* cli/cli-cmds.c: Set "pwd", "help", "info", "show" as
no-selected-thread ok.
* top.c (execute_command): Check for non no-selected-thread-ok
commands.
* linux-nat.c (struct saved_ptids, threads_to_delete)
(record_dead_thread, prune_lwps): Delete.
(exit_lwp): Unconditionally delete thread.
(linux_nat_resume): Remove prune_lwps call.
* infcmd.c (proceed_thread_callback): Check if !is_stopped instead
of is_running. Adjust to make_cleanup_restore_current_thread
interface change.
* mi/mi-main.c (mi_cmd_execute): Only allow a few commands if the
selected thread has exited.
* inf-loop.c (inferior_event_handler): Don't display the prompt
here.
* varobj.c (c_value_of_root): Update.
* defs.h (make_cleanup_dtor): Declare.
* utils.c (make_cleanup_dtor): New.
* Makefile.in (infrun.o): Depend on $(event_top_h).
Pedro Alves [Fri, 11 Jul 2008 10:59:21 +0000 (10:59 +0000)]
Add "continue -a" and "interrupt -a" options for non-stop mode.
* infcmd.c (proceed_thread_callback, do_context_switch_to): New.
(continue_command): Add "-a" option.
(interrupt_target_command): Add "-a" option.
(_initialize_infcmd): Add extend help of continue and interrupt
command to mention the new "-a" option. Mark "continue" async ok.
Hans-Peter Nilsson [Fri, 11 Jul 2008 10:47:29 +0000 (10:47 +0000)]
* binutils-all/objdump.W: Generalize to adjust for targets with
non-byte-size instructions.
Andreas Schwab [Fri, 11 Jul 2008 09:18:19 +0000 (09:18 +0000)]
(read_section): Take pointer to bfd_size_type instead
of unsigned long as last parameter.
(struct dwarf2_debug): Define dwarf_abbrev_size, dwarf_line_size,
dwarf_str_size and dwarf_ranges_size as bfd_size_type instead of
unsigned long.
Hans-Peter Nilsson [Fri, 11 Jul 2008 02:42:35 +0000 (02:42 +0000)]
* common.m4: Add test for libz and zlib.h.
Hans-Peter Nilsson [Fri, 11 Jul 2008 02:41:22 +0000 (02:41 +0000)]
* configure: Regenerate to track ../common/common.m4 changes.
* config.in: Ditto.
Hans-Peter Nilsson [Fri, 11 Jul 2008 02:39:11 +0000 (02:39 +0000)]
* configure.ac: Add test for libz and zlib.h.
* Makefile.in (LIBS): Set from @LIBS@.
* configure: Regenerate.
* config.in: Ditto.
Hans-Peter Nilsson [Fri, 11 Jul 2008 02:32:33 +0000 (02:32 +0000)]
* cris/configure: Regenerate to track ../common/common.m4 changes.
* cris/config.in: Ditto.
Hans-Peter Nilsson [Fri, 11 Jul 2008 02:31:04 +0000 (02:31 +0000)]
* common.m4: Add test for libz and zlib.h.
* configure: Regenerate to track ../common/common.m4 changes.
* config.in: Ditto.
Hans-Peter Nilsson [Fri, 11 Jul 2008 01:32:00 +0000 (01:32 +0000)]
* interp.c (hash): Remove incorrect prototype.
gdbadmin [Fri, 11 Jul 2008 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 11 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Doug Evans [Thu, 10 Jul 2008 23:08:21 +0000 (23:08 +0000)]
Add "set print symbol-loading on|off".
* NEWS: Document new option.
* symfile.h (print_symbol_loading): Declare.
* symfile.c (print_symbol_loading): New global.
(symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols
from ..." if print_symbol_loading.
(_initialize_symfile): Add set/show print symbol-loading.
* solib.c (solib_read_symbols): Only print "Loaded symbols for ..."
if print_symbol_loading.
* doc/gdb.texinfo: Document "set print symbol-loading on|off".
Ian Lance Taylor [Thu, 10 Jul 2008 23:01:20 +0000 (23:01 +0000)]
Handle output sections with more than 0x7fffffff bytes.
* object.h (class Relobj): Change map_to_output_ to
output_sections_, and just keep a section pointer. Change all
uses. Move comdat group support to Sized_relobj.
(Relobj::is_section_specially_mapped): Remove.
(Relobj::output_section): Remove poff parameter. Change all
callers.
(Relobj::output_section_offset): New function.
(Relobj::set_section_offset): Rewrite.
(Relobj::map_to_output): Remove.
(Relobj::output_sections): New function.
(Relobj::do_output_section_offset): New pure virtual function.
(Relobj::do_set_section_offset): Likewise.
(class Sized_relobj): Add section_offsets_ field. Add comdat
group support from Relobj. Update declarations.
(Sized_relobj::get_output_section_offset): New function.
(Sized_relobj::do_output_section_offset): New function.
(Sized_relobj::do_set_section_offset): New function.
* object.cc (Relobj::output_section_address): Remove.
(Sized_relobj::Sized_relobj): Initialize new fields.
(Sized_relobj::include_section_group): Cast find_kept_object to
Sized_relobj.
(Sized_relobj::include_linkonce_section): Likewise.
(Sized_relobj::do_layout): Use separate arrays for output section
and output offset.
(Sized_relobj::do_count_local_symbols): Change map_to_output to
output_sections.
(Sized_relobj::do_finalize_local_symbols): Change map_to_output to
output_sections and section_offsets.
(Sized_relobj::write_local_symbols): Likewise.
(map_to_kept_section): Compute output address directly.
* reloc.cc (Sized_relobj::do_read_relocs): Change map_to_output to
output_sections and section_offsets.
(Sized_relobj::write_sections): Likewise.
(Sized_relobj::relocate_sections): Likewise.
* symtab.cc (sized_finalize_symbol): Use output_section_offset.
* output.h (class Output_reloc): Update declarations. Change
u2_.relobj to Sized_relobj*.
(class Output_data_reloc): Change add functions to use
Sized_relobj*.
* output.cc (Output_reloc::Output_reloc): Change relobj to
Sized_relobj*.
(Output_reloc::local_section_offset): Change return type to
Elf_Addr. Use get_output_section_offset.
(Output_reloc::get_address): Likewise.
(Output_section::is_input_address_mapped): Don't call
is_section_specially_mapped.
(Output_section::output_offset): Likewise.
(Output_section::output_address): Likewise.
(Output_section::starting_output_address): Likewise.
* copy-relocs.cc (Copy_relocs::copy_reloc): Change object
parameter to Sized_relobj*.
(Copy_relocs::need_copy_reloc): Likewise.
(Copy_relocs::save): Likewise.
* copy-relocs.h (class Copy_relocs): Update declarations.
(class Copy_relocs::Copy_reloc_entry): Change constructor to use
Sized_relobj*. Change relobj_ field to Sized_relobj*.
* target-reloc.h (relocate_for_relocatable): Change
offset_in_output_section type to Elf_Addr. Change code that uses
it as well.
* layout.cc (Layout::layout): Always set *off.
* mapfile.cc (Mapfile::print_input_section): Use
output_section_offset.
* i386.cc (Target_i386::copy_reloc): Change object parameter to
Sized_relobj*.
* powerpc.cc (Target_powerpc::copy_reloc): Likewise.
* sparc.cc (Target_sparc::copy_reloc): Likewise.
* x86_64.cc (Target_x86_64::copy_reloc): Likewise.
Pedro Alves [Thu, 10 Jul 2008 22:58:37 +0000 (22:58 +0000)]
Non-stop linux native.
* linux-nat.c (linux_test_for_tracefork): Block events while we're
here.
(get_pending_status): Implement non-stop mode.
(linux_nat_detach): Stop threads before detaching.
(linux_nat_resume): In non-stop mode, always resume only a single
PTID.
(linux_handle_extended_wait): On a clone event, in non-stop mode,
add new lwp to GDB's thread table, and mark as running, executing
and stopped appropriately.
(linux_nat_filter_event): Don't assume there are other running
threads when a thread exits.
(linux_nat_wait): Mark the main thread as running and executing.
In non-stop mode, don't stop all lwps.
(linux_nat_kill): Stop lwps before killing them.
(linux_nat_thread_alive): Use signal 0 to detect if a thread is
alive.
(send_sigint_callback): New.
(linux_nat_stop): New.
(linux_nat_add_target): Set to_stop to linux_nat_stop.
* linux-nat.h (thread_db_attach_lwp): Declare.
* linux-thread-db.c (thread_get_info_callback): Check for new
threads if we have none.
(thread_from_lwp, enable_thread_event): Set proc_handle.pid to the
stopped lwp. Check for new threads if we have none.
(thread_db_attach_lwp): New.
(thread_db_init): Set proc_handle.pid to inferior_ptid.
(check_event): Set proc_handle.pid to the stopped lwp.
(thread_db_find_new_threads): Set proc_handle.pid to any stopped
lwp available, bail out if there is none.
* linux-fork.c (linux_fork_killall): Use SIGKILL instead of
PTRACE_KILL.
Jan Kratochvil [Thu, 10 Jul 2008 20:16:27 +0000 (20:16 +0000)]
* gdb.base/randomize.exp: Remove dependency on tcl-8.4+.
Kevin Buettner [Thu, 10 Jul 2008 19:40:43 +0000 (19:40 +0000)]
* rs6000-tdep.c (ppc_displaced_step_fixup): Change type of
`current_pc' from CORE_ADDR to ULONGEST.
Kevin Buettner [Thu, 10 Jul 2008 19:34:00 +0000 (19:34 +0000)]
* remote-sim.c (gdbsim_cntrl_c): Pass remote_sim_ptid to
gdbsim_stop().
Richard Sandiford [Thu, 10 Jul 2008 19:06:54 +0000 (19:06 +0000)]
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Calculate GP and GP0
for all relocation types. Allow any type of relocation to refer to
__gnu_local_gp.
ld/testsuite/
* ld-mips-elf/no-shared-1-o32.s,
ld-mips-elf/no-shared-1-o32.d,
ld-mips-elf/no-shared-1-n32.d,
ld-mips-elf/no-shared-1-n64.s,
ld-mips-elf/no-shared-1-n64.d,
ld-mips-elf/no-shared-1.ld: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
Richard Sandiford [Thu, 10 Jul 2008 19:05:29 +0000 (19:05 +0000)]
include/elf/
* mips.h (ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): New macros.
bfd/
* elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16.
(mips_elf_calculate_relocation): Likewise.
(_bfd_mips_elf_add_symbol_hook): Likewise.
(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
opcodes/
* mips-dis.c (_print_insn_mips): Use ELF_ST_IS_MIPS16.
gas/
* config/tc-mips.c (mips16_mark_labels): Use ELF_ST_SET_MIPS16.
(mips_fix_adjustable): Likewise.
(mips_frob_file_after_relocs): Likewise.
gas/testsuite/
* gas/mips/mips16-vis-1.d, gas/mips/mips16-vis-1.s: New tests.
* gas/mips/mips.exp: Run them.
Doug Evans [Thu, 10 Jul 2008 16:44:47 +0000 (16:44 +0000)]
fix typo in "set debug timetstamp"
Andreas Schwab [Thu, 10 Jul 2008 16:24:03 +0000 (16:24 +0000)]
(_bfd_mips_elf_section_from_shdr): Add missing
paren.
Jan Kratochvil [Thu, 10 Jul 2008 09:31:00 +0000 (09:31 +0000)]
gdb/
* NEWS (New commands): Mention "set disable-randomization".
* configure.ac: Add check for HAVE_PERSONALITY and
HAVE_DECL_ADDR_NO_RANDOMIZE.
* configure, config.in: Regenerate.
* linux-nat.c [HAVE_PERSONALITY]: New include <sys/personality.h>.
[HAVE_PERSONALITY] [!HAVE_DECL_ADDR_NO_RANDOMIZE]: Set
ADDR_NO_RANDOMIZE.
(disable_randomization, show_disable_randomization)
(set_disable_randomization): New.
(linux_nat_create_inferior) [HAVE_PERSONALITY]: New variables
PERSONALITY_ORIG and PERSONALITY_SET. Disable randomization upon the
variable DISABLE_RANDOMIZATION.
(_initialize_linux_nat): Call ADD_SETSHOW_BOOLEAN_CMD for the variable
DISABLE_RANDOMIZATION.
gdb/doc/
* gdb.texinfo (Starting): Document "set disable-randomization".
gdb/testsuite/
* gdb.base/randomize.exp, gdb.base/randomize.c: New files.
Craig Silverstein [Thu, 10 Jul 2008 01:32:23 +0000 (01:32 +0000)]
bfd/
* Makefile.am (BFD32_LIBS): Add compress.lo.
(BFD32_LIBS_CFILES): Add compress.c.
(BFD_H_FILES): Likewise.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* config.in: Add HAVE_ZLIB_H
* configure.in: Add test for libz and zlib.h
* configure: Regenerate.
* dwarf2.c (read_section): New function.
(read_indirect_string): Call new function read_section.
(read_abbrevs): Likewise.
(decode_line_info): Likewise.
(read_debug_ranges): Likewise.
(find_line): Call new function read_section when just one
.zdebug_info section is found, otherwise read and compress
multiple sections.
(_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr.
* elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix.
(special_sections_z): New struct.
(special_sections): Refer to special_sections_z.
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize
sections named .zdebug_*.
(_bfd_mips_elf_fake_sections): Likewise.
* compress.c: New file.
(bfd_uncompress_section_contents): New function.
bfd/doc/
* Makefile.am (BFD_H_DEP): Add ../compress.c.
* Makefile.in: Regenerate.
binutils/
* config.in: Add HAVE_ZLIB_H
* configure.in: Add test for libz and zlib.h
* configure: Regenerate.
* dwarf.c (debug_displays): Add .zdebug_* strings.
* dwarf.h (struct dwarf_section): Add fields uncompressed_namd
and compressed_name.
* objdump.c (load_debug_section): Call
bfd_uncompress_section_contents when loading a compressed
section.
(dump_dwarf_section): Recognize compressed section name.
(mach_o_dwarf_sections): Rename as
mach_o_uncompressed_dwarf_sections.
(mach_o_compressed_dwarf_sections): New variable.
(generic_dwarf_section): Rename as
generic_uncompressed_dwarf_sections.
(generic_compressed_dwarf_sections): New variable.
(check_mach_o_dwarf): Save and restore
mach_o_compressed_dwarf_sections.
* readelf.c: Add #include for config.h and zlib.h
(process_section_headers): Recognize compressed section name.
(uncompress_section_contents): New function.
(load_debug_section): Call uncompress_section_contents when
loading a compressed section.
(display_debug_section): Recognize compressed section name.
binutils/testsuite:
* binutils-all/objdump.exp: Add test for objdump -s on a file
with a compressed debug section. Add test for objdump -W on a
file that contains a compressed debug section.
* binutils-all/readelf.exp: Call readelf_compressed_wa_test.
(readelf_compressed_wa_test): New function.
* binutils-all/dw2-compressed.S: New file.
* binutils-all/objdump.W: New file.
* binutils-all/objdump.s: New file.
* binutils-all/readelf.wa: New file.
Alan Modra [Thu, 10 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 10 Jul 2008 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Pedro Alves [Wed, 9 Jul 2008 22:49:56 +0000 (22:49 +0000)]
Adjust all targets to new target_stop interface.
* gnu-nat.c (gnu_stop): Add ptid argument.
* go32-nat.c (go32_stop): Add ptid argument.
(go32_create_inferior): Pass inferior_ptid to go32_stop.
* hpux-thread.c (hpux_thread_stop): Add ptid argument.
* monitor.c (monitor_stop): Add ptid argument.
(monitor_open): Pass inferior_ptid to monitor_stop.
(monitor_interrupt): Pass inferior_ptid to target_stop.
(monitor_stop): Add ptid argument.
* nto-procfs.c (nto_interrupt): Pass inferior_ptid to target_stop.
(procfs_create_inferior): Add ptid argument.
* procfs.c (procfs_stop): Add ptid argument.
* remote-m32r-sdi.c (m32r_stop): Add ptid argument.
* remote-sim.c (gdbsim_stop): Add ptid argument.
* sol-thread.c (sol_thread_stop): Add ptid argument.
* win32-nat.c (win32_stop): Add ptid argument.
Pedro Alves [Wed, 9 Jul 2008 22:42:43 +0000 (22:42 +0000)]
Non-stop inferior control.
* infrun.c (resume): In non-stop mode, always resume just one
thread.
(proceed): Don't call prepare_to_proceed in non-stop mode.
(fetch_inferior_event): In non-stop mode, switch context before
handling the event.
(error_is_running, ensure_not_running): New.
(handle_inferior_event): In non-stop mode: Mark only the event
thread as stopped. Require that the target module manages adding
threads to the thread list. Assert that there isn't a
deferred_step_ptid set. Don't switch to infwait_thread_hop_state.
(normal_stop): Only mark not-running if inferior hasn't exited.
In non-stop mode, only mark the event thread.
* thread.c:Include "cli/cli-decode.h".
(print_thread_info): Don't read from a running thread.
Output "(running)" if thread is running.
(switch_to_thread): Don't read stop_pc if thread is executing.
(do_restore_current_thread_cleanup): Don't write to a running
thread.
(thread_apply_all_command): Don't read from a running thread. In
non-stop mode, do a full context-switch instead of just switching
threads.
(thread_apply_command): In non-stop mode, do a full context-switch
instead of just switching threads.
(do_captured_thread_select): Likewise. Inform user if selected
thread is running.
(_initialize_thread): Mark "info threads" and "thread" and
async_ok.
* inf-loop.c (inferior_event_handler): In non-stop mode, don't
unregister the target from the event loop.
* infcmd.c (continue_command, step_1, jump_command)
(signal_command): Ensure the selected thread isn't running.
(interrupt_target_command): In non-stop mode, interrupt only the
selected thread.
* inferior.h (error_is_running, ensure_not_running): Declare.
* target.h (struct target_ops): Add ptid argument to the to_stop
member.
(target_stop): Add ptid_t argument.
* target.c (update_current_target): Add ptid argument to to_stop's
type.
(debug_to_stop): Add ptid_t argument.
(debug_to_rcmd): Set to_stop_ptid.
* remote.c (remote_stop): Add ptid_t argument.
(async_remote_interrupt): Add inferior_ptid to target_stop.
* inf-ptrace.c (inf_ptrace_stop): Add ptid argument.
* Makefile.in (thread.o): Depend on $(cli_decode_h).
Pedro Alves [Wed, 9 Jul 2008 22:36:51 +0000 (22:36 +0000)]
Don't rely on ecs->wait_for_more.
* infrun.c (proceed): Clear the stepping state, set
previous_inferior_ptid and clear infwait state.
(wait_for_inferior): Don't clear the stepping state, set
previous_inferior_ptid, or clear the infwait state here.
(fetch_inferior_event): Don't clear the stepping state, set
previous_inferior_ptid, or clear the infwait state here. Don't
condition on wait_for_more.
Pedro Alves [Wed, 9 Jul 2008 22:33:16 +0000 (22:33 +0000)]
Refactor infrun a bit.
* infrun.c (currently_stepping): Take a struct
thread_stepping_state instead of an execution_control_state.
(struct thread_stepping_state): New, split from
execution_control_state.
(gtss, tss): New globals.
(proceed): Clear the stepping state, set previous_inferior_ptid
and clear infwait state.
(init_wait_for_inferior): Clear the stepping state,
previous_inferior_ptid and infwait state.
(waiton_ptid, infwait_state): New, split from
execution_control_state.
(struct execution_control_state): Members that persist through
events moved out to either struct thred_stepping_state or made
global. Deleted unneeded wp, saved_inferior_ptid, tmpstatus.
(wait_for_inferior, fetch_inferior_event): Use local
execution_control_state. Update to execution_control_state split.
(init_execution_control_state): Adjust.
(init_thread_stepping_state): New, extracted from
init_execution_control_state.
(context_switch): Take a ptid instead of an
execution_control_state.
(context_switch_to): Adjust.
(adjust_pc_after_break): Adjust.
(init_infwait_state): New.
(handle_inferior_event): Adjust.
Pedro Alves [Wed, 9 Jul 2008 22:30:46 +0000 (22:30 +0000)]
Per-thread commands.
* gdbthread.h: Remove unneeded forward declarations.
Include "inferior.h".
(struct thread_info): Add continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi and stop_signal members.
(save_infrun_state): Add continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat parameters.
(load_infrun_state): Add continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat parameters.
* thread.c (load_infrun_state): In non-stop mode, load
continuations, intermediate_continuations, proceed_to_finish,
step_over_calls, stop_step, step_multi and stop_signal.
(save_infrun_state): Store continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat.
(save_infrun_state): Store continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat.
(free_thread): Clear The thread's stop_bpstat.
* inferior.h (context_switch_to): Declare.
* infrun.c (ecss): New global.
(context_switch): Context switch continuations,
intermediate_continuations, proceed_to_finish, step_over_calls,
stop_step, step_multi, stop_signal and stop_bpstat.
(wait_for_inferior): Use global ecss.
(async_ecss, async_ecs): Delete.
(fetch_inferior_event): Use global ecss.
(context_switch_to): New.
* top.c (execute_command): In non-stop, only check if the current
thread is running, in all-stop, check if there's any thread
running.
* breakpoint.c (bpstat_remove_breakpoint): New.
(bpstat_remove_breakpoint_callback): New.
(delete_breakpoint): Clear the stop_bpstats of all threads.
* mi/mi-main.c (mi_cmd_execute): In non-stop, only check if the
current thread is running, in all-stop, check if there's any
thread running.
* Makefile.in (gdbthread_h): Depend on $(inferior_h).
Pedro Alves [Wed, 9 Jul 2008 22:27:13 +0000 (22:27 +0000)]
Add non_stop global.
* inferior.h (non_stop): Declare.
* infrun.c (non_stop, non_stop_1): New.
(set_non_stop, show_non_stop): New.
(_initialize_infrun): Add "set/show non-stop" command.
Pedro Alves [Wed, 9 Jul 2008 22:23:05 +0000 (22:23 +0000)]
Adjust fork/vfork/exec to pass ptids around.
* target.h (struct target_waitstatus): Store related_pid as a ptid.
(inferior_has_forked, inferior_has_vforked, inferior_has_execd):
Take a ptid_t.
* breakpoint.h (struct breakpoint): Change forked_inferior_pid
type to ptid.
* breakpoint.c (print_it_typical, bpstat_check_location)
(print_one_breakpoint_location, set_raw_breakpoint_without_location)
(create_fork_vfork_event_catchpoint): Adjust.
* infrun.c (fork_event): Change parent_pid and child_pid types to
ptid.
(follow_exec, inferior_has_forked, inferior_has_vforked)
(inferior_has_execd): Take a ptid_t and don't trim it.
* linux-thread-db.c (thread_db_wait): Don't trim the returned ptid.
* linux-nat.c (linux_child_follow_fork): Adjust.
* inf-ptrace.c (inf_ptrace_wait): Adjust.
* inf-ttrace.c (inf_ttrace_wait): Adjust.
* win32-nat.c (get_win32_debug_event): Don't set related_pid.
Pedro Alves [Wed, 9 Jul 2008 22:16:15 +0000 (22:16 +0000)]
Add "executing" property to threads.
* inferior.h (target_executing): Delete.
* gdbthread.h (struct thread_info): Add executing_ field.
(set_executing, is_executing): New.
* thread.c (main_thread_executing): New.
(init_thread_list): Clear it and also main_thread_running.
(is_running): Return false if target has no execution.
(any_running, is_executing, set_executing): New.
* top.c: Include "gdbthread.h".
(target_executing): Delete.
(execute_command): Replace target_executing check by any_running.
* event-top.c: Include "gdbthread.h".
(display_gdb_prompt, command_handler): Replace target_executing by
is_running.
* inf-loop.c: Include "gdbthread.h". Don't mark as not executing
here. Replace target_executing by is_running.
* infrun.c (handle_inferior_event): Mark all threads as
not-executing.
* linux-nat.c (linux_nat_resume): Don't mark thread as executing
here.
* stack.c (get_selected_block): Return null if inferior is
executing.
* target.c (target_resume): Mark resumed ptid as executing.
* breakpoint.c (until_break_command): Replace target_executing
check by is_executing.
* remote.c (remote_async_resume): Don't mark inferior as executing
here.
* mi/mi-interp.c (mi_cmd_interpreter_exec): Replace target_executing
by any_running.
* mi/mi-main.c (mi_cmd_exec_interrupt, mi_cmd_execute)
(mi_execute_async_cli_command): Replace target_executing by
is_running.
* frame.c (get_current_frame): Error out if the current thread is
executing.
(has_stack_frames): New.
(get_selected_frame, deprecated_safe_get_selected_frame): Check
has_stack_frames.
* Makefile.in (event-top.o, frame.o, inf-loop.o, top.o): Depend on
$(gdbthread_h).
Pedro Alves [Wed, 9 Jul 2008 11:16:49 +0000 (11:16 +0000)]
gdb/
2008-07-09 Pedro Alves <pedro@codesourcery.com>
* symfile.c (load_command): Reopen the exec file and reread
symbols before anything else.
gdb/testsuite/
2008-07-09 Pedro Alves <pedro@codesourcery.com>
* gdb.base/chng-syms.exp: Don't expect "No symbol ...".
Pedro Alves [Wed, 9 Jul 2008 11:02:56 +0000 (11:02 +0000)]
* remote-sim.c: Include gdbthread.h.
(remote_sim_ptid): New global.
(gdbsim_create_inferior): Silently add the main task to GDB's
thread list.
(gdbsim_close, gdbsim_mourn_inferior): Silently delete the main
task from GDB's thread list.
(gdbsim_resume): Adjust to use remote_sim_ptid.
(gdbsim_thread_alive, gdbsim_pid_to_str): New.
(init_gdbsim_ops): Register gdbsim_thread_alive and
gdbsim_pid_to_str.
(_initialize_remote_sim): Initialize remote_sim_ptid.
* Makefile.in (remote-sim.o): Depend on $(gdbthread_h).
Pedro Alves [Wed, 9 Jul 2008 10:58:41 +0000 (10:58 +0000)]
* monitor (monitor_ptid): New global.
(monitor_open): Silently add the main task to GDB's thread list.
(monitor_close, monitor_mourn_inferior): Silently delete the main
task from GDB's thread list.
(monitor_thread_alive, monitor_pid_to_str): New.
(init_base_monitor_ops): Register monitor_thread_alive and
monitor_pid_to_str.
(_initialize_remote_monitors): Initialize monitor_ptid.
* gdbthread.h (delete_thread_silent): Declare.
* thread.c (delete_thread): Rename to ...
(delete_thread_1): ... this. Add "silent" parameter. If silent,
don't do exit notifications.
(delete_thread, delete_thread_silent): New, as wrappers to
delete_thread_1.
Pedro Alves [Wed, 9 Jul 2008 10:50:52 +0000 (10:50 +0000)]
* gdb.base/fullname.exp: Restore pwd if compiling failed.
Kai Tietz [Wed, 9 Jul 2008 10:28:12 +0000 (10:28 +0000)]
2008-07-09 Kai Tietz <kai.tietz@onevision.com>
* gas/i386/i386.exp (x86-64-pcrel): Disable for w64.
(x86-64-sse5): Likewise.
(x86-64-opcode-inval): Likewise.
(x86-64-opcode-inval-intel): Likewise.
(x86-64-w64-pcrel): New.
* gas/i386/x86-64-w64-pcrel.d: New.