Commit graph

22765 commits

Author SHA1 Message Date
Thiago Jung Bauermann
938f5214c6 2008-05-03 Luis Machado <luisgpm@br.ibm.com>
Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* cli/cli-decode.c (lookup_cmd_1): Fix indentation.
	* doublest.c (convert_typed_floating): Fix typo in comment.
	* dwarf2-frame.c (dwarf2_frame_cache): Likewise.
	* frame-unwind.h (frame_sniffer_ftype): Likewise.
	* frame.c (frame_unwind_address_in_block): Likewise.
	* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise.
	* symtab.h (struct symbol): Likewise.
	* tramp-frame.h (struct trad_frame_cache): Likewise.
	* value.c (allocate_repeat_value): Likewise.
2008-05-03 23:24:17 +00:00
Ulrich Weigand
0b02b92d05 * infrun.c (handle_inferior_event): Do not insert breakpoints at
TARGET_WAITKIND_LOADED events during startup (i.e. in the shell).
2008-05-03 23:18:23 +00:00
Pedro Alves
d705c43c5a gdb/
* parse.c (parse_exp_in_context): Don't override
	expression_context_pc if get_selected_block returned a valid
	block.

	gdb/testsuite/
	* gdb.base/macscp.exp, gdb.base/macscp1.c: Add test for printing
	expressions with macros.
2008-05-03 22:30:51 +00:00
Daniel Jacobowitz
d6350901aa * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete.
* arm-tdep.h (STATUS_REGISTER_SIZE): Delete.
	* breakpoint.c (args_for_catchpoint_enable, current_exception_event):
	Delete.
	* c-typeprint.c (c_type_print_base): Delete handling of template
	instantiations.
	* cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET)
	(METHOD_PTR_TO_VOFFSET): Delete.
	* defs.h (QUIT_FIXME): Delete.
	* f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77)
	(DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete.
	* gdbtypes.h (struct cplus_struct_type): Delete is_inlined,
	ninstantiations, and instantiations.
	(TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION)
	(TYPE_FN_FIELD_INLINED): Delete.
	* srec.h (SREC_BINARY): Delete.
	* symtab.c (symbol_init_demangled_name): Delete.
	* symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name)
	(SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND)
	(CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE)
	(CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC)
	(CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE)
	(CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete.
	* target.h (enum thread_control_capabilities): Delete tc_switch.
	(target_can_switch_threads): Delete.
2008-05-03 22:20:13 +00:00
Jan Kratochvil
333222e127 * gdb.base/dfp-test.exp: Fix random FAIL risk on calling functions. 2008-05-03 21:56:38 +00:00
Daniel Jacobowitz
30510692eb * Makefile.in (objfiles.o): Update.
* exec.c (exec_set_section_address): Support p->addr != 0.
	* objfiles.c (objfile_relocate): Update exec_ops section
	addresses.
	* symfile.c (place_section): Move exec_set_section_address call...
	(default_symfile_offsets): ...to here.
2008-05-03 18:04:02 +00:00
Ulrich Weigand
7284e1bed8 ChangeLog:
* Makefile.in (ppc_linux_tdep_h): New macro.
	(powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise.
	(powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise.
	(powerpc_e500l_c): Likewise.
	(ppc-linux-nat.o): Update dependencies.
	(ppc-linux-tdep.o): Update dependencies.
	(rs6000-tdep.o): Update dependencies.

	* ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove.
	(ppc_linux_svr4_fetch_link_map_offsets): Remove.
	(ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h
	(ppc_supply_reg, ppc_collect_reg): Add prototypes.
	(tdesc_powerpc_e500): Remove.

	* rs6000.c: Include "features/rs6000/powerpc-altivec32.c"
	and "features/rs6000/powerpc-altivec64.c".
	(ppc_supply_reg, ppc_collect_reg): Make global.
	(variants): Use tdesc_powerpc_32 for "powerpc" and
	tdesc_powerpc_altivec64 for "powerpc64".
	(_initialize_rs6000_tdep): Initialize AltiVec descriptions.

	* ppc-linux-tdep.h: New file.

	* ppc-linux-tdep.c: Include "ppc-linux-tdep.c".
	Include "features/rs6000/powerpc-32l.c".
	Include "features/rs6000/powerpc-altivec32l.c".
	Include "features/rs6000/powerpc-64l.c".
	Include "features/rs6000/powerpc-altivec64l.c".
	Include "features/rs6000/powerpc-e500l.c".
	(ppc_linux_supply_gregset): New function.
	(ppc_linux_collect_gregset): Handle orig_r3 and trap registers.
	(ppc32_linux_gregset): Use ppc_linux_supply_gregset.
	(ppc64_linux_gregset): Likewise.
	(ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers.
	(ppc_linux_trap_reg_p): New function.
	(ppc_linux_write_pc): New function.
	(ppc_linux_core_read_description): New function.
	(ppc_linux_init_abi): Install ppc_linux_write_pc and
	ppc_linux_core_read_description.  Install orig_r3 and trap
	registers if present in the target description.
	(_initialize_ppc_linux_tdep): Initialize Linux target descriptions.

	* ppc-linux-nat.c: Include "ppc-linux-tdep.h".
	(PT_ORIG_R3, PT_TRAP): Define if necessary.
	(ppc_register_u_addr): Handle orig_r3 and trap registers.
	(fetch_ppc_registers): Likewise.
	(store_ppc_registers): Likewise.
	(store_register): Likewise.
	(ppc_linux_read_description): Check whether AltiVec is supported.
	Check whether inferior is 32-bit or 64-bit.  Return the appropriate
	Linux target description.

	* features/Makefile (WHICH): Use rs6000/powerpc-32l and
	rs6000/powerpc-altivec32l instead of rs6000/powerpc-32.
	Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead
	of rs6000/powerpc-64.  Use rs6000/powerpc-e500l instead of
	rs6000/powerpc-e500.  Update -expedite variables accordingly.

	* features/rs6000/power-spe.xml: Use regnum 73 for "acc".
	* features/rs6000/powerpc-32.xml: Do not include power-altivec.xml.
	* features/rs6000/powerpc-64.xml: Do not include power-altivec.xml.
	* features/rs6000/powerpc-e500.c: Regenerate.
	* features/rs6000/powerpc-32.c: Regenerate.
	* features/rs6000/powerpc-64.c: Regenerate.

	* features/rs6000/power-linux.xml: New file.
	* features/rs6000/power64-linux.xml: New file.
	* features/rs6000/powerpc-32l.xml: New file.
	* features/rs6000/powerpc-altivec32l.xml: New file.
	* features/rs6000/powerpc-64l.xml: New file.
	* features/rs6000/powerpc-altivec64l.xml: New file.
	* features/rs6000/powerpc-e500l.xml: New file.
	* features/rs6000/powerpc-32l.c: New (generated) file.
	* features/rs6000/powerpc-altivec32l.c: New (generated) file.
	* features/rs6000/powerpc-64l.c: New (generated) file.
	* features/rs6000/powerpc-altivec64l.c: New (generated) file.
	* features/rs6000/powerpc-e500l.xml: New (generated) file.

	* regformats/reg-ppc.dat: Remove.
	* regformats/reg-ppc64.dat: Remove.
	* regformats/rs6000/powerpc-32.dat: Remove.
	* regformats/rs6000/powerpc-64.dat: Remove.
	* regformats/rs6000/powerpc-e500.dat: Remove.
	* regformats/rs6000/powerpc-32l.dat: New (generated) file.
	* regformats/rs6000/powerpc-altivec32l.dat: New (generated) file.
	* regformats/rs6000/powerpc-64l.dat: New (generated) file.
	* regformats/rs6000/powerpc-altivec64l.dat: New (generated) file.
	* regformats/rs6000/powerpc-e500l.dat: New (generated) file.

gdbserver/ChangeLog:

	* configure.srv (powerpc*-*-linux*): Set srv_regobj to
	powerpc-32l.o, powerpc-altivec32l.o, powerpc-e500l.o,
	powerpc-64l.o, and powerpc-altivec64l.o.
	Remove rs6000/powerpc-32.xml, rs6000/powerpc-64.xml, and
	rs6000/powerpc-e500.xml; add rs6000/powerpc-32l.xml,
	rs6000/powerpc-altivec32l.xml, rs6000/powerpc-e500l.xml,
	rs6000/powerpc-64l.xml, rs6000/powerpc-altivec64l.xml,
	rs6000/power-linux.xml, and rs6000/power64-linux.xml
	to srv_xmlfiles.

	* Makefile.in (reg-ppc.o, reg-ppc.c): Remove, replace by ...
	(powerpc-32l.o, powerpc-32l.c): ... these new rules.
	(powerpc-32.o, powerpc-32.c): Remove, replace by ...
	(powerpc-altivec32l.o, powerpc-altivec32l.c): ... these new rules.
	(powerpc-e500.o, powerpc-e500.c): Remove, replace by ...
	(powerpc-e500l.o, powerpc-e500l.c): ... these new rules.
	(reg-ppc64.o, reg-ppc64.c): Remove, replace by ...
	(powerpc-64l.o, powerpc-64l.c): ... these new rules.
	(powerpc-64.o, powerpc-64.c): Remove, replace by ...
	(powerpc-altivec64l.o, powerpc-altivec64l.c): ... these new rules.
	(clean): Update.

	* linux-ppc-low.c (init_registers_ppc): Remove, replace by ...
	(init_registers_powerpc_32l): ... this new prototype.
	(init_registers_powerpc_32): Remove, replace by ...
	(init_registers_powerpc_altivec32l): ... this new prototype.
	(init_registers_powerpc_e500): Remove, replace by ...
	(init_registers_powerpc_e500l): ... this new prototype.
	(init_registers_ppc64): Remove, replace by ...
	(init_registers_powerpc_64l): ... this new prototype.
	(init_registers_powerpc_64): Remove, replace by ...
	(init_registers_powerpc_altivec64l): ... this new prototype.
	(ppc_num_regs): Set to 73.
	(PT_ORIG_R3, PT_TRAP): Define if necessary.
	(ppc_regmap, ppc_regmap_e500): Add values for orig_r3 and trap.
	(ppc_cannot_store_register): Handle orig_r3 and trap.
	(ppc_arch_setup): Update init_registers_... calls.
	(ppc_fill_gregset): Handle orig_r3 and trap.

	* inferiors.c (clear_inferiors): Reset current_inferior.
2008-05-03 17:16:44 +00:00
Vladimir Prus
82f68b1c00 * gdb.texinfo (GDB/MI Output Records):
Document =thread-create and =thread-exited.
2008-05-03 15:40:12 +00:00
Vladimir Prus
fa0f268daf * gdb.texinfo (GDB/MI Development and Front Ends):
Document *thread-created and *thread-exited.
2008-05-03 15:36:24 +00:00
Vladimir Prus
063bfe2e12 2008-05-03 Pedro Alves <pedro@codesourcery.com>
* thread.c (delete_thread): Call observer_notify_thread_exit.
        * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as
        thread_exit observer.
        (mi_thread_exit): New.
2008-05-03 15:10:42 +00:00
Thiago Jung Bauermann
f132ba9d37 * breakpoint.c (create_exception_catchpoint): Remove prototype
for already deleted function.
	* breakpoint.h (ep_is_exception_catchpoint): Likewise.
	* frame.h (show_stack_frame): Remove prototype.
	* stack.c (show_stack_frame): Remove empty, unused function.
	* source.c (symtab_to_fullname, print_source_lines): Small fix
	in comment.
	* value.c (show_values): Update comments to mention "show values"
	command instead of "info history".
2008-05-03 06:13:21 +00:00
Ulrich Weigand
bccdca4a5f * linespec.c: Include "target.h".
(minsym_found): Handle minimal symbols pointing to function
	descriptors.  Use find_function_start_pc.
	* minsyms.c (msymbol_objfile): New function.
	* parse.c (write_exp_msymbol): Handle minimal symbols pointing
	to function descriptors.
	* symtab.c (fixup_section): Only use minimal symbol at the same
	address to determine section of a symbol.
	(find_function_start_pc): New function.
	(find_function_start_sal): Use it.
	* symtab.h (msymbol_objfile): Add prototype.
	(find_function_start_pc): Likewise.
	* value.c: Include "objfiles.h".
	(value_fn_field): Handle minimal symbols pointing to function
	descriptors.
	* Makefile.in (linespec.o): Update dependencies.
	(value.o): Likewise.
2008-05-03 00:37:35 +00:00
gdbadmin
0315afbc1d *** empty log message *** 2008-05-03 00:00:35 +00:00
Joel Brobecker
de4d072f96 * ada-lang.c (unwrap_value): Handle the case where the "F" field
inside a PAD type is a bitfield.
2008-05-02 23:41:40 +00:00
Ulrich Weigand
93d4208d62 * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle
TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT.
	Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
	Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC.
	Allow typedefs when checking for function pointer arguments.
	Right-align small structs passed on the stack.
	(ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and
	TYPE_CODE_CHAR the same as TYPE_CODE_INT.
	Handle TYPE_CODE_REF the same as TYPE_CODE_PTR.
2008-05-02 23:24:44 +00:00
Daniel Jacobowitz
60c5725ca9 * Makefile.in (arm-tdep.o): Update.
* arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol)
	(struct arm_per_objfile, arm_compare_mapping_symbols): New.
	(arm_pc_is_thumb): Use mapping symbols.
	(arm_objfile_data_cleanup, arm_record_special_symbol): New.
	(arm_gdbarch_init): Call set_gdbarch_record_special_symbol.
	(_initialize_arm_tdep): Initialize arm_objfile_data_key.
	* elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol.
	* gdbarch.sh: Add record_special_symbol.
	* gdbarch.c, gdbarch.h: Regenerated.
	* objfiles.c (struct objfile_data): Add cleanup member.
	(register_objfile_data_with_cleanup): New function, from
	register_objfile_data.
	(register_objfile_data): Use it.
	(objfile_free_data): Call clear_objfile_data.
	(clear_objfile_data): Call cleanup functions.
	* objfiles.h (register_objfile_data_with_cleanup): Declare.
2008-05-02 20:38:16 +00:00
Daniel Jacobowitz
574dffa2b9 * objfiles.c (init_entry_point_info): Handle shared libraries. 2008-05-02 20:35:39 +00:00
Daniel Jacobowitz
5ac016828d * gdb.base/completion.exp: Handle lack of other symbols beginning
with "a".

	* gdb.base/varargs.exp: Correct quoting for options to gdb_compile.
2008-05-02 20:30:49 +00:00
Daniel Jacobowitz
2c40449048 * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to
lowest_pc.
2008-05-02 17:24:50 +00:00
Pedro Alves
237fc4c9cd Implement displaced stepping.
gdb/
	* gdbarch.sh (max_insn_length): New 'variable'.
	(displaced_step_copy, displaced_step_fixup)
	(displaced_step_free_closure, displaced_step_location): New
	functions.
	(struct displaced_step_closure): Add forward declaration.
	* gdbarch.c, gdbarch.h: Regenerated.

	* arch-utils.c: #include "objfiles.h".
	(simple_displaced_step_copy_insn)
	(simple_displaced_step_free_closure)
	(displaced_step_at_entry_point): New functions.
	* arch-utils.h (simple_displaced_step_copy_insn)
	(simple_displaced_step_free_closure)
	(displaced_step_at_entry_point): New prototypes.

	* i386-tdep.c (I386_MAX_INSN_LEN): Rename to...
	(I386_MAX_MATCHED_INSN_LEN): ... this.
	(i386_absolute_jmp_p, i386_absolute_call_p)
	(i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p)
	(i386_displaced_step_fixup): New functions.
	(struct i386_insn, i386_match_insn): Update.
	(i386_gdbarch_init): Set gdbarch_max_insn_length.
	* i386-tdep.h (I386_MAX_INSN_LEN): New.
	(i386_displaced_step_fixup): New prototype.
	* i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h".
	Register gdbarch_displaced_step_copy,
	gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure,
	and gdbarch_displaced_step_location functions.

	* infrun.c (debug_displaced): New variable.
	(show_debug_displaced): New function.
	(struct displaced_step_request): New struct.
	(displaced_step_request_queue, displaced_step_ptid)
	(displaced_step_gdbarch, displaced_step_closure)
	(displaced_step_original, displaced_step_copy)
	(displaced_step_saved_copy, can_use_displaced_stepping): New
	variables.
	(show_can_use_displaced_stepping, use_displaced_stepping)
	(displaced_step_clear, cleanup_displaced_step_closure)
	(displaced_step_dump_bytes, displaced_step_prepare)
	(displaced_step_clear_cleanup, write_memory_ptid)
	(displaced_step_fixup): New functions.
	(resume): Call displaced_step_prepare.
	(proceed): Call read_pc once, and remember the value.  If using
	displaced stepping, don't remove breakpoints.
	(handle_inferior_event): Call displaced_step_fixup.  Add some
	debugging output.  When we try to step over a breakpoint, but get
	a signal to deliver to the thread instead, ensure the step-resume
	breakpoint is actually inserted.  If a thread hop is needed, and
	displaced stepping is enabled, don't remove breakpoints.
	(init_wait_for_inferior): Call displaced_step_clear.
	(_initialize_infrun): Add "set debug displaced" command.  Add
	"maint set can-use-displaced-stepping" command.  Clear
	displaced_step_ptid.
	* inferior.h (debug_displaced): Declare variable.
	(displaced_step_dump_bytes): Declare function.

	* Makefile.in (arch-utils.o, i386-linux-tdep.o): Update
	dependencies.

	gdb/testsuite/
	* gdb.asm/asmsrc1.s: Add scratch space.

	gdb/doc/
	* gdb.texinfo (Debugging Output): Document "set/show debug
	displaced".
	(Maintenance Commands): Document "maint set/show
	can-use-displaced-stepping".
2008-05-02 16:49:54 +00:00
Daniel Jacobowitz
0428b8f567 * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string)
(arm_force_mode_string, arm_show_fallback_mode)
	(arm_show_force_mode): New.
	(arm_pc_is_thumb): Honor fallback-mode and force-mode.  Use
	arm_frame_is_thumb.
	(_initialize_arm_tdep): Add "set arm fallback-mode"
	and "set arm force-mode".
	* NEWS: Document new commands.

	* gdb.texinfo (ARM): Document set/show arm fallback-mode
	and set/show arm force-mode.
2008-05-02 16:00:36 +00:00
Andrew Stubbs
d01a8610c3 2008-05-02 Andrew Stubbs <andrew.stubbs@st.com>
* main.h (batch_silent): Declare.
	* event-top.c: Include main.h.
	(gdb_setup_readline): Remove extern batch_silent declaration.
	* infrun.c (normal_stop): Don't print source location when running in
	--batch-silent mode.
	* Makefile.in (event-top.o): Add main.h dependency.
2008-05-02 13:58:38 +00:00
Andreas Schwab
5009afc5ba * target.h (struct target_ops): Add
to_watchpoint_addr_within_range.
(target_watchpoint_addr_within_range): New function.
* target.c (update_current_target): Inherit
to_watchpoint_addr_within_range, defaulting to
default_watchpoint_addr_within_range.
(default_watchpoint_addr_within_range): New function.
(debug_to_watchpoint_addr_within_range): New function.
(setup_target_debug): Set to_watchpoint_addr_within_range.
* ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range):
New function.
(_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range.
* breakpoint.c (watchpoints_triggered): Use
target_watchpoint_addr_within_range.

* gdbint.texinfo (Algorithms): Describe
target_watchpoint_addr_within_range.
2008-05-02 11:07:25 +00:00
gdbadmin
016bda7a10 *** empty log message *** 2008-05-02 00:00:03 +00:00
Pedro Alves
a15c5c831a * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*.
(i[34567]86-*-dicos*, x86_64-*-dicos*):
	Set gdb_osabi to GDB_OSABI_DICOS.

	* defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS.
	* osabi.c (gdb_osabi_name): Add "DICOS".

	* i386-dicos-tdep.c: New file.

	* Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o.
	(ALLDEPFILES): Add i386-dicos-tdep.c.
	(i386-dicos-tdep.o): New rule.
2008-05-01 23:09:14 +00:00
Pedro Alves
728c8f5867 * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list
and register the fork's PTID as a thread.
2008-05-01 22:48:49 +00:00
Aleksandar Ristovski
604133b5c5 PR gdb/1665
* breakpoint.c (create_breakpoint): Add breakpoint_ops argument and
	assign its value to the breakpoint created.
	(create_breakpoints): Add breakpoint_ops argument and pass it
	to create_breakpoint call.
	(break_command_really): Add breakpoint_ops argument and pass/assign
	appropriately.
	(break_command_1): Pass NULL as ops argument.
	(set_breakpoint): Pass NULL as ops argument.
	(print_one_exception_catchpoint): Print <PENDING> if no loc available.
	(handle_gnu_v3_exceptions): Call generic breakpoint code to insert
	catch and throw catchpoints.
2008-05-01 20:35:33 +00:00
Aleksandar Ristovski
1cded358ac PR gdb/2343
* corelow.c (core_open): Use gdbarch_target_signal_from_host to
	translate signal numeric value from the target to GDB's enum
	target_signal.
	* gdbarch.c, gdbarch.h: Regenerated.
	* gdbarch.sh: Added two new functions target_signal_from_host and
	target_signal_to_host.
	* target.h (default_target_signal_from_host,
	default_target_signal_to_host): New functions - declarations.
	* signals/signals.c (struct gdbarch): New declaration.
	(default_target_signal_to_host, default_target_signal_from_host): New
	functions.
2008-05-01 19:31:52 +00:00
Daniel Jacobowitz
a0ef42744d 2008-05-01 Daniel Jacobowitz <dan@codesourcery.com>
Pedro Alves  <pedro@codesourcery.com>

	Based on work by Jan Kratochvil <jan.kratochvil@redhat.com> and Jeff
 	Johnston <jjohnstn@redhat.com>.

	* NEWS: Mention attach to stopped process fix.
	* infcmd.c (detach_command, disconnect_command): Discard the thread
	list.
	* infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while
	attaching.  Use signal_stop_state.
	(signal_stop_state): Check stop_soon.
	* linux-nat.c (kill_lwp): Declare earlier.
	(pid_is_stopped, linux_nat_post_attach_wait): New.
	(lin_lwp_attach_lwp): Use linux_nat_post_attach_wait.  Update
	comments.
	(linux_nat_attach): Use linux_nat_post_attach_wait.
	(detach_callback, linux_nat_detach): Improve handling for signalled
	processes.
	(linux_nat_pid_to_str): Always print out the LWP ID if it differs
	from the process ID.
	* Makefile.in (infcmd.o): Update.

2008-05-01  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* gdb.threads/attach-into-signal.c, gdb.threads/attach-into-signal.exp,
	gdb.threads/attach-stopped.c, gdb.threads/attach-stopped.exp,
	gdb.threads/attachstop-mt.c, gdb.threads/attachstop-mt.exp: New.
2008-05-01 18:50:14 +00:00
Daniel Jacobowitz
ca38c58efa Add lost bit of previous commit. 2008-05-01 18:32:52 +00:00
Daniel Jacobowitz
b39cc96258 * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition.
* arm-tdep.c (arm_frame_is_thumb): New.
	(arm_pc_is_thumb): Clarify comment.
	(thumb_analyze_prologue): Remove PC special case.
	(thumb_scan_prologue): Take a block_addr argument.  Use it for
	find_pc_partial_function.  Remove unused variables.
	(arm_scan_prologue): Use arm_frame_is_thumb.  Use the block address
	for find_pc_partial_function.  Remove PC special case.
	(arm_prologue_prev_register): Add special handling for PC and CPSR.
	(arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New.
	(arm_get_next_pc): Use arm_frame_is_thumb.
	(arm_write_pc): Use CPSR_T instead of 0x20.
	(arm_gdbarch_init): Call dwarf2_frame_set_init_reg.
	* arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM.
	(CPSR_T): Define.
	* dwarf2-frame.c (dwarf2_frame_prev_register): Handle
	DWARF2_FRAME_REG_FN.
	* dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add
	DWARF2_FRAME_REG_FN.
	(struct dwarf2_frame_state_reg): Add FN to loc union.

	* gdb.arch/thumb-prologue.exp: Do not expect a saved PC.
2008-05-01 18:30:51 +00:00
Joel Brobecker
36d520f5f6 * gdb.base/info-target.exp: New testcase. 2008-05-01 17:48:23 +00:00
Joel Brobecker
944f08abce * exec.c (print_section_info): Add missing '\n'. 2008-05-01 17:46:32 +00:00
Vladimir Prus
cfc0146143 * thread.c (add_thread): Move observer call to ...
(add_thread_silent): ... here.
2008-05-01 14:27:39 +00:00
Ulrich Weigand
1af5d7ceb5 * rs6000-tdep.c: Update for unwinder changes.
* ppcobsd-tdep.c: Likewise.
2008-05-01 00:40:39 +00:00
Ulrich Weigand
f089c43345 * s390-tdep.c: Update for unwinder changes. 2008-05-01 00:18:27 +00:00
Ulrich Weigand
8d998b8f49 * spu-tdep.c: Update for unwinder changes. 2008-05-01 00:08:28 +00:00
gdbadmin
f85af1f25b *** empty log message *** 2008-05-01 00:00:40 +00:00
Daniel Jacobowitz
5366653e67 * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c,
ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c,
	sparc64-linux-tdep.c: Update for unwinder changes.
2008-04-30 21:28:57 +00:00
Daniel Jacobowitz
b8a22b9440 * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update
for unwinder changes.
	* mips-tdep.c: Likewise.
	(mips_stub_frame_cache): Unwind the ABI stack pointer, not the
	raw one.
2008-04-30 21:25:16 +00:00
Daniel Jacobowitz
a262aec23e * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for
unwinder changes.
2008-04-30 21:23:45 +00:00
Daniel Jacobowitz
1045891474 Update i386 and amd64 ports for unwinder changes.
* amd64-tdep.c (amd64_frame_cache): Expect this_frame.
	(amd64_frame_this_id, amd64_frame_prev_register): Update signature.
	(amd64_frame_unwind): Use default_frame_sniffer.
	(amd64_frame_sniffer): Delete.
	(amd64_sigtramp_frame_cache): Expect this_frame.
	(amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register)
	(amd64_sigtramp_frame_sniffer): Update signature.
	(amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer.
	(amd64_frame_base_address): Expect this_frame.
	(amd64_dummy_id): Renamed from amd64_unwind_dummy_id.  Expect
	this_frame.
	(amd64_init_abi): Use set_gdbarch_dummy_id and
	frame_unwind_append_unwinder.
	* i386-tdep.c (i386_frame_cache): Expect this_frame.
	(i386_frame_this_id, i386_frame_prev_register): Update signature.
	(i386_frame_unwind): Use default_frame_sniffer.
	(i386_frame_sniffer): Delete.
	(i386_sigtramp_frame_cache): Expect this_frame.
	(i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register)
	(i386_sigtramp_frame_sniffer): Update signature.
	(i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer.
	(i386_frame_base_address): Update signature.
	(i386_dummy_id): Rename from i386_unwind_dummy_id.  Expect this_frame.
	(i386_push_dummy_call): Update comment.
	(i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr):
	Expect this_frame.
	(i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders,
	and frame_unwind_append_unwinder.
	* amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c,
	amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c,
	i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c,
	i386nbsd-tdep.c: Update for unwinder changes.
2008-04-30 21:19:45 +00:00
Daniel Jacobowitz
25492ce3f9 * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame.
(trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect
	this_frame.
	(trad_frame_get_prev_register, trad_frame_get_register): Update signature.
	* trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register)
	(trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update
	signature.
	* tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect
	this_frame.
	(tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer):
	Update signature.
	* tramp-frame.h (struct tramp_frame): Update signature of init.
	* Makefile.in (trad-frame.o): Update.
2008-04-30 21:19:10 +00:00
Daniel Jacobowitz
4a4e514937 * dwarf2-frame.c (read_reg): Expect this_frame in the baton.
(execute_stack_op): Put this_frame in the baton.
	(execute_cfa_program): Take this_frame.
	(struct dwarf2_frame_ops): Update comment for signal_frame_p.
	(dwarf2_frame_default_init_reg, dwarf2_frame_init_reg)
	(dwarf2_frame_signal_frame_p, dwarf2_frame_cache)
	(dwarf2_frame_this_id): Adjust to work on this_frame.
	(dwarf2_signal_frame_this_id): Delete.
	(dwarf2_frame_prev_register): Update signature.  Use new frame
	unwind methods.
	(dwarf2_frame_sniffer): Update signature.  Expect this_frame.
	(dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add
	dwarf2_frame_sniffer.
	(dwarf2_append_unwinders): New.
	(dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect
	this_frame.
	* sparc-tdep.c (sparc32_dwarf2_struct_return_p)
	(sparc32_dwarf2_frame_init_reg): Expect this_frame.
	* cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise.
	* rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise.
	* s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise.
	* sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise.
	* sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise.
	* dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration.
	(dwarf2_append_unwinders): Declare.
	(dwarf2_frame_base_sniffer): Update declaration.
	* i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect
	this_frame.
2008-04-30 21:18:28 +00:00
Daniel Jacobowitz
669fac235d Convert frame unwinders to use the current frame and
"struct value".

	* frame.c (frame_debug): Make global.
	(get_frame_id): Pass this frame to unwinder routines.
	(frame_pc_unwind): Remove unused unwind->prev_pc support.
	(do_frame_register_read): Do not discard the return value of
	frame_register_read.
	(frame_register_unwind): Remove debug messages.  Use
	frame_unwind_register_value.
	(frame_unwind_register_value, get_frame_register_value): New
	functions.
	(create_new_frame, get_frame_base_address, get_frame_locals_address)
	(get_frame_args_address, get_frame_type): Pass this frame to
	unwinder routines.
	(frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New
	functions.
	* frame.h: Update comments.
	(frame_debug, frame_unwind_register_value, get_frame_register_value)
	(frame_prepare_for_sniffer): Declare.
	* frame-unwind.h: Update comments and parameter names.
	(default_frame_sniffer): Declare.
	(frame_prev_register_ftype): Return a struct value *.
	(struct frame_unwind): Remove prev_pc member.
	(frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete.
	(frame_unwind_append_unwinder, frame_unwind_got_optimized)
	(frame_unwind_got_register, frame_unwind_got_memory)
	(frame_unwind_got_constant, frame_unwind_got_address): Declare.
	* frame-base.h: Update comments and parameter names.
	* valops.c (value_fetch_lazy): Use get_frame_register_value.  Iterate
	if necessary.  Add debugging output.
	* sentinel-frame.c (sentinel_frame_prev_register)
	(sentinel_frame_this_id): Update for new signature.
	(sentinel_frame_prev_pc): Delete.
	(sentinel_frame_unwinder): Remove prev_pc.
	* ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize
	prev_pc.
	* libunwind-frame.c (libunwind_frame_unwind): Likewise.
	* frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer.
	(frame_unwind_append_sniffer): Delete.
	(frame_unwind_append_unwinder): New function.
	(frame_unwind_find_by_frame): Take this frame.  Only use sniffers
	from unwinders.  Use frame_prepare_for_sniffer.
	(default_frame_sniffer, frame_unwind_got_optimized)
	(frame_unwind_got_register, frame_unwind_got_memory)
	(frame_unwind_got_constant, frame_unwind_got_address): New functions.
	* dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id.
	(dummy_frame_prev_register, dummy_frame_this_id): Update for new
	signature.
	* gdbarch.sh: Replace unwind_dummy_id with dummy_id.
	* gdbarch.c, gdbarch.c: Regenerated.
	* frame-base.c (default_frame_base_address)
	(default_frame_locals_address, default_frame_args_address): Update
	for new signature.
	(frame_base_find_by_frame): Pass this frame to unwinder routines.
	* infcall.c (call_function_by_hand): Update comments.
	* Makefile.in (frame-unwind.o): Update dependencies.

	* gdbint.texinfo (Stack Frames): New chapter.
	(Algorithms): Move Frames text to the new chapter.
	(Target Conditionals): Delete SAVE_DUMMY_FRAME_TOS.  Document
	gdbarch_dummy_id instead of gdbarch_unwind_dummy_id.
2008-04-30 21:16:46 +00:00
Daniel Jacobowitz
9214ee5f5f * ada-lang.c (ada_value_primitive_packed_val): Only check
value_lazy for memory lvals.
	* findvar.c (value_of_register_lazy): New function.
	(locate_var_value): Only check value_lazy for memory lvals.
	* valarith.c (value_subscripted_rvalue): Likewise.
	* valops.c (value_fetch_lazy): Handle both memory and register
	lvals.
	(search_struct_field, value_slice): Only check value_lazy for memory
	lvals.
	* value.c (struct value): Update comment for lazy.
	(value_primitive_field): Only check value_lazy for memory lvals.
	* value.h (value_lazy): Update comment.
	(value_of_register_lazy): Declare.
2008-04-30 21:13:49 +00:00
Daniel Jacobowitz
8d4e307105 * gdb.cp/hang.exp: Use .cc instead of .C.
* gdb.cp/hang1.cc, gdb.cp/hang2.cc, gdb.cp/hang3.cc: Renamed from ...
	* gdb.cp/hang1.C, gdb.cp/hang2.C, gdb.cp/hang3.C: ... here.
2008-04-30 18:28:23 +00:00
Daniel Jacobowitz
6f3f3097b9 * gdb.base/gdb1250.exp: Remove perror.
* lib/mi-support.exp (mi_delete_breakpoints): Match the prompt.
2008-04-30 18:25:53 +00:00
Daniel Jacobowitz
939643d727 * corefile.c (reopen_exec_file): Close any open files. 2008-04-30 18:22:37 +00:00
Pedro Alves
5550a9142a * gdb.dwarf2/dw2-strp.S: Replace .long by .4byte and .value by
.2byte.
2008-04-30 13:54:10 +00:00
gdbadmin
c6199665a9 *** empty log message *** 2008-04-30 00:00:03 +00:00
Joel Brobecker
1de34ab72d * ia64-tdep.c (ia64_memory_remove_breakpoint): Set
show_memory_breakpoints to 1 while reading the instruction bundle.
2008-04-29 21:14:06 +00:00
Joel Brobecker
ea42b34a37 * gdbarch.sh: Document the return_value method. Explain that
the FUNCTYPE parameter might be NULL.
        * gdbarch.h: Regenerated.
        * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function
        type when calling using_struct_return, as this is unnecessary
        on this target.
2008-04-29 16:06:07 +00:00
Joel Brobecker
a0fe373c76 * terminal.h (create_tty_session): Fix return type. 2008-04-29 00:52:26 +00:00
gdbadmin
007bcda18c *** empty log message *** 2008-04-29 00:00:32 +00:00
gdbadmin
531aeaa784 *** empty log message *** 2008-04-28 00:00:03 +00:00
gdbadmin
26b5da907b *** empty log message *** 2008-04-27 00:00:33 +00:00
Vladimir Prus
c64465393f * mi/mi-interp.c (mi_new_thread): Quote the thread id. 2008-04-26 17:58:48 +00:00
Joel Brobecker
2f069f6f9e * breakpoint.c (condition_command, commands_from_control_command)
(break_command_really): Minor reformatting.
2008-04-26 05:43:45 +00:00
gdbadmin
3ce65e33f4 *** empty log message *** 2008-04-26 00:00:03 +00:00
Daniel Jacobowitz
d848e6871e * gdb.base/macscp.exp: Enable kfails. Compile with -g3 for GCC.
(maybe_kfail): New.
2008-04-25 21:47:11 +00:00
Pedro Alves
93b5768bfd gdb/
* dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp.

gdb/testsuite/
	* gdb.dwarf2/dw2-strp.S, gdb.dwarf2/dw2-strp.exp: New files.
2008-04-25 18:45:24 +00:00
Pedro Alves
436675d3af * amd64-tdep.c (amd64_get_longjmp_target): New.
(amd64_init_abi): Register amd64_get_longjmp_target as
	gdbarch_get_longjmp_target callback.
	* i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling.
2008-04-25 14:57:30 +00:00
Pedro Alves
78b6a73194 * breakpoint.h (enum bpstat_what_main_action): Delete
BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE.

	* breakpoint.c (clrs): Delete.
	(bpstat_what): Update table.

	* infrun.c (handle_inferior_event): Remove
	BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling.
2008-04-25 14:50:10 +00:00
gdbadmin
bd0cc3f7be *** empty log message *** 2008-04-25 00:00:33 +00:00
Vladimir Prus
9e22b03a59 * mi/mi-cmds.h (mi_cmd_args_ftype): Remove.
Adjust all prototypes using mi_cmd_args_ftype to use
	mi_cmd_argv_ftype.
	(struct mi_cmd): Remove the args_func field.
	* mi/mi-cmds.c: Don't provide value for the args_func field.
	* mi/mi-main.c (mi_execute_async_cli_command)
	(mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction)
	(mi_cmd_exec_step, mi_cmd_exec_step_instruction)
	(mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return)
	(mi_cmd_exec_continue, mi_cmd_exec_interrupt)
	(mi_cmd_target_download): Adjust.
	(mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter.
	(mi_cmd_execute): Do not check for args_func.
	(mi_execute_async_cli_command): Adjust.
	* mi/mi-parse.c: Don't check for args_func.
2008-04-24 13:28:06 +00:00
Vladimir Prus
18a1839349 * breakpoint.c (bpstat_check_location)
(bpstat_check_watchpoint, bpstat_check_breakpoint_conditions):
        New, extracted from bpstat_stop_status.
        (bpstat_stop_status): Use the above.
2008-04-24 12:56:45 +00:00
Vladimir Prus
721c02def4 * mi/mi-main.c (last_async_command): Rename to current_token.
(previous_async_command): Remove.
        (mi_cmd_gdb_exit): Adjust.
        (mi_cmd_exec_interrupt): Don't dance with previous_async_command.
        (mi_cmd_target_select): Adjust.
        (mi_cmd_execute): Don't set previous_async_command.  Free token
        here even in async mode.
        (mi_execute_async_cli_command): Adjust.
        (mi_exec_async_cli_cmd_continuation): Adjust.  Do not free the
        token.
        (mi_load_progress): Adjust.
2008-04-24 12:09:49 +00:00
Vladimir Prus
f13468d93e * infcmd.c (step_1_continuation): Always disable longjmp
breakpoint if we're not going to do another step.
2008-04-24 11:43:14 +00:00
Vladimir Prus
f107f56344 exec_cleanup murder.
* breakpoint.c (until_break_command_continuation): Add
	the 'error' parameter.  Directly delete the breakoint as
	opposed to running cleanups.
	(until_break_command): Install continuation only
	after starting the target.  Don't use exec cleanups,
	use ordinary cleanups.  Discard cleanups is successfully
	started the target in async mode.
	(make_cleanup_delete_breakpoint): Remove.
	* breakpoint.h (make_cleanup_delete_breakpoint): Remove
	declaration.
	* defs.h (do_exec_cleanups, make_exec_cleanup): Remove
	declarations.
	(struct continations): Add the 'error' parameter to the
	continuation_hook field.
	(add_continuation, do_all_continuations)
	(add_intermediate_continuation)
	(do_all_intermediate_continuations): Add the 'error' parameter.
	* exceptions.c (throw_exception): Don't call do_exec_cleanups.
	* inf-loop.c (inferior_event_handler): Instead of calling
	discard_all_continuations, use do_all_continuations with 1 as
	'error' parameter.  Pass 0 as 'error' parameter in existing uses
	of discard_all_continuations.
	* infcmd.c (step_1): Do not use exec cleanup.  For async case, discard
	cleanups.
	(step_once): Install continuation only after resuming the target.
	(step_1_continuation): Disable longjmp breakpoint on error.
	(finish_command_continuation): Add the error parameter.  Delete
	the finish breakpoint directly, do not use cleanups.
	(finish_command): Do not use exec_cleanups. Always setup
	continuation.  For sync case, immediately run them.
	(attach_command_continuation): Add the error parameter.
	* infrun.c (fetch_inferior_event): Do not use exec cleanups to
	remove step_resume_breakpoint -- adjust delete it directly.
	* interps.c (interp_set): Adjust call to do_all_continations.
	* mi/mi-interp.c (mi_interpreter_exec_continuation): Do not
	do exec cleanups.
	* mi/mi-main.c (mi_cmd_target_select): Do not do exec
	cleanups.
	(mi_cmd_execute): Do not use exec_cleanup.
	(mi_execute_async_cli_command): Simplify the string concatenation
	logic.  Do no use exec cleanup.
	(mi_exec_async_cli_cmd_continuation): New parameter error.
	Free last_async_command.
	* top.c (command_line_handler_continuation): New parameter error.
	* utils.c (exec_cleanup_chain, make_exec_cleanup)
	(do_exec_cleanups): Remove.
	(add_continuation, do_all_continations)
	(add_intermediate_continuation)
	(do_all_intermediate_continuations): New parameter error.
2008-04-24 11:13:44 +00:00
Vladimir Prus
74960c6002 * breakpoint.h (bp_location_p): New typedef.
Register a vector of bp_location_p.
	* breakpoint.c (always_inserted_mode)
	(show_always_inserted_mode): New.
	(unlink_locations_from_global_list): Remove.
	(update_global_location_list)
	(update_global_location_list_nothrow): New.
	(update_watchpoint): Don't free locations.
	(should_insert_location): New.
	(insert_bp_location): Use should_insert_location.
	(insert_breakpoint_locations): Copied from
	insert_breakpoints.
	(insert_breakpoint): Use insert_breakpoint_locations.
	(bpstat_stop_status): Call update_global_location_list
	when disabling breakpoint.
	(allocate_bp_location): Don't add to bp_location_chain.
	(set_raw_breakpoint)
	(create_longjmp_breakpoint, enable_longjmp_breakpoint)
	(disable_longjmp_breakpoint, create_overlay_event_breakpoint)
	(enable_overlay_breakpoints, disable_overlay_breakpoints)
	(set_longjmp_resume_breakpoint)
	(enable_watchpoints_after_interactive_call_stop)
	(disable_watchpoints_before_interactive_call_start)
	(create_internal_breakpoint)
	(create_fork_vfork_event_catchpoint)
	(create_exec_event_catchpoint, set_momentary_breakpoint)
	(create_breakpoints, break_command_1, watch_command_1)
	(create_exception_catchpoint)
	(handle_gnu_v3_exceptions)
	(disable_breakpoint, breakpoint_re_set_one)
	(create_thread_event_breakpoint, create_solib_event_breakpoint)
	(create_ada_exception_breakpoint): : Don't call check_duplicates.
	Call update_global_location_list.
	(delete_breakpoint): Don't remove locations and don't
	try to reinsert them. Call update_global_location_list.
	(update_breakpoint_locations): Likewise.
	(restore_always_inserted_mode): New.
	(update_breakpoints_after_exec): Temporary disable
	always inserted mode.
	* Makefile.in: Update dependencies.

	* infrun.c (proceed): Remove breakpoints while stepping
	over breakpoint.
	(handle_inferior_event): Don't remove or insert
	breakpoints.
	* linux-fork.c (checkpoint_command): Remove breakpoints
	before fork and insert after.
	(linux_fork_context): Remove breakpoints before switch
	and insert after.
	* target.c (target_disconnect, target_detach): Remove
	breakpoints from target.
2008-04-24 10:21:45 +00:00
Vladimir Prus
d24317b480 * breakpoint.c (print_one_breakpoint_location): In MI
mode, report the location string the breakpoint was
	originally created with.
2008-04-24 08:46:19 +00:00
gdbadmin
4bae4f5203 *** empty log message *** 2008-04-24 00:00:03 +00:00
Maxim Grigoriev
ee967b5f61 2008-04-23 Maxim Grigoriev <maxim2405@gmail.com>
* Makefile.in (xtensa-tdep.o): Update dependencies.
	* configure.tgt (xtensa*): Update dependencies.
	* xtensa-tdep.c (arreg_number): Renamed from areg_number.
	Local variable areg renamed to arreg.
	(areg_number): New function.
	(xtensa_pseudo_register_read, xtensa_pseudo_register_write)
	(xtensa_extract_return_value, xtensa_store_return_value): areg_number
	replaced by arreg_number.
	(xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments.
	(xtensa_alloc_frame_cache): Initialize cache->wd.ws.
	(xtensa_scan_prologue): New function.
	(xtensa_frame_cache): New local fp_regnum. Handle separately the case,
	when ENTRY instraction hasn't been executed yet. Get the frame pointer
	value based on prologue analysis. Fix the bugs preventing WS and
	AR4-AR7/A11 registers from getting right values for intermediate frames,
	whose registers have been already spilled.
	(xtensa_frame_prev_register): Fix WS register value. Use are_number
	and arreg_number appropriately.
	(xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to
	svr4_ilp32_fetch_link_map_offsets.
2008-04-23 21:17:05 +00:00
Andrew Stubbs
09d71d234a 2008-04-23 Andrew Stubbs <andrew.stubbs@st.com>
* printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW.
	(printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set.
2008-04-23 13:21:54 +00:00
Paolo Bonzini
fdc5970995 gdb:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * acinclude.m4: Add override.m4.
        * configure: Regenerate.

gdb/gdbserver:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * acinclude.m4: Add override.m4.
        * configure: Regenerate.

gdb/testsuite:
2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

        * aclocal.m4: Add override.m4.
        * configure: Regenerate.
2008-04-23 12:21:50 +00:00
gdbadmin
b863bf13fe *** empty log message *** 2008-04-23 00:00:33 +00:00
Jan Kratochvil
0bcd014983 * ada-lang.c (get_selections): Variable PROMPT made non-const and
initialized with a trailing space now.  Use PROMPT_ARG of
	COMMAND_LINE_INPUT instead of printing it ourselves.
2008-04-22 22:23:16 +00:00
Joel Brobecker
88d8a8e052 * NEWS: Document support for 64-bit core file. 2008-04-22 20:29:07 +00:00
Corinna Vinschen
c055b1010f doc/ChangeLog:
--------------

	* gdb.texinfo (Set SH Calling convention): New @item.
	(Show SH Calling convention): Ditto.

ChangeLog:
----------

	* NEWS: Add information on calling convention and new SH CLI options.

	* sh-tdep.c (sh_cc_gcc): New static string.
	(sh_cc_renesas): Ditto.
	(sh_cc_enum): New static string array.
	(sh_active_calling_convention): New static string pointer denoting
	active user chosen ABI.
	(sh_is_renesas_calling_convention): New function to return function
	specific ABI, or user choice if necessary.
	(sh_use_struct_convention): Rename first argument and turn around its
	meaning.  Check for renesas ABI and return accordingly.
	(sh_use_struct_convention_nofpu): New function.
	(sh_next_flt_argreg): Get function type as third parameter.  Check
	for renesas ABI and choose floating registers accordingly.
	(sh_push_dummy_call_fpu): Check for ABI and choose argument slot and
	struct return slot accordingly.
	(sh_push_dummy_call_nofpu): Ditto.
	(sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here.
	Evaluate ABI and give to sh_use_struct_convention_nofpu.
	(sh_return_value_fpu):  Evaluate ABI and give to
	sh_use_struct_convention.
	(show_sh_command): New function.
	(set_sh_command): Ditto.
	(_initialize_sh_tdep): Initialize `set/show sh calling-convention
	CLI command.

	* gdbarch.sh (return_value): Add func_type argument.
	* gdbarch.c: Regenerate.
	* gdbarch.h: Ditto.
	* eval.c (evaluate_subexp_standard): Rename local variable value_type to
	val_type so as not to collide with value_type function.  Call
	using_struct_return with additional function type argument.
	* infcall.c (call_function_by_hand): Call using_struct_return and
	gdbarch_return_value with additional function type argument.
	* infcmd.c (print_return_value): Take addition func_type argument.
	Call gdbarch_return_value with additional function type argument.
	(finish_command_continuation): Call print_return_value with additional
	function type argument.
	(finish_command): Ditto.
	* sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with
	additional function type argument.
	* stack.c (return_command): Call using_struct_return and
	gdbarch_return_value with additional function type argument.
	* value.c (using_struct_return): Take additional function type argument.
	* value.h (using_struct_return): Accommodate declaration.
	* alpha-tdep.c (alpha_return_value): Add func_type argument.
	* amd64-tdep.c (amd64_return_value): Ditto.
	* arm-tdep.c (arm_return_value): Ditto.
	* avr-tdep.c (avr_return_value): Ditto.
	* cris-tdep.c (cris_return_value): Ditto.
	* frv-tdep.c (frv_return_value): Ditto.
	* h8300-tdep.c (h8300_return_value): Ditto.
	(h8300h_return_value): Ditto.
	* hppa-tdep.c (hppa32_return_value): Ditto.
	(hppa64_return_value): Ditto.
	* i386-tdep.c (i386_return_value): Ditto.
	* ia64-tdep.c (ia64_return_value): Ditto.
	* iq2000-tdep.c (iq2000_return_value): Ditto.
	* m32c-tdep.c (m32c_return_value): Ditto.
	* m32r-tdep.c (m32r_return_value): Ditto.
	* m68hc11-tdep.c (m68hc11_return_value): Ditto.
	* m68k-tdep.c (m68k_return_value): Ditto.
	(m68k_svr4_return_value): Ditto.
	* m88k-tdep.c  (m88k_return_value): Ditto.
	* mep-tdep.c (mep_return_value): Ditto.
	* mips-tdep.c (mips_eabi_return_value): Ditto.
	(mips_n32n64_return_value): Ditto.
	(mips_o32_return_value): Ditto.
	(mips_o64_return_value): Ditto.
	* mn10300-tdep.c (mn10300_return_value): Ditto.
	* mt-tdep.c (mt_return_value): Ditto.
	* ppc-linux-tdep.c (ppc_linux_return_value): Ditto.
	* ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto.
	(ppc_sysv_abi_broken_return_value): Ditto.
	(ppc64_sysv_abi_return_value): Ditto.
	* ppc-tdep.h (ppc_sysv_abi_return_value): Ditto.
	(ppc_sysv_abi_broken_return_value): Ditto.
	(ppc64_sysv_abi_return_value): Ditto.
	* ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto.
	* rs6000-tdep.c (rs6000_return_value): Ditto.
	* s390-tdep.c (s390_return_value): Ditto.
	* score-tdep.c (score_return_value): Ditto.
	* sh-tdep.c (sh_return_value_nofpu): Ditto.
	(sh_return_value_fpu): Ditto.
	* sh64-tdep.c (sh64_return_value): Ditto.
	* sparc-tdep.c (sparc32_return_value): Ditto.
	* sparc64-tdep.c (sparc64_return_value): Ditto.
	* spu-tdep.c (spu_return_value): Ditto.
	* v850-tdep.c (v850_return_value): Ditto.
	* vax-tdep.c (vax_return_value): Ditto.
	* xstormy16-tdep.c (xstormy16_return_value): Ditto.
	* xtensa-tdep.c (xtensa_return_value): Ditto.

	* gdbtypes.h (struct type): Add calling_convention member.
	* dwarf2read.c (read_subroutine_type): Add calling convention read
	from DW_AT_calling_convention attribute to function type.
2008-04-22 11:03:42 +00:00
Markus Deuling
9eec4d1e39 * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for
multi_f77_subscript to support values from registers.
	* valarith.c (value_subscripted_rvalue): Remove prototype and static.
	* value.h (value_subscripted_rvalue): Add prototype.

	* f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION.
	Fix output.
	* f-valprint.c (f_val_print): Likewise.
2008-04-22 06:53:18 +00:00
Markus Deuling
68837c9d8d * gdb.texinfo (Fortran Operators): Describe '%' operator. 2008-04-22 06:51:04 +00:00
gdbadmin
fc50a77be2 *** empty log message *** 2008-04-22 00:00:03 +00:00
Craig Silverstein
ef72380d94 * dwarf2read.c (zlib_decompress_section): Define abfd in the
!HAVE_ZLIB_H case.
2008-04-21 22:00:52 +00:00
Ulrich Weigand
c9b2f845a5 * linux-ppc-low.c (ppc_arch_setup): Reset ppc_hwcap after the
initial call to init_register_ppc64.
2008-04-21 20:31:22 +00:00
Ulrich Weigand
550512b831 * configure.srv (powerpc64-*-linux*, powerpc-*-linux*): Merge into single
powerpc*-*-linux* case.
	(s390-*-linux*, s390x-*-linux*): Merge into single s390*-*-linux* case.
2008-04-21 14:55:50 +00:00
Pedro Alves
ff8e85c382 * symfile.c (syms_from_objfile): Don't warn if lowest loadable
section is not a code section.
2008-04-21 14:25:16 +00:00
gdbadmin
65f309add0 *** empty log message *** 2008-04-21 00:00:33 +00:00
Eli Zaretskii
2e9132cc00 * gdb.texinfo (Set Breaks): Mention that multiple location
breakpoints need line number info.  Add index entries.
2008-04-20 09:06:44 +00:00
Craig Silverstein
31fffb0212 * NEWS: Add information on compressed debug sections.
* doc/gdb.texinfo (Requirements): Add an optional requirement
      on zlib.
      * doc/gdbint.texinfo (Debugging File Formats): Add new
      subsection for Compressed DWARF 2.
2008-04-20 00:03:25 +00:00
gdbadmin
1386d68a62 *** empty log message *** 2008-04-20 00:00:33 +00:00
Vladimir Prus
8e91f0232c * mi/mi-cmd-var.c (varobj_update_one): Print new
value for variable objects that changed type.
2008-04-19 17:03:20 +00:00
Vladimir Prus
603ba1de0b * varobj.c (varobj_invalidate): Don't touch floating
varobjs.
2008-04-19 16:38:25 +00:00
Mark Kettenis
7fc830e290 * symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
(multiple_symbols_cancel): Remove extra const.
* symtab.h: Likewise.
2008-04-19 11:39:50 +00:00
Nick Roberts
bb2edc7f62 (linespec.o, mi-interp.o): Add dependencies. 2008-04-19 06:12:16 +00:00
Nick Roberts
dc67126b79 Include interps.h and mi/mi-cmds.h.
(decode_line_2): When using MI, always set all breakpoints in menu.
2008-04-19 06:09:37 +00:00
Nick Roberts
79a688876b New extern for top_level_interpreter. 2008-04-19 06:09:15 +00:00
Nick Roberts
eb18d289ab (top_level_interpreter): Rename static variable...
(top_level_interpreter_ptr): ...to this.
(top_level_interpreter): New function.
2008-04-19 06:08:18 +00:00
Nick Roberts
bcbf8b680d *** empty log message *** 2008-04-19 06:07:51 +00:00
Craig Silverstein
233a11ab1c * configure.ac (AC_SEARCH_LIBS): Add check for zlib.
* config.in, configure: Regenerate.
	* dwarf2read.c: Include zlib.h if present.
	Modified *_SECTION macros.
	(section_is_p): New.
	(dwarf2_locate_sections): Use section_is_p instead of strcmp
	(dwarf2_resize_section): New.
	to determine whether a given section has a given name.
	(zlib_decompress_section): New.
	(dwarf2_read_section): Read the compressed section if present
	in the binary.
	* testsuite/gdb.dwarf2/dw2-compressed.S: New file.
	* testsuite/gdb.dwarf2/dw2-compressed.exp: New file.
	* MAINTAINERS: Added myself to section Write After Approval.
2008-04-19 05:06:54 +00:00
Thiago Jung Bauermann
a03b3a9785 * defs.h (exec_set_section_offsets): Remove prototype.
* exec.c (exec_set_section_offsets): Remove function.
2008-04-19 02:07:19 +00:00
Joel Brobecker
9c1137add5 * gdb.ada/atomic_enum: New test program.
* gdb.ada/atomic_enum.exp: New testcase.
2008-04-19 01:35:49 +00:00
Joel Brobecker
9e3867569f * stabsread.c (cleanup_undefined_types_1): Add instance flags check
in the search for the matching symbol.
2008-04-19 01:33:26 +00:00
gdbadmin
eca56c549e *** empty log message *** 2008-04-19 00:00:34 +00:00
Marc Khouzam
2ec9323810 2008-04-17 Marc Khouzam <marc.khouzam@ericsson.com>
* breakpoint.c (update_watchpoint): Always reparse
       condition.
2008-04-18 00:41:28 +00:00
gdbadmin
5303f635ca *** empty log message *** 2008-04-18 00:00:03 +00:00
Doug Evans
66d0bbc7b8 * gdb.opt/Makefile.in: Fix whitespace. 2008-04-17 23:06:54 +00:00
Joel Brobecker
e9bbd7c5e4 * breakpoint.c (print_one_breakpoint_location): Make sure to print
the breakpoint address only once.
2008-04-17 22:43:17 +00:00
Ulrich Weigand
100906b03a 2008-04-17 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.threads/linux-dp.exp: Continue after unrecognized lines.
2008-04-17 21:36:23 +00:00
Ulrich Weigand
b6430ec3fe * configure.srv [powerpc64-*-linux*]: Remove powerpc-e500.o from
srv_regobj.  Remove rs6000/powerpc-e500.xml and rs6000/power-spe.xml
	from reg_xmlfiles.
	* linux-ppc-low.c: Include <elf.h>.
	(PPC_FEATURE_HAS_ALTIVEC, PPC_FEATURE_HAS_SPE): Define.
	(ppc_hwcap): New global variable.
	(ppc_regmap): Remove __SPE__ #ifdef sections.
	(ppc_regmap_e500): New global variable.
	(ppc_cannot_store_register): Update __SPE__ special case.
	(ppc_get_hwcap): New function.
	(ppc_arch_setup): Use it to determine whether inferior supports
	AltiVec or SPE registers.  Set the_low_target.regmap if appropriate.
	(ppc_fill_vrregset, ppc_store_vrregset): Define unconditionally.
	Do not access registers if target does not support AltiVec.
	(ppc_fill_evrregset, ppc_store_evrregset): Define unconditionally.
	Do not access registers if target does not support SPE.
	(target_regsets): Unconditionally include AltiVec and SPE regsets.
2008-04-17 21:22:41 +00:00
Ulrich Weigand
52fa2412d2 2008-04-17 Daniel Jacobowitz <dan@codesourcery.com>
* linux-low.c (disabled_regsets, num_regsets): New.
	(use_regsets_p): Delete.
	(linux_wait_for_process): Clear disabled_regsets.
	(regsets_fetch_inferior_registers): Check and set it.
	(regsets_store_inferior_registers): Likewise.
	(linux_fetch_registers, linux_store_registers): Do not use
	use_regsets_p.
	(initialize_low): Allocate disabled_regsets.
2008-04-17 21:21:38 +00:00
Joel Brobecker
475bbd17e0 * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture,
rather than a hard-coded architecture, for xcoff executables.
2008-04-17 21:00:53 +00:00
Doug Evans
4584e32ea4 * buildsym.c (watch_main_source_file_lossage): New fn.
(end_symtab): Call it.

	* gdb.base/hashline1.exp: New testcase.
	* gdb.base/hashline2.exp: New testcase.
	* gdb.base/hashline2.exp: New testcase.
2008-04-17 17:54:05 +00:00
Doug Evans
86991504e7 * source.c (find_and_open_source): Add some comments clarifying
handling of FULLNAME argument.	Make static.  Remove pointless
	xstrdup/xfree.
2008-04-17 17:43:58 +00:00
Pedro Alves
0a320680e8 gdb/
* inf-loop.c (inferior_event_handler): Also run the intermediate
	continuations in the INF_EXEC_COMPLETE case.

	gdb/testsuite/
	* gdb.base/step-break.exp, gdb.base/step-break.c: New files.
2008-04-17 11:49:56 +00:00
Tom Tromey
700b53b17a * cli/cli-decode.h (CMD_ASYNC_OK): New define.
(set_cmd_async_ok, get_cmd_async_ok): Declare.
	* cli/cli-decode.c (set_cmd_async_ok): New function.
	(get_cmd_async_ok): New function.
	* cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and
	"show" as async-ok.
	* top.c (execute_command): Use get_cmd_async_ok.
	* infcmd.c: Include cli/cli-decode.h.
	(_initialize_infcmd): Mark "interrupt" as async-ok.
	* Makefile.in (infcmd.o): Depend on cli_decode_h.
2008-04-17 00:25:01 +00:00
gdbadmin
ed83b95326 *** empty log message *** 2008-04-17 00:00:33 +00:00
Daniel Jacobowitz
dacec2a8bd PR gdb/2445
* exec.c: Correct "arch-utils.h" include.
2008-04-16 22:54:55 +00:00
Aleksandar Ristovski
a47ec5feb4 * gdb.texinfo (GDB/MI Simple Examples): Added 'disp' field to the
sample output for 'stopped,reason="breakpoint-hit"' message.
	(GDB/MI Program Execution): Likewise.
2008-04-16 13:14:18 +00:00
gdbadmin
84cfb2cde1 *** empty log message *** 2008-04-16 00:00:33 +00:00
Aleksandar Ristovski
18ac113bcc * gdb.base/attach.exp (do_attach_tests): Matching pattern for
temporary breakpoint to match "Temporary breakpoint".
	* gdb.base/break.exp (delete_breakpoints): Likewise.
	* gdb.base/call-ar-st.exp (get_debug_format): Likewise.
	* gdb.base/commands.exp (temporary_breakpoint_commands): Likewise.
	* gdb.base/display.exp: Likewise.
	* gdb.base/foll-exec.exp (do_exec_tests): Likewise.
	* gdb.base/foll-fork.exp (catch_fork_child_follow): Likewise.
	* gdb.base/restore.exp (restore_tests): Likewise.
	* gdb.base/sepdebug.exp: Likewise.
	* gdb.base/watchpoint.exp: Likewise.
	* gdb.mi/mi-cli.exp: Added argument for new "disp" field.
	* gdb.mi/mi-pending.exp: Likewise.
	* gdb.mi/mi-simplerun.exp (test_running_the_program): Likewise.
	* gdb.mi/mi-until.exp (test_runnint_to_foo): Likewise.
	* gdb.mi/mi-var-cmd.exp: Likewise.
	* gdb.mi/mi-var-display.exp: Likewise.
	* gdb.mi/mi2-cli.exp: Likewise.
	* gdb.mi/mi2-simplerun.exp (test_running_the_program): Likewise.
	* gdb.mi/mi2-until.exp (test_running_to_foo): Likewise.
	* gdb.mi/mi2-var-display.exp: Likewise.
	* lib/gdb.exp (gdb_breakpoint): Pattern for temporary breakpoint.
	* lib/mi-support.exp (mi_runto_helper): Use "after_reason" argument for
	new "disp" field.
	(mi_expect_stop): Move after_reason argument to be really after
	reason. This is to support fix for PR2424.
2008-04-15 14:33:55 +00:00
Aleksandar Ristovski
2cec12e55b PR gdb/2424
* infrun.c (normal_stop) Move breakpoint_auto_delete further down
	to allow printing to 'see' real reason of stop. This fixes PR 2424.
	* breakpoint.c (bpdisp_texst): New function. The function takes over
	the role of bpstats static array in print_one_breakpoint_location.
	(print_it_typical): Print "Temporary breakpoint" instead
	of just "Breakpoint" when breakpoint is, well, temporary. For mi-like
	protocols, print disp field.
	(print_one_breakpoint_location): Removed bpdisps static definition.
	Call new bpstat_text function to get value for 'disp' field.
	(mention): Print "Temporary breakpoint" instead of just "Breakpoint".
2008-04-15 14:32:12 +00:00
Daniel Jacobowitz
4d7b71aacd * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4,
gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust
	by rerunning gnulib-tool with --aux-dir=gnulib/extra.
	* gnulib/Makefile.in: Regenerate.
2008-04-15 12:53:19 +00:00
Jan Kratochvil
add386939d * gdb.dwarf2/dw2-ranges.S: New stub `.file' directive. 2008-04-15 09:00:32 +00:00
gdbadmin
7fce359f85 *** empty log message *** 2008-04-15 00:00:04 +00:00
Daniel Jacobowitz
aa11fd3fc4 * Makefile.in (GNULIB_H): New. Trigger all-lib.
(defs_h): Use $(GNULIB_H).
	(all-lib): Depend on gnulib/Makefile.
	(gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps.
	* config.in, gnulib/Makefile.in: Regenerated.
2008-04-14 19:47:29 +00:00
Daniel Jacobowitz
783e057b02 Fix generated files. 2008-04-14 19:01:21 +00:00
Daniel Jacobowitz
f6ea56282c Add missed files from last commit. 2008-04-14 18:05:12 +00:00
Daniel Jacobowitz
e28b33320c * Makefile.in (LIBGNU, INCGNU): Define.
(INTERNAL_CFLAGS_BASE): Add INCGNU.
	(INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU.
	(CLEANDIRS): New.
	($(LIBGNU), all-lib): New rules.
	(clean, distclean, do-maintainer-clean): Use CLEANDIRS.
	* configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE.
	Simplify AC_CONFIG_AUX_DIR.  Generate gnulib/Makefile.
	* gnulib: New directory, from gnulib-tool.
	* configure, aclocal.m4: Regenerated.

	* Makefile.in (LIBOBJS): New.
	(OBS): Use LIBOBJS.
	(memmem.o): New rule.
	* configure.ac: Use AC_CONFIG_LIBOBJ_DIR and check for memmem.
	* configure: Regenerated.
2008-04-14 18:04:00 +00:00
Daniel Jacobowitz
e3bc4218fa * linux-thread-db.c (have_threads_callback): Check thread->private. 2008-04-14 14:02:23 +00:00
gdbadmin
c648d9b979 *** empty log message *** 2008-04-14 00:00:03 +00:00
Vladimir Prus
fcacd99f87 Fix @-varobjs.
* varobj.c (value_of_root): Update the expression for
        floating varobjs.
        * mi/mi-cmd-var.c (varobj_update_one): If type has changed,
        report that.
2008-04-13 09:33:49 +00:00
gdbadmin
fb69b4de95 *** empty log message *** 2008-04-13 00:00:02 +00:00
gdbadmin
99b47b026a *** empty log message *** 2008-04-12 00:00:02 +00:00
gdbadmin
01d0e5ecc1 *** empty log message *** 2008-04-11 00:00:03 +00:00
gdbadmin
5a3ea15244 *** empty log message *** 2008-04-10 00:00:03 +00:00
Marc Khouzam
de051565df gdb/ChangeLog
2008-04-09  Marc Khouzam  <marc.khouzam@ericsson.com>

        * mi/mi-cmd-var.c: Include "mi-getopt.h".
        (mi_parse_format): New.  Factored out from mi_cmd_var_set_format.
        (mi_cmd_var_set_format): Use new mi_parse_format.
        (mi_cmd_var_evaluate_expression): Support for -f option to specify
        format.
        * Makefile.in (mi-cmd-var.o): Update dependencies.

        * varobj.h (varobj_get_formatted_value): Declare.
        * varobj.c (my_value_of_variable): Added format parameter.
        (cplus_value_of_variable): Likewise.
        (java_value_of_variable): Likewise.
        (c_value_of_variable): Likewise.  Evaluate expression based
        on format parameter.
        (struct language_specific): Add format parameter to function member
        *value_of_variable.
        (varobj_get_formatted_value): New.
        (varobj_get_value): Added format parameter to method call.

gdb/doc/ChangeLog
2008-04-09  Marc Khouzam  <marc.khouzam@ericsson.com>

        * gdb.texinfo (GDB/MI Variable Objects): Add anchor to
        -var-set-format.  Add -f option to -var-evaluate-expression.

gdb/testsuite/ChangeLog
2008-04-09  Marc Khouzam  <marc.khouzam@ericsson.com>

        * gdb.mi/mi2-var-display.exp: Added tests for the new -f
        option of -var-evaluate-expression.
        * gdb.mi/mi2-var-display.exp: Likewise.
2008-04-09 13:29:55 +00:00
gdbadmin
c9825dba58 *** empty log message *** 2008-04-09 00:00:33 +00:00
Joel Brobecker
56953f802d * stabsread.c (cleanup_undefined_types_noname): Manually set the
instance flags of the undefined type before calling replace_type.
2008-04-08 22:09:20 +00:00
Vladimir Prus
4d8ac24426 Fix trailing space. 2008-04-08 17:02:23 +00:00
Vladimir Prus
e4e33b9e9b * target.h (enum strata): Remove the download_stratum. 2008-04-08 16:58:35 +00:00
gdbadmin
04f72d5772 *** empty log message *** 2008-04-08 00:00:38 +00:00
Doug Evans
92b5c26399 * buildsym.h (last_source_file): Add dwarf info to comment.
(last_source_start_addr): Ditto.
2008-04-07 19:29:55 +00:00
Vladimir Prus
dbc5282291 Introduce test setup helpers.
* lib/gdb.exp (build_executable, clean_restart)
        (prepare_for_testing): New.
        * gdb.base/break.exp: Use prepare_for_testing, and clean_restart.
        * gdb.base/return.exp: Likewise.
        * gdb.base/ending-run.exp: Likewise.
2008-04-07 16:32:44 +00:00
Pedro Alves
effa26a936 * alphanbsd-tdep.c: Include "target.h".
* mn10300-tdep.c: Include "target.h".
	* Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update.
2008-04-07 11:45:58 +00:00
gdbadmin
3bd77c3906 *** empty log message *** 2008-04-07 00:00:33 +00:00
Nick Roberts
473591da7a *** empty log message *** 2008-04-06 22:44:47 +00:00
Nick Roberts
fd0e64da87 New test for asynchronous Machine Interface (MI) responses. 2008-04-06 22:41:19 +00:00
Vladimir Prus
2b2d9e11a0 Fix breakpoint condition that use member variables.
* valops.c (check_field): Remove.
        (check_field_in): Rename to check_field.
        (value_of_this): Use la_name_of_this.
        * value.h (check_field): Adjust prototype.

        * language.h (la_value_of_this): Rename to la_name_of_this.
        * language.c (unknown_language_defn): Specify "this" for
        name_of_this.
        (auto_language_defn): Likewise.
        (local_language_defn): Likewise.
        * ada-lang.c (ada_language_defn): Adjust comment.
        * c-lang.c (c_language_defn): Adjust comment.
        (cplus_language_defn): Specify "this" for name_of_this.
        (asm_language_defn): Adjust comment.
        (minimal_language_defn): Adjust comment.
        * f-lang.c (f_language_defn): Specify NULL for name_of_this.
        * jv-lang.c (java_language_defn): Specify "this" for name_of_this.
        * m2-lang.c (m2_language_defn): Specify "this" for name_of_this.
        * objc-lang.c (objc_language_defn): Specify "self" for
        name_of_this.
        * p-lang.c (pascal_language_defn): Specify "this" for
        name_of_this.
        * scm-lang.c (scm_language_defn): Specify NULL for name_of_this.

        * symtab.c (lookup_symbol_aux): Lookup "this" in the
        proper scope, and check for field in type of "this", without
        trying to create a value.
2008-04-06 08:56:37 +00:00
gdbadmin
29bc1f05ad *** empty log message *** 2008-04-06 00:00:03 +00:00
Vladimir Prus
bb3784283e * lib/mi-support.exp (mi_expect_stop): New.
(mi_run_cmd): Change the
	token.  Use mi_send_resuming_command, use
	mi_expect_stop.
	(mi_execute_to_helper): Rename to mi_execute_to.
	(mi_send_resuming_command): Add more error patterns.
	(mi_wait_for_stop): Renamed to...
	(mi_get_stop_line): ...this.
	(mi_run_inline_test): Adjust.

	* gdb.mi/mi-cli.exp: Use mi_execute_to/mi_expect_stop.
	* gdb.mi/mi-console.exp: Likewise.
	* gdb.mi/mi-pending.exp: Likewise.
	* gdb.mi/mi-simplerun.exp: Likewise.
	* gdb.mi/mi-stack.exp: Likewise.
	* gdb.mi/mi-stepi.exp: Likewise.
	* gdb.mi/mi-syn-frame.exp: Add comment.
	* gdb.mi/mi-until.exp: Likewise.
	* gdb.mi/mi-var-display.exp: Likewise.
	* gdb.mi/mi-watch.exp: Likewise.
	* gdb.mi/mi2-cli.exp: Likewise.
	* gdb.mi/mi2-console.exp: Likewise.
	* gdb.mi/mi2-simplerun.exp: Likewise.
	* gdb.mi/mi2-stack.exp: Likewise.
	* gdb.mi/mi2-stepi.exp: Likewise.
	* gdb.mi/mi2-until.exp: Likewise.
	* gdb.mi/mi2-var-display.exp: Likewise.
	* gdb.mi/mi2-watch.exp: Likewise.
2008-04-05 17:12:46 +00:00
gdbadmin
051568b4d0 *** empty log message *** 2008-04-05 00:00:02 +00:00
Ulrich Weigand
62172bb981 * gdb.base/watch_thread_num.exp: Use gdb_compile_pthreads.
* gdb.cp/mb-templates.exp: Skip test on spu*-*-* targets.
2008-04-04 22:59:28 +00:00
Pedro Alves
a13e061a1b gdb/
2008-04-04  Pedro Alves  <pedro@codesourcery.com>

	* mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR.
	(mi_error_message): Delete declaration.
	* mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of
	returning MI_CMD_ERROR.
	* mi/mi-main.c (mi_error_message): Delete.
	(mi_cmd_exec_interrupt):
	(mi_cmd_thread_select, mi_cmd_thread_list_ids)
	(mi_cmd_thread_info): Call error instead of returning
	MI_CMD_ERROR.
	(mi_cmd_data_list_register_values): Call error instead of
	returning MI_CMD_ERROR.  Adapt to new get_register interface.
	(get_register): Change return typo to void.  Call error instead of
	returning MI_CMD_ERROR.
	(mi_cmd_data_write_register_values): Call error instead of
	returning MI_CMD_ERROR.
	(mi_cmd_list_features): Return MI_CMD_DONE.
	(captured_mi_execute_command): Remove MI_CMD_ERROR handling.
	(mi_execute_command): Always print exceptions with -error.

gdb/testsuite/
2008-04-04  Pedro Alves  <pedro@codesourcery.com>

	* gdb.mi/mi-disassemble.exp, gdb.mi/mi-stack.exp,
	gdb.mi/mi-syn-frame.exp, gdb.mi/mi-var-block.exp,
	gdb.mi/mi-var-cmd.exp, gdb.mi/mi-var-display.exp,
	gdb.mi/mi2-disassemble.exp, gdb.mi/mi2-stack.exp,
	gdb.mi/mi2-syn-frame.exp, gdb.mi/mi2-var-block.exp,
	gdb.mi/mi2-var-cmd.exp, gdb.mi/mi2-var-display.exp: Update to not
	expect an mi error duplicated in stderr.
2008-04-04 21:59:25 +00:00
Ulrich Weigand
4536995d8b * server.c (handle_query): Never return "unsupported" for
qXfer:features:read queries.
2008-04-04 19:19:11 +00:00
Joel Brobecker
aad4b0482f * NEWS: Mention new commands set/show multiple-symbols. 2008-04-04 15:51:15 +00:00
gdbadmin
f0d6a43c52 *** empty log message *** 2008-04-04 00:00:03 +00:00
Joel Brobecker
6ba66d6a97 * gdb.texinfo (Breakpoint Menus): Delete. Contents moved inside
new node "Ambiguous Expressions".  Replace references to this
        node by references to "Ambiguous Expressions" throughout.
        (Ambiguous Expressions): New node.
2008-04-03 21:51:12 +00:00
Joel Brobecker
eae06beb6d * gdb.cp/ovldbreak.cc: Add missing bodies for methods foo::foofunc.
* gdb.cp/ovldbreak.exp: Set multiple-symbols to "ask".
        Add a couple of tests that verify the behavior when the new setting
        is set to "cancel" and "all".
        * gdb.cp/method2.exp, gdb.cp/templates.exp: Set multiple-symbols to
        "ask" before we start the testing.
2008-04-03 21:42:33 +00:00
Joel Brobecker
717d2f5a05 * symtab.c (multiple_symbols_ask, multiple_symbols_all)
(multiple_symbols_cancel): New constants.
        (multiple_symbols_modes, multiple_symbols_mode): New static globals.
        (multiple_symbols_select_mode): New function.
        (_initialize_symtab): Add new set/show multiple-symbols commands.
        * symtab.h (multiple_symbols_ask, multiple_symbols_all)
        (multiple_symbols_cancel, multiple_symbols_select_mode): Declare.
        * ada-lang.c (user_select_syms): Add handling of new multiple-symbols
        setting.
        * linespec.c (decode_line_2): Likewise.
2008-04-03 21:39:16 +00:00
Doug Evans
f73634e546 * symtab.h (enum free_code): Delete free_contents, unused.
* symmisc.c (free_symtab_block): Delete.
	(free_symtab, case free_code): Delete.
2008-04-03 18:19:16 +00:00
gdbadmin
b1dba75dfe *** empty log message *** 2008-04-03 00:00:03 +00:00
gdbadmin
5caffa0e9b *** empty log message *** 2008-04-02 00:00:03 +00:00
Aleksandar Ristovski
79c6ced6ea * gdb.cp/casts.cc: Add class reference variables.
* gdb.cp/casts.exp: New test cases for up/down casting references.
2008-04-01 18:05:13 +00:00
Aleksandar Ristovski
f0050c2089 * gdb.cp/casts.cc: Add class reference variables.
* gdb.cp/casts.exp: New test cases for up/down casting references.
2008-04-01 16:16:43 +00:00
Aleksandar Ristovski
6af87b0348 * valops.c (value_cast_structs): New function. Cast related
STRUCT types up/down and return cast value. The body of this
	function comes mostly from value_cast_pointers.
	(value_cast_pointers): Code for actual cast STRUCT-STRUCT moved
	to value_cast_structs. Now value_cast_pointers needs only create
	appropriate reference after using value_cast_structs for actual
	casting.
	(value_cast): Handle references.
2008-04-01 16:12:49 +00:00
Marc Khouzam
6c2d1a6bc9 2008-04-01 Marc Khouzam <marc.khouzam@ericsson.com>
* gdb.mi/mi-var-display.exp: Stop at end of do_special_tests
	instead of beginning to make an extra test pass.
	* gdb.mi/mi2-var-display.exp: Likewise.
2008-04-01 15:18:30 +00:00
Marc Khouzam
61ad90e1f5 2008-04-01 Marc Khouzam <marc.khouzam@ericsson.com>
* MAINTAINERS: Added myself to section Write After Approval.
2008-04-01 15:15:07 +00:00
gdbadmin
2e0b9bc5fd *** empty log message *** 2008-04-01 00:00:33 +00:00
Maciej W. Rozycki
55b411d998 * gdb.base/break.exp: Mark failures as such. Fix formatting. 2008-03-31 10:46:17 +00:00
Markus Deuling
c6140da2ff 2008-03-31 Markus Deuling <deuling@de.ibm.com>
Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gdb.arch/spu-info.exp (info spu mailbox): Check for correct initial
	value.  Add xfail for older kernels.
2008-03-31 08:34:42 +00:00
Daniel Jacobowitz
b7d038ae9f * ia64-tdep.c (examine_prologue): Correct array access. 2008-03-31 03:38:48 +00:00
gdbadmin
11a0b582b3 *** empty log message *** 2008-03-31 00:00:33 +00:00
gdbadmin
8c56b5dbda *** empty log message *** 2008-03-30 00:00:03 +00:00
gdbadmin
7cc70d1017 *** empty log message *** 2008-03-29 00:00:34 +00:00
Aleksandar Ristovski
c836824f38 * cp-support.c (first_component_command): Return if no arguments. 2008-03-28 19:52:23 +00:00
Carlos O'Donell
df3ac60635 gdb/
2008-03-28  Carlos O'Donell  <carlos@codesourcery.com>

	* ser-mingw.c (ser_windows_open): Open requested name.
2008-03-28 17:30:45 +00:00
Aleksandar Ristovski
ca9334856c 2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
* MAINTAINERS: Added myself.
2008-03-28 16:43:14 +00:00
Pedro Alves
5f667f2da0 * target.c (find_default_run_target): Allow a NULL `do_mesg'
parameter.  If it is NULL, don't call error.
	(find_default_can_async_p, find_default_is_async_p): Pass NULL as
	`do_mesg' parameter to find_default_run_target.  If no target was
	found, return 0.
2008-03-28 16:37:08 +00:00
Aleksandar Ristovski
79732189ea 2008-03-28 Aleksandar Ristovski <aristovski@qnx.com>
Bring mi-support in line with gdb.exp.
	* lib/mi-support.exp (default_mi_gdb_start): Rename from mi_gdb_start.
	(mi_gdb_start): New function.
2008-03-28 16:32:11 +00:00
Daniel Jacobowitz
e741f4d4e4 * mips-linux-tdep.c: Update N32/N64 signal frame comments.
(N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update.
	(N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR):
	Delete.
	(mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr.
2008-03-28 14:53:53 +00:00
Maciej W. Rozycki
33c3676e65 * gdb.mi/mi-var-cmd.exp: Fix a typo. 2008-03-28 14:01:36 +00:00
gdbadmin
82afd1eff5 *** empty log message *** 2008-03-28 00:00:03 +00:00
gdbadmin
f66d820539 GDB 6.8 released. 2008-03-27 19:37:04 +00:00
Ulrich Weigand
221c031fac ChangeLog:
* features/Makefile (%.dat): Set xmltarget to the base filename
	of the XML source, without subdirectory.
	* regformats/rs6000/powerpc-32.dat: Regenerate.
	* regformats/rs6000/powerpc-64.dat: Regenerate.
	* regformats/rs6000/powerpc-e500.dat: Regenerate.

gdbserver/ChangeLog:

	* server.c (get_features_xml): Fix inverted condition.
	(handle_query): Always support qXfer:feature:read.
2008-03-27 13:11:52 +00:00
Markus Deuling
40c58d9579 * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by
objfile arch.
2008-03-27 12:28:48 +00:00
Nick Roberts
42972f502e (enum captured_mi_execute_command_actions):
Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly.
2008-03-27 03:45:22 +00:00
Nick Roberts
bb1ec7d204 *** empty log message *** 2008-03-27 03:45:01 +00:00
gdbadmin
fd5511cf80 *** empty log message *** 2008-03-27 00:00:32 +00:00
Daniel Jacobowitz
1e26b4f86a * gdb.texinfo (MIPS Features, PowerPC Features): Add @node. 2008-03-26 18:37:47 +00:00
Ulrich Weigand
5e2b427df3 * objfiles.h (struct objfile): New GDBARCH member.
(get_objfile_arch): Add prototype.
	* objfiles.c: Include "arch-utils.h".
	(allocate_objfile): Look up gdbarch associated with bfd.
	(get_objfile_arch): New function.
	* Makefile (objfiles.o): Update dependencies.

	* dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch
	by objfile arch.
	* dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch
	by frame arch.
	(locexpr_describe_location): Replace current_gdbarch by
	objfile arch.
	* dwarf2read.c (die_type): Replace current_gdbarch by objfile arch.
	(dwarf2_add_field): Likewise.
	(read_tag_pointer_type): Likewise.
	(read_base_type): Likewise.
	(new_symbol): Likewise.

	* coffread.c (decode_type): Add OBJFILE argument.  Update callers.
	(decode_base_type, decode_function_type): Likewise.
	(coff_read_struct_type, coff_read_enum_type): Likewise.
	(coff_symtab_read): Replace current_gdbarch by objfile arch.
	(decode_base_type): Likewise.
	(coff_read_enum_type): Likewise.
	(coff_read_struct_type): Replace current_objfile by OBJFILE argument.
	(coff_read_enum_type): Likewise.

	* dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch.
	(end_psymtab): Likewise.
	(process_one_symbol): Likewise.

	* mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch.
	(parse_procedure): Likewise.
	(parse_partial_symbols): Likewise.

	* somread.c (som_symtab_read): Replace current_gdbarch by objfile arch.

	* stabsread.c (define_symbol): Replace current_gdbarch by objfile arch.
	Replace static pcc_promotion_type and pcc_unsigned_promotion_type by
	built-in types.
	(read_range_type): Replace current_gdbarch by objfile arch.  Replace
	static range_index_type by built-in type.
	(read_one_struct_field): Replace current_gdbarch by objfile arch.
	(read_enum_type): Likewise.

	* xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by
	objfile arch.
2008-03-26 14:53:28 +00:00
Vladimir Prus
5a413362ba * varobj.h (varobj_floating_p): Declare.
* varobj.c (varobj_floating_p): New.
	* mi/mi-cmd-var.c (mi_cmd_var_update): When passed
	'@' as the name, update all floating varobjs.
2008-03-26 14:51:28 +00:00
Vladimir Prus
a5defcdc21 * varobj.c (struct varobj_root): Rename use_selected_frame to
floating, and clarify the meaning.
	(varobj_create, varobj_update,  new_root_variable): Adjust.
	(value_of_root): Don't use type_changed as in variable,
	adjust comment.
	(c_value_of_root): Adjust.
2008-03-26 14:11:18 +00:00
Vladimir Prus
92e28119da * gdb.mi/mi-var-display.exp: Remove obsolete xfail.
* gdb.mi/mi2-var-display.exp: Likewise.
2008-03-26 13:36:51 +00:00
Vladimir Prus
9e8e3afe37 * lib/mi-support.exp (mi_create_varobj_checked): New.
(mi_list_varobj_children): Allow to check for a
	value.
	(mi_list_array_varobj_children): New.

	* gdb.mi/mi-var-child.exp: Use mi_create_varobj
	and mi_list_varobj_children, as opposed to hardcoding
	expected strings.
	* gdb.mi/gdb701.exp: Likewise.
	* gdb.mi/gdb792.exp: Likewise.
	* gdb.mi/mi-var-block.exp: Likewise.
	* gdb.mi/mi-var-cmd.exp: Likewise.
	* gdb.mi/mi-var-invalidate.exp: Likewise.
	* gdb.mi/mi2-var-block.exp: Likewise.
	* gdb.mi/mi2-var-child.exp: Likewise.
	* gdb.mi/mi2-var-cmd.exp: Likewise.
	* gdb.mi/mi2-var-display.exp: Likewise.
2008-03-26 13:24:22 +00:00
gdbadmin
e8df11ae40 *** empty log message *** 2008-03-26 00:00:04 +00:00
Pedro Alves
403fe1979f * linux-nat.c (linux_nat_attach): Add the pid we attached to, to
gdb's thread list.
	(linux_nat_wait): Add main lwp to gdb's thread list.
	* linux-thread-db.c (find_new_threads_callback): Also attach to
	already listed threads which thread_db didn't know about yet.
2008-03-25 12:26:21 +00:00
Pedro Alves
710151dda5 2008-03-25 Pedro Alves <pedro@codesourcery.com>
* linux-nat.c (drain_queued_events): Fix comment typo.
	(linux_nat_attach): In async mode, don't rely on storing a pending
	status.  Instead place the wait status on the pipe.
	(linux_nat_resume): Remove unreacheable shortcut code in async
	mode.
	(stop_wait_callback): In async mode, don't store pending status.
	Instead, cancel breakpoints or resend the signal appropriatelly.
	(cancel_breakpoint): New, refactored from
	cancel_breakpoints_callback.
	(cancel_breakpoints_callback): Call cancel_breakpoint.
	(pipe_to_local_event_queue): Remove special token processing.
	(linux_nat_wait): Issue an internal error if a pending status is
	found in async mode.
2008-03-25 12:20:10 +00:00
gdbadmin
d49bd40868 *** empty log message *** 2008-03-25 00:00:03 +00:00
Daniel Jacobowitz
807bddf3a9 * inflow.c (gdb_has_a_terminal): Guard access to our_process_group. 2008-03-24 18:10:00 +00:00