* NEWS: Use uniform spacing. Correct version number for GDB 6.7
[binutils-gdb.git] / gdb / ChangeLog
index 814fc5e11292aff5f26860dbfd135e31c49baabc..2668f751fd7628fcaea6d23f558f87a37d0036b3 100644 (file)
@@ -1,3 +1,475 @@
+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.
        * 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.