+2007-10-03 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * NEWS: Use uniform spacing. Correct version number for GDB 6.7
+ news. Mention XML support for M68K in GDB 6.7.
+
+2007-10-03 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gdbtypes.c (create_range_type): Do not set TYPE_FIELD_TYPE for the
+ bounds.
+ (init_vector_type): Use builtin_type_int32.
+
+2007-10-02 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * s390-tdep.c (s390_regset_from_core_section): Allow excess section
+ size to enable bi-arch generate-core-file support.
+
+2007-10-02 Markus Deuling <deuling@de.ibm.com>
+
+ * spu-tdep.c (info_spu_signal_command): Fix output for SPU signal.
+
+2007-10-02 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
+
+ * tui/tui-interp.c (tui_init): Initialize tui's SIGWINCH
+ signal handler.
+ * tui/tui-win.c (tui_initialize_win): New function for
+ initializing tui's SIGWINCH signal handler.
+ * tui/tui-win.h (tui_initialize_win): Declare.
+
+2007-10-02 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-linux-nat.c (ppc_linux_stopped_data_address): Cast
+ pointer to uintptr_t before casting to CORE_ADDR.
+
+2007-10-02 Markus Deuling <deuling@de.ibm.com>
+
+ * linux-nat.c (PTRACE_GETSIGINFO): Add define.
+
+2007-10-02 Mark Mitchell <mark@codesourcery.com>
+
+ * mingw-hdep.c (gdb_select): Stop helper threads before returning.
+ * ser-mingw.c (enum select_thread_state): New type.
+ (struct ser_console_state): Add have_started and thread_state.
+ (select_thread_wait): New function.
+ (thread_fn_type): New type.
+ (create_select_thread): New function.
+ (destroy_select_thread): Likewise.
+ (start_select_thread): Likewise.
+ (stop_select_thread): Likewise.
+ (console_select_thread): Use new functions.
+ (pipe_select_thread): Likewise.
+ (file_select_thread): Likewise.
+ (ser_console_wait_handle): Likewise.
+ (ser_console_done_wait_handle): Likewise.
+ (ser_console_close): Likewise.
+ (free_pipe_state): Likewise.
+ (pipe_wait_handle): Likewise.
+ (pipe_done_wait_handle): Likewise.
+ (struct net_windows_state): Derive from ser_console_state.
+ (net_windows_select_thread): Use new functions.
+ (net_windows_wait_handle): Likewise.
+ (net_windows_done_wait_handle): Likewise.
+ (net_windows_close): Likewise.
+
+2007-10-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * inflow.c (terminal_ours_1): Remove useless line.
+
+2007-10-02 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * mips-tdep.c (mips_read_fp_register_double): Correct check for
+ odd FP registers.
+ (mips_print_fp_register): Correct check for even FP registers.
+ (mips_virtual_frame_pointer): New function.
+ (mips_gdbarch_init): Call set_gdbarch_virtual_frame_pointer.
+
+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-09-30 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * 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-09-30 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.
+
+2007-09-29 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * configure.ac: Add $LIBINTL when testing libbfd.
+ * configure: Regenerated.
+
+2007-09-28 Vladimir Prus <vladimir@codesourcery.com>
+
+ * NEW: Mention pending breakpoint changes and
+ support for breakpoints at multiple locations.
+
+2007-09-27 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * 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-26 Vladimir Prus <vladimir@codesourcery.com>
+
+ * 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-26 Vladimir Prus <vladimir@codesourcery.com>
+
+ * breakpoint.c (create_breakpoint): Set
+ condition on each location, not on the first
+ location of breakpoint.
+
+2007-09-26 Jim Blandy <jimb@codesourcery.com>
+
+ * remote.c (getpkt_sane): Fix error message. No animals were
+ harmed in the making of this debugger.
+
+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 Pierre Muller <muller@ics.u-strasbg.fr>
+
+ * Fix PR pascal/2231
+ dwarf2read.c (read_subroutine_type):
+ All pascal functions are prototyped.
+
+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 David Ung <davidu@mips.com>
+ Maciej W. Rozycki <macro@mips.com>
+
+ * mips-tdep.c (mips_n32n64_return_value): Fix a comment.
+
+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 David Ung <davidu@mips.com>
+ Maciej W. Rozycki <macro@mips.com>
+
+ * mips-tdep.c (mips_n32n64_return_value): Per N32/N64 ABI
+ rules return composite types in registers as appropriate.
+
+2007-09-24 Jim Blandy <jimb@codesourcery.com>
+
+ * 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 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * frame.c (get_prev_frame_1): Also check for PC in the same register.
+
+2007-09-24 Vladimir Prus <vladimir@codesourcery.com>
+
+ * 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-23 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * 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
+
+2007-09-23 Vladimir Prus <vladimir@codesourcery.com>
+
+ Allow a code breakpoint to have several locations
+ associated with it.
+ * 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-22 Vladimir Prus <vladimir@codesourcery.com>
+
+ * 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 Vladimir Prus <vladimir@codesourcery.com>
+
+ * 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 Vladimir Prus <vladimir@codesourcery.com>
+
+ * 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 Vladimir Prus <vladimir@codesourcery.com>
+
+ 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-21 Jim Blandy <jimb@codesourcery.com>
+
+ * 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-21 Joel Brobecker <brobecker@adacore.com>
+
+ * 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 David Ung <davidu@mips.com>
+ Maciej W. Rozycki <macro@mips.com>
+
+ * mips-tdep.c (mips_n32n64_push_dummy_call): Per N32/N64 ABI
+ rules do not treat composite types specially.
+
+2007-09-20 Maciej W. Rozycki <macro@mips.com>
+
+ * 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-19 Joel Brobecker <brobecker@adacore.com>
+
+ * 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 Daniel Jacobowitz <dan@codesourcery.com>
* mips-tdep.c (mips_stub_frame_cache): Correct the saved return
* gdbthread.h (switch_to_thread): Add prototype.
* thread.c (switch_to_thread): Make global.
-2007-09-07 2007-09-07 Pierre Muller <muller@ics.u-strasbg.fr>
+2007-09-07 Pierre Muller <muller@ics.u-strasbg.fr>
* p-valprint.c: Fix 7 ARI reported problems.
(pascal_val_print): Fix one operator at end of line issue.