Commit graph

58508 commits

Author SHA1 Message Date
Markus Deuling
74ed0bb414 * 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.
2008-07-14 11:25:12 +00:00
Jie Zhang
a929810277 * 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.
2008-07-14 03:54:27 +00:00
H.J. Lu
6fa087861d Mention "PR ld/6741" in ChangeLog. 2008-07-14 01:22:23 +00:00
H.J. Lu
08b78292ee Mention "PR binutils/6743" in ChangeLog. 2008-07-14 01:20:48 +00:00
Craig Silverstein
aaf30c25fb 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.
2008-07-14 00:10:09 +00:00
gdbadmin
ac3d490a1a *** empty log message *** 2008-07-14 00:00:33 +00:00
Alan Modra
7f52f6a6ca daily update 2008-07-14 00:00:04 +00:00
Pedro Alves
0c50153633 * thread.c (restore_selected_frame): On fail to restore, select
the innermost frame, and don't crash when warning the user.
2008-07-13 19:25:58 +00:00
Joel Brobecker
db009c8a0a * symtab.c (expand_line_sal): Fix a memory leak. 2008-07-13 16:58:20 +00:00
Jan Kratochvil
b432ffe3e2 * gdb.base/randomize.exp: Catch non-Linux targets as untested. 2008-07-13 14:56:02 +00:00
Pedro Alves
0ffe501282 * 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.
2008-07-13 11:28:31 +00:00
Vladimir Prus
dbba82516a 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.
2008-07-13 05:31:44 +00:00
Vladimir Prus
e3d6cd5f43 Enable all MI commands while inferiour is running
* mi/mi-main.c (mi_cmd_execute): Don't check if
        inferiour is executing.
2008-07-13 04:13:50 +00:00
Vladimir Prus
b10a37b10a Allow all CLI command even if target is executing.
* gdb/top.c (execute_command_1): Don't check if the inferiour
        is running.
2008-07-13 04:09:47 +00:00
Vladimir Prus
ea06926780 * mi/mi-main.c (mi_cmd_execute): Remove unused variable.
Fix printing of frame, when frame is wrong.
2008-07-13 03:59:28 +00:00
gdbadmin
bbabb60fd8 *** empty log message *** 2008-07-13 00:00:33 +00:00
Alan Modra
5fa56f1b52 daily update 2008-07-13 00:00:04 +00:00
Ulrich Weigand
cdc9523a4d * spu-tdep.c (spu_frame_unwind_cache): Do not error if
backchain is unreadable.
2008-07-12 22:42:52 +00:00
Ulrich Weigand
836acd6d9a * linux-low.c (handle_extended_wait): Do not use "status"
variable uninitialized.
2008-07-12 22:22:42 +00:00
Ulrich Weigand
d5b254911b * 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.
2008-07-12 22:16:34 +00:00
Craig Silverstein
4474d12b51 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.
2008-07-12 21:36:53 +00:00
Pedro Alves
604ead4a92 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.
2008-07-12 19:25:42 +00:00
Pedro Alves
bfec99b27c 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".
2008-07-12 19:07:38 +00:00
Pedro Alves
2afb61aa0b 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.
2008-07-12 18:39:10 +00:00
Vladimir Prus
77ebaa5ad3 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.
2008-07-12 17:10:59 +00:00
Vladimir Prus
1e92afda99 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.
2008-07-12 16:37:57 +00:00
Vladimir Prus
d56b7306e3 * infrun.c (resume): Discard cleanups on early exit path. 2008-07-12 13:42:54 +00:00
Vladimir Prus
b1a268e5b4 * infrun.c (normal_stop): For MI, report which threads
were stopped.
2008-07-12 12:41:56 +00:00
Vladimir Prus
90139f7d5a Report thread state in -thread-info output.
* thread.c (print_thread_info): Add new field "state".
2008-07-12 12:34:19 +00:00
Jie Zhang
1bac266e85 Revert my last change since it has not been approved. 2008-07-12 08:54:13 +00:00
gdbadmin
26bc3f44e8 *** empty log message *** 2008-07-12 00:00:33 +00:00
Alan Modra
3a3af82797 daily update 2008-07-12 00:00:04 +00:00
Kevin Buettner
e2995f8ea0 * 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.
2008-07-11 21:57:24 +00:00
Jie Zhang
8c68457827 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.
2008-07-11 19:24:39 +00:00
Pedro Alves
a0d21d2808 * infrun.c (handle_inferior_event): Also ignore a
TARGET_SIGNAL_TRAP on a STOP_QUIETLY_NO_SIGSTOP.
2008-07-11 17:46:40 +00:00
H.J. Lu
851b0ff7c6 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.
2008-07-11 17:19:00 +00:00
Tom Tromey
14032a66f1 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.
2008-07-11 15:07:52 +00:00
Pedro Alves
65fc9b7721 * thread.c (thread_apply_command): Move making the cleanup out of
the loop.
2008-07-11 11:26:39 +00:00
Joseph Myers
c5e38e547e * mh-mingw (LDFLAGS): Append to rather than replacing previous
value.
2008-07-11 11:15:59 +00:00
Pedro Alves
4f8d22e3b4 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).
2008-07-11 11:07:39 +00:00
Pedro Alves
8cae4b3f0b 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.
2008-07-11 10:59:21 +00:00
Hans-Peter Nilsson
5589e138d6 * binutils-all/objdump.W: Generalize to adjust for targets with
non-byte-size instructions.
2008-07-11 10:47:29 +00:00
Andreas Schwab
3076cd1fd4 (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.
2008-07-11 09:18:19 +00:00
Hans-Peter Nilsson
ecdfd00481 * common.m4: Add test for libz and zlib.h. 2008-07-11 02:42:35 +00:00
Hans-Peter Nilsson
b5bd96244f * configure: Regenerate to track ../common/common.m4 changes.
* config.in: Ditto.
2008-07-11 02:41:22 +00:00
Hans-Peter Nilsson
35689115d0 * configure.ac: Add test for libz and zlib.h.
* Makefile.in (LIBS): Set from @LIBS@.
	* configure: Regenerate.
	* config.in: Ditto.
2008-07-11 02:39:11 +00:00
Hans-Peter Nilsson
8929c18caa * cris/configure: Regenerate to track ../common/common.m4 changes.
* cris/config.in: Ditto.
2008-07-11 02:32:33 +00:00
Hans-Peter Nilsson
79e1e45978 * common.m4: Add test for libz and zlib.h.
* configure: Regenerate to track ../common/common.m4 changes.
	* config.in: Ditto.
2008-07-11 02:31:04 +00:00
Hans-Peter Nilsson
35e497c8ac * interp.c (hash): Remove incorrect prototype. 2008-07-11 01:32:00 +00:00
gdbadmin
e4fba69761 *** empty log message *** 2008-07-11 00:00:34 +00:00