* sparc-linux-tdep.c, sparc64-linux-tdep.c: Use
[binutils-gdb.git] / gdb / ChangeLog
index 885db4f40768e4e76b040984b169cc763d5c43ec..ab2dc68216dcee5aa78072d889fe4dd2c7706dd8 100644 (file)
@@ -1,3 +1,439 @@
+2008-05-11  David S. Miller  <davem@davemloft.net>
+
+       * sparc-linux-tdep.c, sparc64-linux-tdep.c: Use
+       dwarf2_append_unwinders(), not dwarf2_frame_sniffer.
+
+2008-05-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * rs6000-tdep.c (rs6000_gdbarch_init): Set up info.target_desc
+       and info.tdep_info before calling gdbarch_init_osabi.
+
+2008-05-09  Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c (ada_evaluate_subexp) [BINOP_ASSIGN]: Do not force
+       the type of the right hand side of the assignment to the type
+       of the left hand side if the left hand side is a convenience
+       variable.
+
+2008-05-09  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * NEWS: Mention gdbserver bi-arch capability.
+
+2008-05-09  Doug Evans  <dje@google.com>
+
+       New "find" command.
+       * NEWS: Document find command and qSearch:memory packet.
+       * Makefile.in (SFILES): Add findcmd.c.
+       (COMMON_OBJS): Add findcmd.o.
+       (findcmd.o): New rule.
+       * findcmd.c: New file.
+       * target.h (target_ops): New member to_search_memory.
+       (simple_search_memory): Declare.
+       (target_search_memory): Declare.
+       * target.c (simple_search_memory): New fn.
+       (target_search_memory): New fn.
+       * remote.c (PACKET_qSearch_memory): New packet kind.
+       (remote_search_memory): New fn.
+       (init_remote_ops): Init to_search_memory.
+       (init_extended_remote_ops): Ditto.
+       (_initialize_remote): Add qSearch:memory packet config command.
+
+2008-05-09  Eli Zaretskii  <eliz@gnu.org>
+
+       * thread.c (_initialize_thread): Don't use commas and periods in
+       first line of doc string of "set/show print thread-events".
+
+2008-05-08  Joel Brobecker  <brobecker@adacore.com>
+
+       * alpha-mdebug-tdep.c, alpha-osf1-tdep.c, alpha-tdep.c:
+       Update for unwinder changes.
+
+2008-05-08  Joel Brobecker  <brobecker@adacore.com>
+
+       * frame.c (get_frame_base_address, get_frame_locals_address)
+       (get_frame_args_address): Pass the correct frame when calling
+       frame_base_find_by_frame.
+
+2008-05-08  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * remote.c (extended_remote_attach_1): Call target_find_description.
+
+2008-05-08  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * remote.c (extended_remote_create_inferior_1): Clean up
+       before marking the target running.
+
+2008-05-08  Joel Brobecker  <brobecker@adacore.com>
+
+       * hppa-tdep.h, hppa-tdep.c, hppa-hpux-tdep.c: Update for unwinder
+       changes.
+
+2008-05-07  Joel Brobecker  <brobecker@adacore.com>
+
+       * sparc-tdep.c, sparc-tdep.h, sparc-sol2-tdep.c, sparc64-tdep.c,
+       sparc64-sol2-tdep.c: Update for unwinder changes.
+
+2008-05-07  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * cp-support.c (mangled_name_to_comp): Initialize storage.
+       (unqualified_name_from_comp): Likewise.
+
+2008-05-07  Jie Zhang  <jie.zhang@analog.com>
+
+       * remote.c (remote_insert_breakpoint): Call get_remote_state
+       after gdbarch_breakpoint_from_pc is called.
+       (remote_insert_hw_breakpoint): Likewise.
+
+2008-05-06  Joel Brobecker  <brobecker@adacore.com>
+
+       * valprint.c (val_print): Add new language parameter and use it
+       instead of using the current_language. Update calls to val_print
+       throughout.
+       (common_val_print): Add new langauge parameter and pass it to
+       val_print.
+       * value.h (struct language_defn): Add opaque declaration.
+       (val_print, common_val_print): Update declarations.
+       * stack.c (print_frame_args): Update call to common_val_print
+       using the appropriate language.
+       * mi/mi-cmd-stack.c (list_args_or_locals): Likewise.
+       * c-valprint, f-valprint.c, m2-valprint.c, mt-tdep.c, infcmd.c,
+       mi/mi-main.c, jv-valprint.c, ada-valprint.c, varobj.c, p-valprint.c,
+       scm-valprint.c, cp-valprint.c, sh64-tdep.c, printcmd.c:
+       #include "language.h" if necessary.
+       Update calls to val_print and common_val_print.
+       * Makefile.in (mt-tdep.o, sh64-tdep.o, mi-cmds.o, mi-main.o):
+       Update dependencies.
+
+2008-05-06  Joel Brobecker  <brobecker@adacore.com>
+
+       * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Treat addresses
+       pointing inside a non-executable section as function descriptors.
+
+2008-05-06  Pedro Alves  <pedro@codesourcery.com>
+
+       * inf-loop.c (inferior_event_handler): Run all continuations and
+       print any language change before running the breakpoint commands.
+
+2008-05-06  Joel Brobecker  <brobecker@adacore.com>
+
+       * frame-unwind.c (frame_unwind_got_bytes): New function.
+       * frame-unwind.h (frame_unwind_got_bytes): Add declaration.
+       * libunwind-frame.h, libunwind-frame.c, ia64-tdep.c: Update
+       for unwinder changes.
+
+2008-05-05  Doug Evans  <dje@google.com>
+
+       * NEWS: Mention new /m modifier for disassemble command.
+       * cli/cli-cmds.c (print_disassembly): New function.
+       (disassemble_current_function): New function
+       (disassemble_command): Recognize /m modifier, print mixed
+       source+assembly.
+       (init_cli_cmds): Update disassemble help text.
+
+2008-05-05  Maxim Grigoriev  <maxim2405@gmail.com>
+
+       * xtensa-tdep.c: Update for unwinder changes.
+
+2008-05-05  Andreas Schwab  <schwab@suse.de>
+
+       Update m68k port for unwinder changes.
+       * m68k-tdep.c (m68k_frame_cache): Expect this_frame.
+       (m68k_frame_this_id, m68k_frame_prev_register): Update signature.
+       (m68k_frame_unwind): Use default_frame_sniffer.
+       (m68k_frame_sniffer): Remove.
+       (m68k_frame_base_address): Expect this_frame.
+       (m68k_dummy_id): Renamed from m68k_unwind_dummy_id.  Expect
+       this_frame.
+       (m68k_gdbarch_init): Use set_gdbarch_dummy_id,
+       dwarf2_append_unwinders, and frame_unwind_append_unwinder.
+       * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Expect frame_info
+       parameter instead of pc value.
+       (m68k_linux_get_sigtramp_info, m68k_linux_sigtramp_frame_cache):
+       Expect this_frame.
+       (m68k_linux_sigtramp_frame_this_id)
+       (m68k_linux_sigtramp_frame_prev_register)
+       (m68k_linux_sigtramp_frame_sniffer): Update signature.
+       (m68k_linux_sigtramp_frame_unwind): Use
+       m68k_linux_sigtramp_frame_sniffer.
+       (m68k_linux_init_abi): Use frame_unwind_append_unwinder.
+
+       * m68klinux-nat.c (store_register): Fix typo.
+
+2008-05-05  Pedro Alves  <pedro@codesourcery.com>
+
+       * infcmd.c (step_1): Put thread id on the stack to avoid possible
+       NULL dereferencing.
+
+2008-05-05  Luis Machado  <luisgpm@br.ibm.com>
+
+       * symfile.c (reread_symbols): Update objfile's entry point.
+
+2008-05-05  Aleksandar Ristovski  <aristovski@qnx.com>
+           Joel Brobecker  <brobecker@adacore.com>
+
+       * ada-lang.c: Update throughout to use symbol_matches_domain
+       instead of matching the symbol domain explictly.
+       * dwarf2read.c (add_partial_symbol): Do not add new psym for
+       STRUCT_DOMAIN. Make sure you recognize c++ struct and java and ada
+       class as typedefs. See lookup_partial_symbol function.
+       (new_symbol): Similar to add_partial_symbol, do not create
+       symbol for the typedef. See lookup_block_symbol.
+       * symtab.c (symbol_matches_domain): New function, takes care
+       of dual meaning of STRUCT_DOMAIN symbol for c++, ada and java.
+       (lookup_partial_symbol): Use symbol_matches_domain to see if the
+       found psym domain matches the given domain.
+       (lookup_block_symbol): Likewise.
+
+2008-05-05  Vladimir Prus  <vladimir@codesourcery.com>
+
+        * top.c (command_line_handler_continuation): Remove.
+        (execute_command): Do not install the above.
+
+2008-05-05  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * inf-loop.c (inferior_event_handler): Call bpstat_do_action,
+       and catch all exceptions from it.
+       * top.c (command_line_handler_continuation): Don't
+       call bpstat_do_action here.
+
+2008-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * dwarf2read.c (struct dwarf2_cu): Add type_hash.
+       (struct die_info): Remove type.
+       (read_type_die, read_typedef, read_base_type, read_subrange_type)
+       (read_structure_type, read_enumeration_type, read_array_type)
+       (read_tag_pointer_type, read_tag_ptr_to_member_type)
+       (read_tag_reference_type, read_tag_const_type, read_tag_volatile_type)
+       (read_tag_string_type, read_subroutine_type, read_set_type)
+       (read_unspecified_type): Delete prototypes.  Remove check for
+       already-loaded type.  Return the new type.
+       (set_die_type): Return the new type.
+       (reset_die_and_siblings_types): Delete.
+       (load_comp_unit, load_full_comp_unit): Set type_hash.
+       (process_queue): Remove call to reset_die_and_siblings_types.
+       (process_die): Do not read most types here.  Use read_type_die
+       for others.
+       (read_func_scope, dwarf2_add_member_fn): Use read_type_die.
+       (quirk_gcc_member_function_pointer): Return the new type.
+       (process_structure_scope, process_enumeration_scope): Use
+       get_die_type and read the DIE's type.
+       (read_full_die): Do not initialize die->type.
+       (tag_type_to_type): Use read_type_die.
+       (read_type_die): Check for already defined types.  Return the
+       type.
+       (determine_prefix): Use get_die_type.
+       (set_die_type): Return the type.
+       (get_die_type): Take a CU argument.  Check for no type_hash.
+
+2008-05-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * dwarf2read.c (dwarf2_ranges_read, read_partial_die): Initialize
+       locals.
+
+2008-05-04  Pedro Alves  <pedro@codesourcery.com>
+
+       * breakpoint.c (update_breakpoints_after_exec): Delete bp_longjmp
+       and bp_longjmp_resume breakpoints.
+       (breakpoint_address_is_meaningful): Claim bp_longjmp_resume as
+       meaningful.
+       (create_longjmp_breakpoint): Don't create bp_longjmp_resume
+       breakpoints.  Create bp_longjmp breakpoints as momentary
+       breakpoints.
+       (enable_longjmp_breakpoint): Delete.
+       (set_longjmp_breakpoint): New.
+       (disable_longjmp_breakpoint): Delete.
+       (delete_longjmp_breakpoint): New.
+       (set_longjmp_resume_breakpoint): Delete.
+       (set_momentary_breakpoint_at_pc): New.
+       (breakpoint_re_set_one): Don't delete bp_longjmp and
+       bp_longjmp_resume breakpoints.
+       (breakpoint_re_set): Don't create longjmp and longjmp-resume
+       breakpoints.
+
+       * infrun.c (step_resume_breakpoint): Add comment.
+       (struct execution_control_state): Delete handling_longjmp member.
+       (init_execution_control_state). Don't clear handling_longjmp.
+       (context_switch): Don't context switch handling_longjmp.
+       (handle_inferior_event): If handling a bp_longjmp breakpoint,
+       create a bp_longjmp_resume breakpoint, and set it as current
+       step_resume_breakpoint, then step over the longjmp breakpoint.  If
+       handling a bp_longjmp_resume breakpoint, don't delete the longjmp
+       breakpoint, delete the longjmp-resume breakpoint, and stop
+       stepping.
+       (currently_stepping): Remove handling_longjmp from expression.
+       (insert_step_resume_breakpoint_at_sal): Update comment.
+       (insert_longjmp_resume_breakpoint): New.
+
+       * breakpoint.h (set_momentary_breakpoint_at_pc): Declare.
+       (enable_longjmp_breakpoint, disable_longjmp_breakpoint): Delete
+       declarations.
+       (set_longjmp_breakpoint, delete_longjmp_breakpoint): Declare.
+       (set_longjmp_resume_breakpoint): Delete declaration.
+
+       * gdbthread.h (save_infrun_state): Remove handling_longjmp
+       parameter.
+       (load_infrun_state): Delete *handling_longjmp parameter.
+       * thread.c (save_infrun_state): Remove handling_longjmp parameter.
+       Update body.
+       (load_infrun_state): Delete *handling_longjmp parameter.  Update
+       body.
+
+       * infcmd.c (disable_longjmp_breakpoint_cleanup): Delete.
+       (delete_longjmp_breakpoint_cleanup): New.
+       (step_1): Call set_longjmp_breakpoint instead of
+       enable_longjmp_breakpoint.  Use delete_longjmp_breakpoint_cleanup
+       instead of disable_longjmp_breakpoint_cleanup when making cleanup.
+       (step_1_continuation): Pass thread id in the continuation args to
+       step_once.
+       (step_once): Add thread parameter.  Pass thread id the the
+       continuation.
+
+2008-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Set CU BASE_ADDRESS already from partial DIEs.
+       * dwarf2read.c (read_partial_die): New variables BASE_ADDRESS and
+       BASE_ADDRESS_TYPE.  Set these variables from DW_AT_LOW_PC and
+       DW_AT_ENTRY_PC.  Set CU->HEADER.BASE_KNOWN and CU->HEADER.BASE_ADDRESS
+       from these variables if it was still unset.
+
+       * Makefile.in: Update dependencies.
+       * dwarf2read.c: Include "addrmap.h"
+       (struct dwarf2_cu): New fields RANGES_OFFSET and HAS_RANGES_OFFSET.
+       (dwarf2_ranges_read): New prototype.
+       (dwarf2_build_psymtabs_hard): Initialize and prepare PSYMTABS_ADDRMAP.
+       Add discontiguous range to PSYMTABS_ADDRMAP by DWARF2_RANGES_READ on
+       HAS_RANGES_OFFSET, otherwise add there the contiguous range.
+       (dwarf2_ranges_read): New parameter RANGES_PST, update the function
+       comment for it.  Add the found ranges to RANGES_PST.  New variable
+       BASEADDR, initialize it the common way.
+       (dwarf2_get_pc_bounds): Update the caller for the new parameter.
+       (read_partial_die): `DW_AT_ranges' now only sets RANGES_OFFSET and
+       HAS_RANGES_OFFSET for the later processing.
+       * objfiles.h (struct objfile): New field PSYMTABS_ADDRMAP.
+       * symtab.c: Include "addrmap.h"
+       (find_pc_sect_psymtab): Support reading the field PSYMTABS_ADDRMAP.
+       Move the psymtab locator into ...
+       (find_pc_sect_psymtab_closer): ... a new function.
+
+2008-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * arch-utils.c (gdbarch_update_p): Use default values for
+       info.abfd and info.target_desc if they are NULL.
+       (gdbarch_from_bfd): Remove assertion.
+       (set_gdbarch_from_file): Call gdbarch_find_by_info directly,
+       using the current target description.
+       (gdbarch_info_fill): Do not use default values for info->abfd
+       and info->target_desc.
+
+2008-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * symfile.c (reread_symbols): Reload EXEC_BFD on its change.
+
+2008-05-04  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * inferior.h (read_pc_pid, write_pc_pid): Remove.
+       * regcache.h (regcache_read_pc, regcache_write_pc): Add prototypes.
+
+       * regcache.c (read_pc_pid): Remove, replace by ...
+       (regcache_read_pc): ... this function.
+       (write_pc_pid): Remove, replace by ...
+       (regcache_write_pc): ... this function.
+       (read_pc, write_pc): Update.
+
+       * infrun.c (displaced_step_prepare): Replace read_pc_pid and
+       write_pc_pid by regcache_read_pc and regcache_write_pc.
+       (displaced_step_fixup): Likewise.
+       (resume): Likewise.  Use regcache arch instead of current_gdbarch.
+       (prepare_to_proceed): Likewise.
+       (proceed): Likewise.
+       (adjust_pc_after_break): Likewise.
+       (handle_inferior_event): Likewise.
+
+       * linux-nat.c (cancel_breakpoint): Likewise.
+       * linux-thread-db.c (check_event): Likewise.
+       * aix-thread.c (aix_thread_wait): Likewise.
+       * tracepoint.c (trace_dump_command): Likewise.
+
+2008-05-04  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing
+       SYMBOL_LOCATION_BATON.
+
+2008-05-04  Vladimir Prus  <vladimir@codesourcery.com>
+
+       * target.h (struct target_ops): New field to_auxv_parse.
+       * auxv.c (default_auxv_parse): New, renamed from previous
+       target_auxv_parse.
+       (target_auxv_parse): Try to call target method.  Fallback to
+       default_auxv_parse if not found.
+       * procfs.c (procfs_auxv_parse): New.
+       (init_procfs_ops): On Solaris, in 64-bit mode, install
+       procfs_auxv_parse.
+
+2008-05-03  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * symfile.c (add_symbol_file_command):  Use paddress rather than
+       hex_string to print the address.
+
+2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * rs6000-tdep.c (rs6000_frame_this_id): If info->base is 0,
+       return the null frame ID to terminate the backtrace.
+
+2008-05-03  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * rs6000-tdep.c: Do not include "rs6000-tdep.h".
+       (rs6000_find_toc_address_hook): Move to rs6000-aix-tdep.c.
+       (SIG_FRAME_PC_OFFSET): Likewise.
+       (SIG_FRAME_LR_OFFSET): Likewise.
+       (SIG_FRAME_FP_OFFSET): Likewise.
+       (rs6000_push_dummy_call): Likewise.
+       (rs6000_return_value): Likewise.
+       (rs6000_convert_from_func_ptr_addr): Likewise.
+       (branch_dest, rs6000_software_single_step): Likewise.
+       (deal_with_atomic_sequence): Rename to ...
+       (ppc_deal_with_atomic_sequence): ... this.  Adapt all callers.
+       Do not call branch_dest; inline required parts of that function.
+       (rs6000_skip_trampoline_code): Replace DEPRECATED_SYMBOL_NAME
+       with SYMBOL_LINKAGE_NAME.
+       (struct reg, regsize): Delete.
+       (read_memory_addr): Delete; inline into callers.
+       (rs6000_skip_prologue): Move after skip_prologue.
+       (skip_prologue): Remove prototype.
+       (rs6000_gdbarch_init): Remove sysv_abi variable; perform all
+       initialization as if this variable were true.  Do not install
+       ppc64_sysv_abi_adjust_breakpoint_address.
+
+       * rs6000-aix-tdep.c: Include "gdb_assert.h", "gdbtypes.h",
+       "gdbcore.h", "target.h", "value.h", "infcall.h", "objfiles.h",
+       and "breakpoint.h".
+       (rs6000_find_toc_address_hook): Move here from rs6000-tdep.c.
+       (SIG_FRAME_PC_OFFSET): Likewise.
+       (SIG_FRAME_LR_OFFSET): Likewise.
+       (SIG_FRAME_FP_OFFSET): Likewise.
+       (rs6000_push_dummy_call): Likewise.
+       (rs6000_return_value): Likewise.
+       (rs6000_convert_from_func_ptr_addr): Likewise.
+       (branch_dest, rs6000_software_single_step): Likewise.  Replace
+       tdep->text_segment_base by AIX_TEXT_SEGMENT_BASE.
+       (rs6000_aix_init_osabi): Install rs6000_push_dummy_call,
+       rs6000_return_value, and rs6000_convert_from_func_ptr_addr.
+       Call set_gdbarch_long_double_bit and set_gdbarch_frame_red_zone_size.
+       Set tdep->lr_frame_offset.  Do not set tdep->text_segment_base.
+
+       * rs6000-tdep.h (rs6000_software_single_step): Remove prototype.
+       (AIX_TEXT_SEGMENT_BASE): New macro.
+       * rs6000-nat.c (exec_one_dummy_insn): Replace tdep->text_segment_base
+       by AIX_TEXT_SEGMENT_BASE.
+
+       * ppc-tdep.h (ppc_deal_with_atomic_sequence): Add prototype.
+       (struct gdbarch_tdep): Remove text_segment_base member.
+       * ppc-linux-tdep.c (ppc_linux_init_abi): On 64-bit, install
+       ppc64_sysv_abi_adjust_breakpoint_address.
+
+       * Makefile.in (rs6000-tdep.o): Update dependencies.
+       (rs6000-aix-tdep.o): Likewise.
+
 2008-05-03  Luis Machado  <luisgpm@br.ibm.com>
            Thiago Jung Bauermann  <bauerman@br.ibm.com>
 
        (handle_gnu_v3_exceptions): Call generic breakpoint code to insert
        catch and throw catchpoints.
 
-2008-05-01  Aleksandar Riswtovski <aristovski@qnx.com>
+2008-05-01  Aleksandar Ristovski  <aristovski@qnx.com>
 
        PR gdb/2343
        * corelow.c (core_open): Use gdbarch_target_signal_from_host to
        PR gdb/2445
        * exec.c: Correct "arch-utils.h" include.
 
-2008-04-15  Aleksandar Ristovski <aristovski@qnx.com>
+2008-04-15  Aleksandar Ristovski  <aristovski@qnx.com>
 
        PR gdb/2424
        * infrun.c (normal_stop) Move breakpoint_auto_delete further down
        * symmisc.c (free_symtab_block): Delete.
        (free_symtab, case free_code): Delete.
 
-2008-04-01  Aleksandar Ristovski <aristovski@qnx.com>
+2008-04-01  Aleksandar Ristovski  <aristovski@qnx.com>
 
        * valops.c (value_cast_structs): New function. Cast related
        STRUCT types up/down and return cast value. The body of this 
 
        * ia64-tdep.c (examine_prologue): Correct array access.
 
-2008-03-28  Aleksandar Ristovski <aristovski@qnx.com>
+2008-03-28  Aleksandar Ristovski  <aristovski@qnx.com>
 
        * cp-support.c (first_component_command): Return if no arguments.