Commit Graph

25379 Commits

Author SHA1 Message Date
gdbadmin 89f86f9d75 *** empty log message *** 2009-11-23 00:00:03 +00:00
Pedro Alves fc30d5e03f * gdb.base/catch-syscall.exp (test_catch_syscall_fail_nodatadir)
(do_syscall_tests_without_xml): Set data-directory to
	/the/path/to/nowhere.
2009-11-22 22:57:24 +00:00
Pedro Alves a9840291c6 Make hardware breakpoints work for process repord.
* record.c (record_wait): Only adjust PC on software breakpoints
	hits.
2009-11-22 15:47:31 +00:00
Pedro Alves 9093389c0f Make hardware watchpoints work for process record.
* breakpoint.c (hardware_watchpoint_inserted_in_range): New.
	* breakpoint.h (hardware_watchpoint_inserted_in_range): Declare.
	* record.c (record_beneath_to_stopped_by_watchpoint)
	(record_beneath_to_stopped_data_address, record_hw_watchpoint):
	New globals.
	(record_exec_insn): Check for watchpoint hits.
	(tmp_to_stopped_by_watchpoint, tmp_to_stopped_data_address): New
	globals.
	(record_open): Set tmp_to_stopped_by_watchpoint,
	tmp_to_stopped_data_address,
	record_beneath_to_stopped_by_watchpoint and
	record_beneath_to_stopped_data_address.
	(record_wait): Report watchpoint hits to the core.  Update and
	extend comments.
	(record_stopped_by_watchpoint): New.
	(record_stopped_data_address): New.
	(init_record_ops): Install them.
	(init_record_core_ops): Ditto.
2009-11-22 15:38:59 +00:00
gdbadmin 815368956e *** empty log message *** 2009-11-22 00:00:03 +00:00
Pedro Alves 2d134ed3d5 * breakpoint.c (update_watchpoint): Skip creating locations and
reading the selected frame if there's no execution.
	(bpstat_stop_status): Use is_hardware_watchpoint.  If not
	stopping, update watchpoints and the global location list, instead
	of removing and inserting all breakpoints.
	(breakpoint_address_is_meaningful): Hardware watchpoints also have
	a meaningful target address.
	(watchpoint_locations_match): New.
	(breakpoint_locations_match): New.
	(watch_command_1): Create the watchpoint breakpoint without any
	location initially.  Use update_watchpoint to create the
	watchpoint locations.
	(update_global_location_list): Use breakpoint_locations_match, so
	watchpoint locations are handled too.  Also detect duplicate
	watchpoint locations.
2009-11-21 21:37:21 +00:00
Pedro Alves f6bc200880 gdb/
* breakpoint.h (struct breakpoint) <watchpoint_thread>: New field.
	* breakpoint.c (watchpoint_in_thread_scope): New.
	(update_watchpoint): Skip if the local watchpoint's thread doesn't
	match the current thread, or if the current thread is running.
	(watchpoint_check): Ditto.
	(watch_command_1): Set the watchpoint's watchpoint_thread field.

	gdb/testsuite/
	* gdb.threads/local-watch-wrong-thread.c,
	gdb.threads/local-watch-wrong-thread.exp: New files.
2009-11-21 21:17:17 +00:00
Pedro Alves 8c2fb5deb3 * gdb.cp/cplusfuncs.exp (info_func_regexp, print_addr): Don't
assume new `regsub' syntax available.
2009-11-21 05:17:41 +00:00
gdbadmin fdfc554616 *** empty log message *** 2009-11-21 00:00:33 +00:00
Jan Kratochvil 494cfb0f14 gdb/
* breakpoint.c (bp_location_compare): Change parameter a to ap and b to
	bp.  New variables a and b.
	(bp_location_compare_for_qsort): Remove.
	(update_global_location_list): Use now bp_location_compare.
2009-11-20 20:01:08 +00:00
Jan Kratochvil a79d3c27d1 gdb/
Fix repeated rwatch output.
	* amd64-linux-nat.c (amd64_linux_dr_set, amd64_linux_dr_set_control)
	(amd64_linux_dr_set_addr, amd64_linux_dr_reset_addr)
	(amd64_linux_dr_get_status): New comments.
	(amd64_linux_dr_unset_status): New function.
	(_initialize_amd64_linux_nat): Install it.
	* i386-linux-nat.c (i386_linux_dr_get, i386_linux_dr_set)
	(i386_linux_dr_set_control, i386_linux_dr_set_addr)
	(i386_linux_dr_reset_addr, i386_linux_dr_get_status): New comments.
	(i386_linux_dr_unset_status): New function.
	(_initialize_i386_linux_nat): Install it.
	* i386-nat.c (I386_DR_WATCH_MASK): New macro.
	(I386_DR_WATCH_HIT): Use I386_DR_WATCH_MASK.
	(i386_insert_aligned_watchpoint): Call i386_dr_low.unset_status.
	* i386-nat.h (struct i386_dr_low_type): Extend comments for
	set_control, set_addr, reset_addr and get_status.  New unset_status.
	* breakpoint.c (update_watchpoint): Extend the comment.

gdb/testsuite/
	* gdb.base/watchpoint-hw-hit-once.exp,
	gdb.base/watchpoint-hw-hit-once.c: New.
2009-11-20 19:57:29 +00:00
Pedro Alves ebec9a0f77 gdb/
2009-11-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Pedro Alves  <pedro@codesourcery.com>

	Fix reordered watchpoints triggered in other threads during all-stop.

	* linux-nat.c (resume_callback, linux_nat_resume): Clear
	stopped_by_watchpoint.
	(save_sigtrap, linux_nat_stopped_by_watchpoint)
	(linux_nat_stopped_data_address): New.
	(stop_wait_callback, linux_nat_filter_event): Call save_sigtrap.
	(linux_nat_add_target): Install linux_nat_stopped_by_watchpoint
	and linux_nat_stopped_data_address.
	* linux-nat.h (struct lwp_info): New fields stopped_by_watchpoint,
	stopped_data_address_p and stopped_data_address.

gdb/testsuite/
2009-11-20  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* gdb.base/watchthreads-reorder.exp,
	gdb.base/watchthreads-reorder.c: New.
2009-11-20 19:52:08 +00:00
Michael Snyder 6b04bdb74a 2009-10-25 Michael Snyder <msnyder@vmware.com>
* target.h (struct target_ops): New methods to_get_bookmark
        and to_goto_bookmark.
        (target_get_bookmark): New macro.
        (target_goto_bookmark): New macro.
        * target.c (dummy_get_bookmark): New function, default implementation.
        (dummy_goto_bookmark): New function, default implementation.
        (update_current_target): Inherit new methods.
        * record.c (record_get_bookmark): New function.
        (record_goto_bookmark): New function.
        (init_record_ops): Set to_get_bookmark and to_goto_bookmark methods.
        * reverse.c (struct bookmark): New type.
        (save_bookmark_command): New function (command).
        (delete_bookmark_command): New function (command).
        (goto_bookmark_command): New function (command).
        (bookmarks_info): New function (command).
        (_initialize_reverse): Add new bookmark commands.
	* command.h (enum command_class): Add class_bookmark.
	* NEWS: Mention bookmark commands.
2009-11-20 17:23:38 +00:00
Pedro Alves c7d46a38b6 * breakpoint.c (update_global_location_list): Fix duplicate
locations detection.
2009-11-20 14:51:47 +00:00
Pedro Alves db82e815be * infrun.c (handle_inferior_event): Hardware hatchpoint traps are
never random signals.
	* breakpoint.c (update_global_location_list): Always delete
	immediately delete hardware watchpoint locations and other
	locations whose target address isn't meaningful.  Update comment
	explaining the hazard of moribund locations.
2009-11-20 13:08:16 +00:00
gdbadmin 3c768833f3 *** empty log message *** 2009-11-20 00:00:33 +00:00
Joel Brobecker 872f033780 * ada-lang.c (discrete_type_p): TYPE_CODE_BOOL is also a discrete type. 2009-11-19 22:45:56 +00:00
Joel Brobecker 2d9c5cff78 * completer.c (complete_line_internal): Make sure the command
completer is not NULL before calling it.
2009-11-19 22:44:34 +00:00
Joel Brobecker ad82864c29 * ada-lang.c (packed_array_type): Rename to...
(constrained_packed_array_type): ...and update comment.
        (decode_packed_array, decode_constrained_packed_array): Ditto.
        (decode_packed_array_type, decode_constrained_packed_array_type):
        Ditto.
        (ada_is_constrained_packed_array_type): New function.
        (ada_is_unconstrained_packed_array_type): New function.
        (decode_packed_array_bitsize): New function, extracted from
        decode_packed_array_type.
        (ada_type_of_array): Add support for unconstrained packed arrays.
        (ada_coerce_to_simple_array_ptr, ada_coerce_to_simple_array)
        (ada_array_bound_from_type, ada_array_bound, ada_array_length)
        (ada_prefer_type, to_fixed_array_type, ada_evaluate_subexp): Resync.
        * ada-lang.h (ada_is_packed_array_type,
        ada_is_constrained_packed_array_type): Renaming.
        * ada-valprint.c (ada_val_print_1): Resync.
        * ada-typeprint.c (print_array_type, ada_print_type): Resync.
2009-11-19 22:42:48 +00:00
Joel Brobecker 5b3d5b7dfc Wrong function used to perform address addition/subtraction.
* ada-lang.c (ada_type_match): Stop making TYPE_CODE_VOID
    a wildcard matching any type.  For types that we don't already
    handle specifically, make sure that both types have the same code.
2009-11-19 22:37:35 +00:00
Joel Brobecker a10967fa49 * ada-lang.c (ada_decode): Add handling of "TB" suffixes for
task bodies.
2009-11-19 22:36:05 +00:00
Joel Brobecker 69fadcdff1 * ada-lang.c (ada_remove_Xbn_suffix): New function.
(find_old_style_renaming_symbol): Add handling for function suffixes
    present in the name of various procedures.
    Do not overwrite the function symbol's name.
2009-11-19 22:34:50 +00:00
Pedro Alves c561c2760c * breakpoint.c (breakpoint_address_bits): Visit all locations'
gdbarchs, not the breakpoint's gdbarch.
2009-11-19 17:02:46 +00:00
gdbadmin f66cfbed9a *** empty log message *** 2009-11-19 00:00:03 +00:00
Vladimir Prus 3630a92dd7 * cli/cli-script.c (process_next_line): Recognize 'end'
even when the line has leading space and we're not parsing
	commands.
2009-11-18 20:42:38 +00:00
Tom Tromey 72dcaf823d * symtab.c (symbol_set_names): Correctly set 'name' on symbol when
lookup name differs.
2009-11-18 16:28:42 +00:00
Tristan Gingold ab7e10a0c4 2009-11-18 Tristan Gingold <gingold@adacore.com>
* machoread.c (macho_oso_symfile): Fix typo.  Add comments.
2009-11-18 14:10:47 +00:00
gdbadmin bef57ef2c6 *** empty log message *** 2009-11-18 00:00:03 +00:00
Jan Kratochvil 5409dacfb9 * dbxread.c (set_namestring): Remove cast to unsigned. Check N_STRX
overflow.
2009-11-17 20:48:31 +00:00
Maxim Kuvyrkov 276a961bff 2009-11-17 Nathan Sidwell <nathan@codesourcery.com>
* features/m68k-core.xml: New file.

2009-11-17  Nathan Sidwell  <nathan@codesourcery.com>

	* gdb.xml/tdesc-regs.exp: Use for m68k.
2009-11-17 18:06:47 +00:00
Maxim Kuvyrkov a70f8e6677 * regformats/reg-cf.dat: New file. 2009-11-17 18:05:05 +00:00
Maxim Kuvyrkov 0c85e18e5f 2009-11-17 Daniel Jacobowitz <dan@codesourcery.com>
* m68k-tdep.c (m68k_gdbarch_init): Reuse previous initialization.
2009-11-17 17:59:42 +00:00
Maxim Kuvyrkov 9ac544cece 2009-11-17 Nathan Sidwell <nathan@codesourcery.com>
2009-11-17  Vladimir Prus  <vladimir@codesourcery.com>

	* Makefile.in (reg-cf.o, reg-cf.c): New targets.
	* configure.ac: Check for __mcoldfire__ and set
	gdb_cv_m68k_is_coldfire.
	* configure.srv: Use gdb_cv_m68k_is_coldfire to select between
	reg-cf.o and reg-m68k.o.
	* configure: Regenerated.

2009-11-17  Nathan Sidwell  <nathan@codesourcery.com>

	* regformats/reg-cf.dat: New file.
2009-11-17 17:58:15 +00:00
Maxim Kuvyrkov 86443c3e94 2009-11-17 Daniel Jacobowitz <dan@codesourcery.com>
* m68k-tdep.c (m68k_register_name): Check fpregs_present.
	(m68k_gdbarch_init): Remove a duplicate of set_gdbarch_fp0_regnum.
2009-11-17 17:56:11 +00:00
Jan Kratochvil 7f82dfc7f0 gdb/
Fix wrong debug output with `set debug infrun 1'.
	* gdb/infrun.c (handle_inferior_event <debug_infrun>): New variable
	old_chain.  Temporarily switch INFERIOR_PTID.
	* target.h (target_stopped_by_watchpoint): Extend the comment.
	(target_stopped_data_address): New comment.
2009-11-17 09:41:33 +00:00
gdbadmin 1649019427 *** empty log message *** 2009-11-17 00:00:33 +00:00
Tom Tromey 04a679b8f5 * xcoffread.c (scan_xcoff_symtab): Update.
* symfile.h (add_psymbol_to_list): Update prototype.
	* symfile.c (add_psymbol_to_bcache): Add copy_name argument.
	(add_psymbol_to_list): Likewise.
	* stabsread.c (define_symbol): Update.
	* mdebugread.c (parse_partial_symbols): Update.
	(handle_psymbol_enumerators): Update.
	(new_symbol): Update.
	* dbxread.c (read_dbx_symtab): Update.
	* coffread.c (process_coff_symbol): Update.
	* symtab.h (prim_record_minimal_symbol_full): Declare.
	(SYMBOL_SET_NAMES): Add copy_name argument.
	* symtab.c (struct demangled_name_entry): New struct.
	(hash_demangled_name_entry): New function.
	(eq_demangled_name_entry): Likewise.
	(create_demangled_names_hash): Use new functions.
	(symbol_set_names): Use struct demangled_name_entry.  Add
	copy_name argument.
	* minsyms.c (prim_record_minimal_symbol_full): New function.
	(prim_record_minimal_symbol_and_info): Use it.
	* elfread.c (record_minimal_symbol): Add name_len and copy_name
	arguments.  Call prim_record_minimal_symbol_full.
	(elf_symtab_read): Add copy_names argument.
	(elf_symfile_read): Update calls to elf_symtab_read.
	* dwarf2read.c (add_partial_symbol): Don't copy symbol names.
	(load_partial_dies): Likewise.
	(new_symbol): Likewise.
	* cp-namespace.c (check_one_possible_namespace_symbol): Don't save
	name on the obstack.  Update call to SYMBOL_SET_NAMES.
2009-11-16 18:40:23 +00:00
Pedro Alves fd7dd3e67a * linux-low.c (linux_remove_process): Add `detaching' parameter.
Pass it to thread_db_free.
	(linux_kill, linux_detach, linux_wait_1): Adjust to pass the
	proper `detaching' argument to linux_remove_process.
	* linux-low.h (thread_db_free): Add `detaching' parameter.
	* thread-db.c (thread_db_init): Pass false as `detaching' argument
	to thread_db_free.
	(thread_db_free): Add `detaching' parameter.  Only
	call td_ta_clear_event if detaching from process.
2009-11-16 18:15:05 +00:00
gdbadmin d4b8ccbfd2 *** empty log message *** 2009-11-16 00:00:03 +00:00
Pedro Alves 4867c1fb96 * gdb.base/watch-vfork.c, gdb.base/watch-vfork.exp: New files. 2009-11-15 20:14:00 +00:00
Pedro Alves 678229626e * infrun.c (handle_inferior_event): When handling a fork or vfork
event, check if the bpstat causes a stop, instead of if it
	explains the signal.
	* breakpoint.c (bpstat_causes_stop): New.
	* breakpoint.h (bpstat_causes_stop): Declare.
2009-11-15 20:10:34 +00:00
Pedro Alves 56710373a0 * breakpoint.c (should_be_inserted): Don't insert breakpoints if
the pspace doesn't allow breakpoints.
	(insert_breakpoint_locations): Remove waiting_for_vfork_done
	special case.  Expect watchpoints that shouldn't be inserted, to
	not be inserted.
	* progspace.h (struct program_space) <breakpoints_not_allowed>:
	New field.
	* infrun.c (handle_inferior_event): Clear it.
	* linux-nat.c (linux_child_follow_fork): Set it.
2009-11-15 20:08:03 +00:00
gdbadmin 213fc0adc4 *** empty log message *** 2009-11-15 00:00:03 +00:00
gdbadmin c78d1469a9 *** empty log message *** 2009-11-14 00:00:33 +00:00
Doug Evans 7f79c47ecf * dcache.c (dcache_hit, dcache_read_line): Tweak comments.
(dcache_peek_byte, dcache_init, dcache_xfer_memory): Ditto.
	* target.c (memory_xfer_partial): Tweak comments.
	(target_xfer_partial, target_write_memory): Add comment.
	(target_read_partial): Remove note from 2003-10-21.
	(target_read, target_write): Add comments.
2009-11-13 23:26:19 +00:00
Daniel Jacobowitz 4e48512954 * inline-frame.c (find_inline_frame_state): Check for changed PC
here...
	(inline_frame_sniffer): ... not here.
2009-11-13 23:00:17 +00:00
Daniel Jacobowitz ad960ed22e * ui-file.c (stdio_file_read): Call gdb_select before read. 2009-11-13 22:54:42 +00:00
Daniel Jacobowitz f6838f8147 * lib/gdb.exp (current_target_name): New procedure.
(gdb_wrapper_target): New variable.
	(gdb_wrapper_init): Set gdb_wrapper_target.
	(default_gdb_init): Check gdb_wrapper_target before rebuilding the
	wrapper.
2009-11-13 22:51:59 +00:00
Daniel Jacobowitz 21327321a0 2009-11-13 Maciej W. Rozycki <macro@codesourcery.com>
* mips-tdep.c (mips_insn16_frame_this_id): Mark the outermost
	frame.
	(mips_insn32_frame_this_id): Likewise.
2009-11-13 22:48:11 +00:00
Daniel Jacobowitz a103a963e0 2009-11-13 Maciej W. Rozycki <macro@codesourcery.com>
* elfread.c (elf_symtab_read): Only mark a minimal symbol as
	special if it actually exists.  Merge the checks for this
	conditions.
2009-11-13 22:47:13 +00:00