Commit Graph

21545 Commits

Author SHA1 Message Date
Daniel Jacobowitz fef8a650d0 * gdb.mi/var-cmd.c (do_locals_tests): Define lcharacter as a
two-char array.
	* gdb.mi/mi-var-cmd.exp, gdb.mi/mi2-var-cmd.exp: Use lcharacter[0].
2007-10-01 14:07:46 +00:00
Mike Frysinger c4a3d09a71 2007-09-30 Mike Frysinger <vapier@gentoo.org>
* value.h (lookup_only_internalvar): New prototype.
	(create_internalvar): Likewise.
	* value.c (lookup_only_internalvar): New function.
	(create_internalvar): Likewise.
	(lookup_internalvar): Use new lookup_only_internalvar and
	create_internalvar functions.
	* parse.c (write_dollar_variable): Look up $ symbols in internal
	table first rather than last.
2007-10-01 01:39:52 +00:00
Daniel Jacobowitz 9f0bdab802 * linux-nat.c (linux_nat_new_thread): New variable.
(linux_child_follow_fork): Set inferior_ptid to include LWP ID.  Use
	linux_nat_switch_fork.
	(lwp_list): Make public.
	(add_lwp): Call linux_nat_new_thread.
	(lin_lwp_attach_lwp, linux_nat_attach): Call add_lwp after stopping
	the new thread.
	(resume_callback): Clear lp->siginfo.  Remove unused variable.
	(linux_nat_resume): Assert that the LWP list is already initialized.
	Clear lp->siginfo.
	(save_siginfo): New.
	(stop_wait_callback, linux_nat_wait): Call it.
	(linux_nat_set_new_thread, linux_nat_get_siginfo): New.
	* linux-nat.h (struct lwp_info): Add siginfo.
	(lwp_list, linux_nat_set_new_thread, linux_nat_get_siginfo): Declare.
	(ALL_LWPS): Define.

	* amd64-linux-nat.c (amd64_linux_dr): New.
	(amd64_linux_dr_get): Take a PTID argument.  Correct typo.
	(amd64_linux_dr_set): Take a PTID argument.
	(amd64_linux_dr_set_control, amd64_linux_dr_set_addr): Use ALL_LWPS.
	(amd64_linux_dr_reset_addr): Use amd64_linux_dr_set_addr.
	(amd64_linux_dr_get_status): Pass inferior_ptid to amd64_linux_dr_get.
	(amd64_linux_new_thread): New.
	(_initialize_amd64_linux_nat): Call linux_nat_set_new_thread.
	* i386-linux-nat.c (i386_linux_dr): New.
	(i386_linux_dr_get, i386_linux_dr_set): Take a PTID argument.
	(i386_linux_dr_set_control, i386_linux_dr_set_addr): Use ALL_LWPS.
	(i386_linux_dr_reset_addr): Use i386_linux_dr_set_addr.
	(i386_linux_dr_get_status): Pass inferior_ptid to i386_linux_dr_get.
	(i386_linux_new_thread): New.
	(i386_linux_resume): Remove unnecessary PID check.
	(_initialize_i386_linux_nat): Call linux_nat_set_new_thread.
	* ia64-linux-nat.c (enable_watchpoints_in_psr): Take PTID argument.
	(fetch_debug_register, fetch_debug_register_pair): Delete.
	(debug_registers): New.
	(ia64_linux_insert_watchpoint, ia64_linux_remove_watchpoint): Use
	ALL_LWPS and debug_registers.
	(ia64_linux_new_thread): New.
	(ia64_linux_stopped_data_address): Use linux_nat_get_siginfo.
	(_initialize_ia64_linux_nat): Call linux_nat_set_new_thread.
	* ppc-linux-nat.c (last_stopped_data_address): Delete.
	(saved_dabr_value): New.
	(ppc_linux_insert_watchpoint, ppc_linux_remove_watchpoint): Use
	ALL_LWPS.
	(ppc_linux_new_thread): New.
	(ppc_linux_stopped_data_address): Use linux_nat_get_siginfo.
	(ppc_linux_stopped_by_watchpoint): Call ppc_linux_stopped_data_address.
	(_initialize_ppc_linux_nat): Call linux_nat_set_new_thread.
	* s390-nat.c (s390_stopped_by_watchpoint): Clear the watchpoint status
	after reading it.
	(s390_fix_watch_points): Take a PTID argument.
	(s390_insert_watchpoint, s390_remove_watchpoint): Use ALL_LWPS.
	(_initialize_s390_nat): Call linux_nat_set_new_thread.
2007-10-01 00:22:50 +00:00
Daniel Jacobowitz d983da9c3d 2007-09-16 Daniel Jacobowitz <dan@codesourcery.com>
Jeff Johnston  <jjohnstn@redhat.com>

	* breakpoint.c (watchpoints_triggered): New.
	(bpstat_stop_status): Remove STOPPED_BY_WATCHPOINT argument.
	Check watchpoint_triggered instead.  Combine handling for software
	and hardware watchpoints.  Do not use target_stopped_data_address
	here.  Always check a watchpoint if its scope breakpoint triggers.
	Do not stop for thread or overlay events.  Improve check for
	triggered watchpoints without a value change.
	(watch_command_1): Insert the scope breakpoint first.  Link the
	scope breakpoint to the watchpoint.
	* breakpoint.h (enum watchpoint_triggered): New.
	(struct breakpoint): Add watchpoint_triggered.
	(bpstat_stop_status): Update prototype.
	(watchpoints_triggered): Declare.
	* infrun.c (enum infwait_status): Add infwait_step_watch_state.
	(stepped_after_stopped_by_watchpoint): Delete.
	(handle_inferior_event): Make stepped_after_stopped_by_watchpoint
	local.  Handle infwait_step_watch_state.  Update calls to
	bpstat_stop_status.  Use watchpoints_triggered to check
	watchpoints.
	* remote.c (stepped_after_stopped_by_watchpoint): Remove extern.
	(remote_stopped_data_address): Do not check it.

	* gdb.texinfo (Setting Watchpoints): Adjust warning text about
	multi-threaded watchpoints.
	* gdbint.texinfo (Watchpoints): Describe how watchpoints are
	checked.  Describe sticky notification.  Expand description
	of steppable and continuable watchpoints.
	(Watchpoints and Threads): New subsection.

	* gdb.threads/watchthreads.c (thread_function): Sleep between
	iterations.
	* gdb.threads/watchthreads.exp: Allow two watchpoints to trigger
	at once for S/390.  Generate matching fails and passes.
2007-10-01 00:17:58 +00:00
gdbadmin 9f62ccd0e1 *** empty log message *** 2007-10-01 00:00:37 +00:00
gdbadmin baac0a8a36 *** empty log message *** 2007-09-30 00:00:02 +00:00
Daniel Jacobowitz 7921a279e3 * configure.ac: Add $LIBINTL when testing libbfd.
* configure: Regenerated.
2007-09-29 20:53:46 +00:00
gdbadmin f2476b303a *** empty log message *** 2007-09-29 00:00:04 +00:00
Eli Zaretskii fcda367bb9 (Set Breaks): Fix a typo. 2007-09-28 11:09:55 +00:00
Vladimir Prus fe6fbf8b6e * NEW: Mention pending breakpoint changes and
support for breakpoints at multiple locations.
	* gdb.texinfo (Setting Breakpoints): Revise
	documentation for pending breakpoints.  Document
	breakpoints with multiple locations.
2007-09-28 06:24:20 +00:00
gdbadmin 8be878263a *** empty log message *** 2007-09-28 00:00:03 +00:00
Daniel Jacobowitz daddc3c15f * arm-linux-tdep.c (arm_linux_software_single_step): New.
(arm_linux_init_abi): Use it.
	* arm-tdep.c (arm_get_next_pc): Make global.  Handle all-ones
	condition correctly.
	* arm-tdep.h (arm_get_next_pc): Declare.
	* Makefile.in (arm-linux-tdep.o): Update.
2007-09-27 18:48:33 +00:00
Vladimir Prus 7a4d50bfe0 * varobj.c (install_new_value): Don't
call value_get_print_value when a value is
	lazy.  Update the print_value member in a
	single place.
2007-09-27 18:04:12 +00:00
Vladimir Prus 6902ff2f04 Undo this part of previous checkin:
* gdb.mi/mi2-var-child.exp: Step over said
     initialization.

It's not necessary, and breaks the test.
2007-09-27 12:44:08 +00:00
Vladimir Prus 17f62551fb * gdb.mi/var-cmd.c (do_children_tests): Initialize
the 'struct_declarations' variable to zeros.
        * gdb.mi/mi2-var-child.exp: Step over said
        initialization.
2007-09-27 12:25:20 +00:00
gdbadmin e03a35752c *** empty log message *** 2007-09-27 00:00:33 +00:00
Vladimir Prus d32a698258 * breakpoint.c (create_breakpoint): Set
condition on each location, not on the first
	location of breakpoint.
2007-09-26 18:44:55 +00:00
Jim Blandy 489eaebade * remote.c (getpkt_sane): Fix error message. No animals were
harmed in the making of this debugger.
2007-09-26 18:32:54 +00:00
Pierre Muller 3e9313abcf 2007-09-26 Pierre Muller <muller@ics.u-strasbg.fr>
* p-typeprint.c: Fix 11 ARI reported problems.
	(pascal_print_type): Fix 4 operator at end of line.
	(pascal_type_print_method_args) : Replace 2 DEPRECATED_STREQN macros
	using strncmp function.
	(pascal_type_print_base): Fix 2 operator at end of line.
	(pascal_type_print_base) : Replace 3 DEPRECATED_STREQN macros
	using strncmp function.
2007-09-26 15:37:16 +00:00
Pierre Muller 5b8101ae7b 2007-09-26 Pierre Muller <muller@ics.u-strasbg.fr>
* Fix PR pascal/2231
	dwarf2read.c (read_subroutine_type):
	All pascal functions are prototyped.
2007-09-26 13:59:54 +00:00
Pierre Muller c45f11dab9 2007-09-26 Pierre Muller <muller@ics.u-strasbg.fr>
* Fix PR pascal/2283
	p-valprint.c (pascal_val_print): correct current language check.
	Also print array of char as strings.
2007-09-26 12:25:16 +00:00
Maciej W. Rozycki 59aa1faa75 * mips-tdep.c (mips_n32n64_return_value): Fix a comment. 2007-09-26 11:36:30 +00:00
gdbadmin da90be63ac *** empty log message *** 2007-09-26 00:00:02 +00:00
Pierre Muller 0b058123a0 2007-09-25 Pierre Muller <muller@ics.u-strasbg.fr>
* p-exp.y: Fix 12 ARI reported problems.
	(name_not_typename): Fix 2 operator at end of line issues.
	(yylex): Fix 3 operator at end of line issues.
	Replace 7 DEPRECATED_STREQ macros using strcmp function.
2007-09-25 16:23:55 +00:00
Maciej W. Rozycki b18bb924a2 * mips-tdep.c (mips_n32n64_return_value): Per N32/N64 ABI
rules return composite types in registers as appropriate.
2007-09-25 16:08:17 +00:00
gdbadmin 74a6051b58 *** empty log message *** 2007-09-25 00:00:02 +00:00
Jim Blandy 28c32713ac * symfile.h (struct symfile_segment_data): Doc fixes.
* symfile.c (symfile_map_offsets_to_segments): Doc fixes.
Assert that we were passed some loaded segment addresses,
and that sections' segment numbers are valid.
Simplify offset calculation.
* remote.c (get_offsets): Clarify selection of relocate-by-segment
strategy, and set num_segments correctly.  Delete redundant
assignments to do_sections.
2007-09-24 21:48:29 +00:00
Daniel Jacobowitz 3227663267 * frame.c (get_prev_frame_1): Also check for PC in the same register. 2007-09-24 21:34:58 +00:00
Vladimir Prus ed0616c6b7 * breakpoint.c (remove_sal): New.
(expand_line_sal_maybe): New.
	(create_breakpoints): Call expand_line_sal_maybe.
	(clear_command): Add comment.
	(breakpoint_re_set_one): Call expand_line_sal_maybe.
	* linespec.c (decode_indirect): Set explicit_pc to 1.
	(decode_all_digits): Set explicit_line to 1.
	(append_expanded_sal): New.
	(expand_line_sal): New.
	* linespec.h (expand_line_sal): Declare.
	* symtab.c (init_sal): Initialize explicit_pc
	and explicit_line.
	* symtab.h (struct symtab_and_line): New fields
	explicit_pc and explicit_line.
2007-09-24 07:40:32 +00:00
gdbadmin d83b1de40b *** empty log message *** 2007-09-24 00:00:02 +00:00
Daniel Jacobowitz 41f1b6975d * infcall.c (call_function_by_hand): Handle language-specific
pass and return by reference.

	* cp-abi.c (cp_pass_by_reference): New.
	* cp-abi.h (cp_pass_by_reference): Declare.
	(struct cp_abi_ops): Add pass_by_reference.
	* gnu-v3-abi.c (gnuv3_pass_by_reference): New.
	(init_gnuv3_ops): Set pass_by_reference.

	* language.c (language_pass_by_reference): New.
	(default_pass_by_reference): New.
	(unknown_language_defn, auto_language_defn, local_language_defn): Add
	default_pass_by_reference.
	* langauge.h (struct language_defn): Add la_pass_by_reference.
	(language_pass_by_reference, default_pass_by_reference): Declare.
	* ada-lang.c (ada_language_defn): Add default_pass_by_reference.
	* c-lang.c (c_language_defn, asm_language_defn)
	(minimal_language_defn): Likewise.
	(cplus_language_defn): Add cp_pass_by_reference.
	* f-lang.c (f_language_defn): Add default_pass_by_reference.
	* jv-lang.c (java_language_defn): Likewise.
	* m2-lang.c (m2_language_defn): Likewise.
	* objc-lang.c (objc_language_defn): Likewise.
	* p-lang.c (pascal_language_defn): Likewise.
	* scm-lang.c (scm_language_defn): Likewise

	* gdb.cp/pass-by-ref.cc, gdb.cp/pass-by-ref.exp: New files.
2007-09-23 16:25:06 +00:00
Pedro Alves 3f213f78ed * configure.ac: Do gdb.stabs tests by default on Cygwin and MinGW
targets.
	* configure: Regenerate.
2007-09-23 13:56:56 +00:00
Vladimir Prus 0d381245e3 * breakpoint.h (enum enable_state): Remove the
bp_shlib_disabled enumerator.
	(struct bp_location): New members shlib_disabled,
	global_next, enabled and function_name.
	Rename pending to condition_not_parsed.

	* breakpoint.c (ALL_BP_LOCATIONS): Iterate over global_next.
	(ALL_BP_LOCATIONS_SAFE): Likewise.
	(breakpoint_enabled): Don't check for pending.
	(condition_command): Free and update all locations of
	a breakpoint.
	(insert_bp_location): Adjust.
	(software_breakpoint_inserted_here_p): Don't care
	if breakpoint is enabled, as soon as it's inserted.
	(print_it_typical): Print bpstat's location, not
	bpstat's breakpoint's location.
	(bpstat_stop_status): Iterate over all locations, not
	all breakpoints.
	(print_breakpoint_location): New.
	(print_one_breakpoint): Renamed to
	(print_one_breakpoint_location): ...this. Take
	parameters to describe which location is being
	printed. Modify code to properly print header
	for several locations and individual locations.
	(print_one_breakpoint): Print all locations.
	(breakpoint_has_pc): New.
	(describe_other_breakpoints): Use the above.
	(check_duplicates): Renamed to...
	(check_duplicates_for): .. this.
	(check_duplicates): Use check_duplicates_for.
	(allocate_bp_location): Adjust.
	(set_raw_breakpoint_without_location): New,
	extracted from set_raw_breakpoint.
	(set_breakpoint_location_function): New.
	(set_raw_breakpoint): Use
	set_raw_breakpoint_without_location.
	(make_breakpoint_permanent): Mark all locations
	as inserted.
	(disable_breakpoints_in_shlibs): Iterate over
	locations.
	(disable_breakpoints_in_unloaded_shlib): Likewise.
	(re_enable_breakpoints_in_shlibs): Likewise.
	(mention): Say "pending" when breakpoint has
	zero locations.  If breakpoint has more than one
	location, say so.
	(add_location_to_breakpoint): New.
	(create_breakpoint): Accept symtabs_and_lines, not
	symtab_and_line. Pass extra sals to
	add_location_to_breakpoint.
	(create_breakpoints): Pass symtabs_and_lines to
	create_breakpoints.
	(break_command_1): Make pending breakpoints
	have zero locations.
	(do_captured_breakpoint): Remove wrong allocation.
	(clear_command): Iterate over all locations.
	(unlink_locations_from_global_list): Renamed
	from unlink_location_from_global_list. Remove
	all locations.
	(delete_breakpoint): Remove all locations.
	Iterate over all locations when deciding which
	other location to re-enable.
	(all_locations_are_pending): New.
	(update_breakpoint_locations): Renamed from
	update_breakpoint_location. Try to match old
	and new locations using names of containing
	functions.
	(breakpoint_re_set_one): Adjust.
	(find_location_by_number): New.
	(disable_command): Allow disabling individual location.
	(enable_command): Allow enabling individual location.
	* breakpoint.c: Adjust all uses of breakpoint's
	enable state to for bp_shlib_disabled change.
2007-09-23 07:56:22 +00:00
gdbadmin f58849bd46 *** empty log message *** 2007-09-23 00:00:36 +00:00
Vladimir Prus fe3f5fa8f9 * breakpoint.c (do_restore_lang_radix_cleanup): Remove.
(resolve_pending_breakpoint): Remove.
	(re_enable_breakpoints_in_shlibs): Remove.
	(unlink_locations_from_global_list): New.
	(update_breakpoint_locations): New.
	(breakpoint_re_set_one): Don't bail out on pending breakpoints.
	Use parse_condition and update_breakpoint_location to
	reset breakpoint.  Ignore 'symbol not found' error from
	decode_line_1.
	(breakpoint_re_set): Don't emit newline before the
	reason why breakpoint is not reset.
	(do_enable_breakpoint): Don't specially process pending
	breakpoints.
	(free_bp_location): New.
	(break_command_1): For pending breakpoints, initialize
	all fields of a sal with zeroes.
	* breakpoint.h (re_enable_breakpoints_in_shlibs): Remove.
	* infcmd.c (post_create_inferior): Don't call
	re_enable_breakpoints_in_shlibs.
	* infrun.c (handle_inferior_event): Likewise.
	* solib-irix.c (irix_solib_create_inferior_hook): Likewise.
	* solib-osf.c (osf_solib_create_inferior_hook): Likewise.
	* win32-nat.c (get_win32_debug_event): Likewise.
2007-09-22 19:33:32 +00:00
Vladimir Prus 018d34a46b * breakpoint.c (create_breakpoint): Split from
create_breakpoints, implementing most of its logic.
	Take just a single sal, single address string and
	single condition.  Do not take parsed condition at
	all.
	(create_breakpoints): Just call create_breakpoint
	for each sal.
	(find_condition_and_thread): New.
	(break_command_1): Use find_condition_and_thread.
	Do not keep parsed conditions.
	(do_captured_breakpoint): Don't convert
	condition string to struct expression.
2007-09-22 19:10:05 +00:00
Vladimir Prus 511a6cd4e1 gdb/
* breakpoint.h (struct breakpoint): Move the cond
	field to...
	(struct bp_location): Here.
	* breakpoint.c (condition_command, bpstat_stop_status)
	(print_one_breakpoint, allocate_bp_location)
	(solib_load_unload_1, create_fork_vfork_event_catchpoint)
	(create_exec_event_catchpoint, create_breakpoints)
	(break_command_1, watch_command_1, handle_gnu_v3_exceptions)
	(create_ada_exception_breakpoint, set_breakpoint_sal)
	(delete_breakpoint, breakpoint_re_set_one): Adjust.
	* tui/tui-winsource.c (tui_update_breakpoint_info): Adjust.
2007-09-22 19:06:59 +00:00
Vladimir Prus 4f8d1dc6a5 Associate bp_stat with bp_location, not breakpoint.
* breakpoint.h (breakpoint_at): Change type
	to bp_location*.
	* breakpoint.c (bpstat_alloc): Take bp_location,
	not breakpoint.
	(bpstat_find_breakpoint): Look at bpstat's location's
	owner, not at bpstat->breakpoint_at.
	(bpstat_find_step_resume_breakpoint): Likewise.
	(bpstat_num): Likewise.
	(print_it_typical): Likewise.
	(print_bp_stop_message): Likewise.
	(watchpoint_check): Likewise.
	(bpstat_what): Likewise.
	(bpstat_get_triggered_catchpoints): Likewise.
	(breakpoint_auto_delete): Likewise.
	(delete_breakpoint): Likewise.
	(bpstat_stop_status): Pass location, not breakpoint,
	to bpstat_alloc.  Look at bpstat's location's
	owner, not at bpstat->breakpoint_at.
2007-09-22 17:49:41 +00:00
Jim Blandy 3262338673 * macrotab.h (new_macro_table): Document that removing information
from an obstack/bcache-managed macro table leaks memory.
* macrotab.c (macro_free, macro_bcache_free): Instead of asserting
that data is never freed in obstack/bcache-managed macro tables,
just leak the storage.
(macro_undef): If we're undefining a macro at exactly the same
source location that we defined it, simply remove the definition
altogether.
2007-09-22 01:09:19 +00:00
gdbadmin 5aa6af59af *** empty log message *** 2007-09-22 00:00:33 +00:00
Daniel Jacobowitz a75cf6c00c * gdb.base/sepdebug.exp (test_different_dir): Append to pf_prefix. 2007-09-21 22:42:52 +00:00
Joel Brobecker c295b2e505 * symfile.h (struct sym_fns): Add new field sym_read_linetable.
* coffread.c, dbxread.c, elfread.c, mipsread.c somread.c:
        Adjust the struct sym_fns object accordingly by setting
        the new field to NULL.
        * xcoffread.c (aix_process_linenos): Make static.
        (xcoff_sym_fns): Set new field to aix_process_linenos.
        * buildsym.c (end_symtab): Replace call to PROCESS_LINENUMBER_HOOK
        by call to new the new sym_fns sym_read_linetable function.
        * config/powerpc/aix.mt (DEPRECATED_TM_FILE): Delete.
        * config/rs6000/tm-rs6000.h: Delete.
2007-09-21 18:01:26 +00:00
Maciej W. Rozycki ab2e1992cf * mips-tdep.c (mips_n32n64_push_dummy_call): Per N32/N64 ABI
rules do not treat composite types specially.
2007-09-21 15:54:58 +00:00
gdbadmin aca99d3e4e *** empty log message *** 2007-09-21 00:00:03 +00:00
Maciej W. Rozycki 97ab0fdd9d * mips-tdep.c (mips32_in_function_epilogue_p): New function.
(mips16_in_function_epilogue_p): Likewise.
(mips_in_function_epilogue_p): Likewise.
(mips_gdbarch_init): Register mips_in_function_epilogue_p().
2007-09-20 15:34:19 +00:00
gdbadmin ea3c290040 *** empty log message *** 2007-09-20 00:00:02 +00:00
Joel Brobecker 01fe12f6fb * configure.ac: Add check for "etext".
* configure, config.in: Regenerate.
        * maint.c (TEXTEND): Only define if either _etext or etext
        are available.
        Disable the profiling functionality if TEXTEND is not defined.
2007-09-19 22:00:34 +00:00
Daniel Jacobowitz aa6c981f95 * mips-tdep.c (mips_stub_frame_cache): Correct the saved return
address register.  Correct the call to frame_id_build.
	(mips_stub_frame_sniffer): Use the stub unwinder when the PC
	is invalid.
2007-09-19 14:45:39 +00:00
Daniel Jacobowitz fd462a6189 * linux-low.c (O_LARGEFILE): Define.
(linux_read_memory): Use /proc/PID/mem.
	* configure.ac: Use AC_GNU_SOURCE.  Check for pread64.
	* configure, config.in: Regenerated.
2007-09-19 14:41:50 +00:00
gdbadmin 039cfc074b *** empty log message *** 2007-09-19 00:00:02 +00:00