From 67de2a4c95188319e60ddf491c55d0a8ef568678 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Sat, 3 Jan 2009 05:10:18 +0000 Subject: Rotate the ChangeLog as per the Start of New Year Procedure. --- gdb/ChangeLog-2008 | 11618 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 11618 insertions(+) create mode 100644 gdb/ChangeLog-2008 (limited to 'gdb/ChangeLog-2008') diff --git a/gdb/ChangeLog-2008 b/gdb/ChangeLog-2008 new file mode 100644 index 0000000..edce418 --- /dev/null +++ b/gdb/ChangeLog-2008 @@ -0,0 +1,11618 @@ +2009-01-01 Pedro Alves + + PR breakpoints/9681: + * exceptions.h (enum errors): New error type, MEMORY_ERROR. + * corefile.c (memory_error): Rewrite to throw a MEMORY_ERROR. + * breakpoint.c (fetch_watchpoint_value): Ignore MEMORY_ERRORs, but + retrow all other exceptions. + +2008-12-31 Pedro Alves + + PR gdb/8812: + * infrun.c (handle_command): Don't print a header or notify the + target about signal changes if we didn't change any signal. + +2008-12-29 Joel Brobecker + + * valops.c (find_method_list): Minor reformatting in comment. + +2008-12-29 Pedro Alves + + PR gdb/7536: + * valprint.c (input_radix_1): New static global. + (set_input_radix): Use it instead of "input_radix". + (set_input_radix_1): Always leave input_radix_1 set to + input_radix. + (output_radix_1): New static global. + (set_output_radix): Use it instead of "output_radix". + (set_output_radix_1): Always leave output_radix_1 set to + output_radix. + (_initialize_valprint): Use "input_radix_1" instead of + "input_radix" with the "input-radix" command. Use + "output_radix_1" instead of "output_radix" with the "output-radix" + command. + +2008-12-28 Pedro Alves + + * linux-fork.c (linux_fork_detach): New. + * linux-fork.h (linux_fork_detach): Declare. + * linux-nat.c (linux_child_follow_fork): When following the fork + child, add the child inferior before possibly detaching from the + parent. Don't reinstall ourselves. + (linux_nat_detach): Call linux_fork_detach if there are other + forks to debug. + * linux-thread-db.c (thread_db_detach): Don't call + target_mourn_inferior. Instead inline the necessary bits. + * inf-ptrace.c (inf_ptrace_detach): Don't unpush the target if + there are other inferiors to debug. + +2008-12-28 Jan Kratochvil + + Fix TYPE_HIGH_BOUND for TYPE_CODE_RANGE using arbitrary TYPE_NFIELDS in + preparation for supporting DW_AT_byte_stride. + * ada-lang.c (packed_array_type, ada_index_type): Use TYPE_INDEX_TYPE. + (ada_array_bound_from_type): Move `index_type' declaration to the + function start. New variable `retval'. Return the bounds for + TYPE_CODE_RANGE using TYPE_LOW_BOUND and TYPE_HIGH_BOUND. Abort on + invalid index type codes. + * ada-typeprint.c (print_range): Set `upper_bound' for TYPE_CODE_RANGE + now using TYPE_HIGH_BOUND. + * ada-valprint.c (val_print_packed_array_elements): Use `index_type'. + * eval.c (evaluate_subexp_standard): Use TYPE_INDEX_TYPE. + * gdbtypes.c (create_range_type): Use TYPE_LOW_BOUND, TYPE_HIGH_BOUND, + refer to the number of fields only through TYPE_NFIELDS. + (create_array_type): Use TYPE_INDEX_TYPE. + (check_typedef): Use TYPE_INDEX_TYPE, TYPE_LOW_BOUND, TYPE_HIGH_BOUND. + * gdbtypes.h (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED) + (TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): Use TYPE_INDEX_TYPE. + (TYPE_ARRAY_UPPER_BOUND_VALUE, TYPE_ARRAY_LOWER_BOUND_VALUE): Use + TYPE_INDEX_TYPE, TYPE_LOW_BOUND, TYPE_HIGH_BOUND, + * hppa-tdep.c (hppa_alignof ): Use TYPE_INDEX_TYPE. + * mdebugread.c (parse_type): Use TYPE_LOW_BOUND, TYPE_HIGH_BOUND, + * valarith.c (value_bit_index): Use TYPE_INDEX_TYPE. + +2008-12-26 Sandra Loosemore + + * breakpoint.c (update_watchpoint): Refactor to avoid compiler + warning. + +2008-12-22 Tom Tromey + + * stack.c (print_block_frame_locals): Print spaces, not tabs. + Update for call to print_variable_and_value. + (print_frame_arg_vars): Update. + * value.h (print_variable_and_value): Rename from + print_variable_value. Add 'name' and 'indent' parameters. + * printcmd.c (print_variable_and_value): Rename from + print_variable_value. Add 'name' and 'indent' parameters. Use + common_val_print. + * f-valprint.c (info_common_command): Update. + +2008-12-22 Tom Tromey + + * python/python-value.c (valpy_length): Remove #if. + +2008-12-22 Paul Pluzhnikov + + * python/python-internal.h (PyEval_ReleaseLock): New define. + +2008-12-22 Tom Tromey + + * c-exp.y (ident_tokens): New global. + (struct token) : New field. + (tokentab3): Update. + (tokentab2): Update. + (yylex): Use ident_tokens. + +2008-12-22 Adam Denton + + PR gdb/8307: + * environ.c (free_environ): Free e->vector. + +2008-12-22 Jan Kratochvil + + Fix memory double-free. + * completer.c (line_completion_function): Clear LIST after called xfree. + +2008-12-22 Joel Brobecker + + * breakpoint.c (update_watchpoint): Adjust and extend the description + of this function. Fix one error message accordingly. + +2008-12-21 Jan Kratochvil + + Fix hw watchpoints created before the inferior was started. + * breakpoint.c (update_watchpoint): Convert the bp_watchpoint and + bp_hardware_watchpoint types according to the current runtime state. + +2008-12-18 Pedro Alves + + * linux-nat.c (linux_child_follow_fork): If following the child, + and not detaching the parent, also add the child fork to the fork + list. + * linux-fork.c (linux_fork_context): Remove dead error call. + Assert that the incoming newfp argument is not null. Do not add a + new fork for inferior_ptid. Assert that there is one already. + +2008-12-16 Tristan Gingold + + * inflow.c: Remove old_sigio, handle_sigio, old_fcntl_flags, + set_sigio_trap, clear_sigio_trap definitions. + * inferior.h: Remove set_sigio_trap and clear_sigio_trap declarations. + * inf-ptrace.c (inf_ptrace_wait): Remove call to set_sigio_trap + and clear_sigio_trap. + * inf-ttrace.c (inf_ttrace_wait): Ditto. + * linux-nat.c (linux_nat_wait): Ditto. + * spu-linux-nat.c (spu_child_wait): Ditto. + * rs6000-nat.c (rs6000_wait): Ditto. + * target.c: Remove target_activity_function and target_activity_fd. + * target.h: Remove target_activity_function and target_activity_fd + declarations. + +2008-12-15 Paul Pluzhnikov + + * dbxread.c (read_ofile_symtab): Sign-extend 32-bit N_LSYM and + N_PSYM STABS values for 64-bit GDB. + +2008-12-15 Tristan Gingold + + * dwarf2expr.c (execute_stack_op): Handle DW_OP_swap. + +2008-12-15 Jerome Guitton + + * ada-lang.c (ada_value_slice_ptr): Rename to... + (ada_value_slice_from_ptr): ... this. Return a lazy value instead + of a reference. Update comment. + (ada_value_struct_elt): Ditto if arg is a pointer or a reference. + Update comment as well. + (ada_evaluate_subexp): Update use of ada_value_slice_ptr. + +2008-12-12 Kevin Buettner + + * gnu-v3-abi.c (vtable_ptrdiff_type): New function. + (gnuv3_decode_method_ptr, gnuv3_print_method_ptr) + (gnuv3_method_ptr_to_value): Use a better approximation for + `ptrdiff_t' instead of `long'. + +2008-12-12 Kevin Buettner + + * m32c-tdep.c (m32c_gdbarch_init): Call set_gdbarch_vbit_in_delta(). + (m32c_push_dummy_call): Dereference pointer type. + +2008-12-12 Tom Tromey + + PR cli/2563: + * cli/cli-decode.c (delete_cmd): Add hook-related out parameters. + (add_cmd): Update. Install hooks into new command. + (add_alias_cmd): Update. + +2008-12-11 Tom Tromey + + * macroexp.c (get_pp_number): Require digit after leading ".". + Correctly handle suffixes. + +2008-12-11 Tom Tromey + + * macrocmd.c (macro_define_command): Skip whitespace after + macro name. + (print_one_macro): Print space after macro name. + +2008-12-12 Pedro Alves + + * infrun.c (handle_inferior_event): Correctly tag non-executing + threads in multi-process. + (normal_stop): Correctly tag stopped threads in multi-process. + +2008-12-12 Pedro Alves + + * remote.c (extended_remote_mourn_1): Always call + generic_mourn_inferior. + +2008-12-12 Pedro Alves + + * remote.c (remote_detach_1): Don't delete the inferior here. + (process_stop_reply): Ditto. + (extended_remote_kill): Ditto. + +2008-12-12 Pedro Alves + + * remote.c (read_ptid): If we don't know about any inferior yet, + use the pid of magic_null_ptid. + (remote_start_remote): In the non-stop mode case, don't set + inferior_ptid to magic_null_ptid here. + +2008-12-11 Daniel Jacobowitz + Pedro Alves + + * infcmd.c (step_1): Use step_once in the synchronous case too. + (step_1_continuation): Wrap line. + (step_once): Adjust comment. Only install the continuation in + async mode. + +2008-12-11 Pedro Alves + + * infrun.c (handle_inferior_event): On a TARGET_WAITKIND_EXITED or + TARGET_WAITKIND_SIGNALLED, switch inferior_ptid to the event ptid. + * linux_thread_db.c (thread_db_wait): On a TARGET_WAITKIND_EXITED + or TARGET_WAITKIND_SIGNALLED, return the ptid the beneath target + returned. + * inf-ptrace.c (inf_ptrace_wait): Return inferior_ptid instead of + minus_one_ptid if the inferior disappeared. + * rs6000-nat.c (rs6000_wait): Likewise. + * spu-linux-nat.c (spu_child_wait): Likewise. + +2008-12-11 Tom Tromey + + PR macros/2564: + * c-exp.y (macro_original_text, expansion_obstack, + expression_macro_scope): New globals. + (scan_macro_expansion): New function. + (scanning_macro_expansion): Likewise. + (finished_macro_expansion): Likewise. + (scan_macro_cleanup): Likewise. + (c_parse): Find macro scope. Initialize obstack. + * c-lang.h (scan_macro_expansion, scanning_macro_expansion, + finished_macro_expansion, expression_macro_lookup_func, + expression_macro_lookup_baton): Remove. + * c-lang.c (scan_macro_expansion, scanning_macro_expansion, + finished_macro_expansion, expression_macro_lookup_func, + expression_macro_lookup_baton): Remove. + (macro_original_text, macro_expanded_text, + c_preprocess_and_parse): Remove. + (c_language_defn, cplus_language_defn, asm_language_defn, + minimal_language_defn): Use c_parse. + +2008-12-10 Pedro Alves + + * infcmd.c (until_next_command, finish_backward): Use get_frame_pc + instead of read_pc. + +2008-12-09 Tom Tromey + + PR gdb/1815: + * cli/cli-decode.c (delete_cmd): Forward declare. + (delete_cmd): Now static. Change return type. Remove command + from alias chain. Rewrite. + (add_cmd): Initialize new fields. Update cmd_pointer on all + aliases. + (add_alias_cmd): Put command on alias chain. + * command.h (delete_cmd): Don't declare. + * cli/cli-decode.h (delete_cmd): Don't declare. + (struct cmd_list_element) : New fields. + +2008-12-09 Tom Tromey + + * config.in, configure: Rebuild. + * configure.ac: Check for locale.h, setlocale. Call + AM_LC_MESSAGES. + * acinclude.m4: Include lcmessage.m4. + +2008-12-09 Jan Kratochvil + + * remote.c (remote_parse_stop_reply): Use REG only after its NULL check. + +2008-12-08 Joel Brobecker + + * python/python-value.c (values_in_python): Add specific initialization + to NULL to work-around a MacOS linker bug. + +2008-12-08 Jan Kratochvil + + Fix loc_type of `bp_location's created by update_watchpoint. + * breakpoint.c (allocate_bp_location): Remove the bp_type parameter. + Replace bp_type by bpt->type. Update prototype. All callers updated. + (add_location_to_breakpoint): Remove the bp_type parameter. + Replace bp_type by b->type. All callers updated. + (set_breakpoint_location_function): Replace bptype by b->type. + +2008-12-07 Jan Kratochvil + + * breakpoint.c (update_global_location_list): Fix the comment. + +2008-12-05 Pedro Alves + + * infcmd.c (step_1, step_once): Look up the stepping range based + on the current frame's PC, not on stop_pc. + +2008-12-05 Jan Kratochvil + + Fix compilation on 32-bit host configurations. + * ia64-tdep.c (ia64_breakpoint_from_pc): Suffix a constant by `LL'. + +2008-12-05 Tristan Gingold + + * i386-darwin-nat.c (i386_darwin_sstep_at_sigreturn): New function. + (amd64_darwin_sstep_at_sigreturn): New function. + (darwin_set_sstep): The sigreturn is a special case: the trace flag + must be set in the mcontext structure. + +2008-12-05 Pedro Alves + + * infcmd.c (step_once): Remove dead code. + +2008-12-04 Doug Evans + + * infcall.c (call_function_by_hand): Clean up use of local dummy_addr. + +2008-12-02 Doug Evans + + * infrun.c (handle_inferior_event): Remove redundant resetting of + stepping_past_singlestep_breakpoint. + +2008-12-02 Pedro Alves + + * target.h (target_get_osdata): Describe. + * osdata.h (make_cleanup_osdata_free): Declare. + * osdata.c (osdata_item_clear): Define even if HAVE_LIBEXPAT is + not defined. + (osdata_free_cleanup): New. + (make_cleanup_osdata_free): New. + (get_osdata): Fix leak. + (info_osdata_command): Use make_cleanup_osdata_free. + (info_processes_command): Delete. + (_initialize_osdata): Drop undocumented "info processes" alias. + * mi/mi-main.c (mi_cmd_list_thread_groups): Fix leak. + +2008-12-02 Jan Kratochvil + + Fix resolving external references to TLS variables. + * findvar.c: Include `objfiles.h'. + (read_var_value ): New variable `obj_section'. Handle + SEC_THREAD_LOCAL variables. + * printcmd.c (address_info ): Handle SEC_THREAD_LOCAL + variables. + +2008-12-02 Doug Evans + + * infrun.c (handle_inferior_event): Delete unused local tp. + +2008-12-02 Pedro Alves + Vladimir Prus + + Implement -list-thread-groups --available + + * Makefile.in (XMLFILES): Add osdata.dtd. + (SFILES): Add osdata.c. + (COMMON_OBS): Add osdata.o. + * linux-nat.c: Include pwd.h, sys/types.h, gdb_dirent.h and xml-support.h. + (linux_nat_xfer_osdata): New function. + (linux_xfer_partial): Handle TARGET_OBJECT_OSDATA. + * osdata.c: New file. + * osdata.h: New file. + * remote.c (PACKET_qXfer_osdata): New packet enum. + (remote_protocol_features): Add "qXfer:osdata:read". + (remote_read_qxfer): Handle TARGET_OBJECT_OSDATA. + (extended_remote_can_run): New. + (init_extended_remote_ops): Set to_can_run to + extended_remote_can_run. + (_initialize_remote): Add packet config command for + "qXfer:osdata:read". + * xml-support.c (obstack_xml_printf): New function. + * xml-support.h (obstack_xml_printf): Declare. + * target.c (target_get_osdata): New function. + * target.h (enum target_object): Add TARGET_OBJECT_OSDATA. + (target_os_data): Declare. + * features/osdata.dtd: New file. + * mi/mi-main.c (mi_list_thread_groups): Handle the --available + option. + +2008-12-01 Doug Evans + + * infrun.c (proceed): Delete unused local stop_signal. + +2008-11-27 Tristan Gingold + + * NEWS: Add entry for new native configuration: Darwin. + * configure.host: Add Darwin host. + * configure.tgt: Add Darwin target. + * defs.h (enum gdb_osabi): Add GDB_OSABI_DARWIN. + * osabi.c (gdb_osabi_names): Add name for Darwin abi. + * i386-darwin-nat.c: New file. + * i386-darwin-tdep.c: New file. + * machoread.c: New file. + * darwin-nat-info.c: New file. + * darwin-nat.c: New file. + * darwin-nat.h: New file. + * darwin.defs: New file. + * config/i386/darwin.mh: New file. + +2008-11-26 Tristan Gingold + + * MAINTAINERS: Add myself for write after approval privileges. + +2008-11-26 Jerome Guitton + + * value.h (allocate_value_lazy): New function declaration. + (value_free): Remove macro, make it a function. + * value.c (value): Move actual content outside of the memory space + of the struct; add a pointer to this actual content. + (allocate_value_lazy, allocate_value_contents): New function. + (allocate_value): Reimplement using these two new functions. + (value_contents_raw, value_contents_all_raw): If no memory + has been allocated yet for the actual content, allocate it. + (value_contents_all): Resync with struct value's changes. + (value_free): New function. + (value_copy, value_primitive_field): Use new function + allocate_value_lazy to allocate lazy values. + (value_change_enclosing_type): Resync with struct value's changes. + As the value is not reallocated, remove the special handling for + the value chain (now obsolete). + * valops.c (value_at_lazy): Use new function allocate_value_lazy. + (value_fetch_lazy): Allocate value content. Use allocate_value_lazy + to allocate lazy values. + (value_slice): Use allocate_value_lazy to allocate lazy values. + +2008-11-25 Jan Kratochvil + + Fix automatic restoration of breakpoints memory for ia64. + * ia64-tdep.c: New #if check on BREAKPOINT_MAX vs. BUNDLE_LEN. + (ia64_memory_insert_breakpoint): New comment part for SHADOW_CONTENTS + content. Remove variable instr. New variable cleanup. Disable + automatic breakpoints restoration. PLACED_SIZE and SHADOW_LEN are now + set larger, to BUNDLE_LEN - 2. Variable `bundle' type update. Return + error if even just final target_write_memory has failed. + (ia64_memory_remove_breakpoint): Rename variables bundle to bundle_mem + and instr to instr_saved. New variables bundle_saved and + instr_breakpoint. Comment new reasons why we need to disable automatic + restoration of breakpoints. Assert PLACED_SIZE and SHADOW_LEN. New + check of the original memory content. Return error if even just final + target_write_memory has failed. + (ia64_breakpoint_from_pc): Implement the emulation of permanent + breakpoints compatible with current bp_loc_is_permanent. + (template_encoding_table): Make it `const'. + * breakpoint.c (bp_loc_is_permanent): Support unsupported software + breakpoints. New variables `cleanup' and `retval'. + +2008-11-24 Tom Tromey + + * ada-lang.c (value_from_contents_and_address): Move... + * value.c: ... here. + * ada-lang.h (value_from_contents_and_address): Move + declaration... + * value.h: ... here. + +2008-11-24 Paul Pluzhnikov + + * valprint.c (val_print_array_elements): Pass correct + element address to val_print. + +2008-11-24 Jan Kratochvil + + Fix access of an already freed memory. + * parse.c (parse_field_expression): Call xstrdup on `*name'. + * completer.c (expression_completer): Free fieldname. + +2008-11-24 Daniel Jacobowitz + + PR gdb/2474 + * remote.c (remote_read_description_p): New function. + (remote_start_remote): Try to fetch the target description + before adding shared libraries. Try again later if the + target is running but stopped. + (remote_open_1): Mark extended targets as exited by default. + (remote_read_description): Check target_has_execution. + +2008-11-24 Jerome Guitton + + * alpha-mdebug-tdep.c (alpha_mdebug_frame_unwind_cache): Use + the frame address in block instead of the return address to + locate the mdebug PDR of the frame. + +2008-11-21 Joel Brobecker + + Remove the unused BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK. + + * breakpoint.h (enum bpstat_what_main_action): Remove + BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK. + * breakpoint.c (bpstat_what): Delete catch_shlib_event from enum class. + Remove the BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK column from + variable table. + * infrun.c (wait_for_inferior): Remove handling of + BPSTAT_WHAT_CHECK_SHLIBS_RESUME_FROM_HOOK. + +2008-11-21 Tom Tromey + + * configure: Rebuild. + * configure.ac: Merge calls to AC_CHECK_FUNCS, AC_CHECK_HEADERS, + AC_CHECK_DECLS, and AC_CHECK_MEMBERS. + +2008-11-21 Tom Tromey + + * python/python-internal.h (PyGILState_Ensure): New define. + (PyGILState_Release): Likewise. + (PyEval_InitThreads): Likewise. + (PyThreadState_Swap): Likewise. + (PyEval_InitThreads): Likewise. + * python/python.c (_initialize_python): Initialize threads. + Release GIL. + (eval_python_from_control_command): Acquire GIL. + (python_command): Likewise. + * python/python-internal.h (make_cleanup_py_restore_gil): + Declare. + * python/python-utils.c (py_gil_restore): New function. + (make_cleanup_py_restore_gil): Likewise. + +2008-11-20 Doug Evans + + * frame.c (frame_debug_got_null_frame): Remove file arg. + All callers updated. + +2008-11-20 Pedro Alves + + * infrun.c (resume): If following a fork, also reset regcache, + gdbarch and pc. + +2008-11-20 Doug Evans + + * printcmd.c (sym_info): Don't print the offset if it's zero. + +2008-11-20 Pedro Alves + + * infrun.c (resume): If following a fork, reread the current + thread. Avoid dereferencing a possibly dangling pointer. + +2008-11-19 Doug Evans + + * inferior.h (proceed_to_finish): Delete, unused. + (stop_registers): Tweak comment. + * infrun.c (stop_registers): Tweak comment. + +2008-11-19 Kevin Buettner + + * frv-tdep.c (frv_skip_main_prologue): New function. + (frv_gdbarch_init): Register frv_skip_main_prologue. + * solib-frv.c (fetch_loadmap): Return early when no segments are + found. + (frv_relocate_main_executable): Return early when both interpreter + and executable loadmap addresses are zero. + +2008-11-19 Bob Wilson + + * xtensa-config.c (rmap): Remove entries for ar32 through ar63. Add + threadptr, scompare1, mmid, epc5, epc6, epc7, eps5, eps6, eps7, + excsave5, excsave6, excsave7, cpenable, and vecbase registers. + (xtensa_submask0, xtensa_submask1, xtensa_submask2) + (xtensa_submask3, xtensa_submask4, xtensa_submask5, xtensa_submask6) + (xtensa_submask7, xtensa_submask8, xtensa_submask9, xtensa_submask10) + (xtensa_submask11, xtensa_submask12, xtensa_submask13, xtensa_submask14) + (xtensa_submask15): Adjust register numbers. + * xtensa-xtregs.c (XTENSA_ELF_XTREG_SIZE): Change to 4. + (xtensa_regmap_table): Add entry for scompare1. + * regformats/reg-xtensa.dat: Remove ar32 through ar63. Add threadptr + and scompare1. + +2008-11-19 Pedro Alves + + * remote.c (escape_buffer): New. + (putpkt_binary, read_frame, getpkt_or_notif_sane_1): Use it. Make + sure debug output printing a packet buffer goes through a single + fprintf_unfiltered call. + * utils.c (vfprintf_unfiltered): If outputting timestamps, end + output with a newline if it wasn't going to already. + +2008-11-18 Paul Pluzhnikov + + * maint.c (maintenance_translate_address): Fix a buglet. + +2008-11-18 Thiago Jung Bauermann + + * features/Makefile (rs6000/powerpc-isa205-32l-expedite, + rs6000/powerpc-isa205-altivec32l-expedite, + powerpc-isa205-vsx32l-expedite, rs6000/powerpc-isa205-64l-expedite, + rs6000/powerpc-isa205-altivec64l-expedite, + powerpc-isa205-vsx64l-expedite): New variables. + * regformats/rs6000/powerpc-isa205-32l.dat: Generate. + * regformats/rs6000/powerpc-isa205-altivec32l.dat: Generate. + * regformats/rs6000/powerpc-isa205-vsx32l.dat: Generate. + * regformats/rs6000/powerpc-isa205-64l.dat: Generate. + * regformats/rs6000/powerpc-isa205-altivec64l.dat: Generate. + * regformats/rs6000/powerpc-isa205-vsx64l.dat: Generate. + +2008-11-18 Thiago Jung Bauermann + + * ppc-linux-nat.c (ppc_register_u_addr): Add special case to return + offset for full 64-bit slot of FPSCR when in 32-bits. + (ppc_linux_read_description): Return target description with 64-bit + FPSCR when inferior is running on an ISA 2.05 or later processor. + * ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Call + initialize_tdec_powerpc_isa205_32l, + initialize_tdec_powerpc_isa205_altivec32l, + initialize_tdec_powerpc_isa205_vsx32l, + initialize_tdec_powerpc_isa205_64l, + initialize_tdec_powerpc_isa205_altivec64l and + initialize_tdec_powerpc_isa205_vsx64l. + * ppc-linux-tdep.h: Add external declaration for + tdesc_powerpc_isa205_32l, tdesc_powerpc_isa205_altivec32l, + tdesc_powerpc_isa205_vsx32l, tdesc_powerpc_isa205_64l, + tdesc_powerpc_isa205_altivec64l and tdesc_powerpc_isa205_vsx64l. + * features/rs600/powerpc-fpu-isa205.xml: New file. + * features/rs600/powerpc-isa205-32l.xml: New file. + * features/rs600/powerpc-isa205-64l.xml: New file. + * features/rs600/powerpc-isa205-altivec32l.xml: New file. + * features/rs600/powerpc-isa205-altivec64l.xml: New file. + * features/rs600/powerpc-isa205-vsx32l.xml: New file. + * features/rs600/powerpc-isa205-vsx64l.xml: New file. + * features/rs600/powerpc-isa205-32l.c: Generate. + * features/rs600/powerpc-isa205-64l.c: Generate. + * features/rs600/powerpc-isa205-altivec32l.c: Generate. + * features/rs600/powerpc-isa205-altivec64l.c: Generate. + * features/rs600/powerpc-isa205-vsx32l.c: Generate. + * features/rs600/powerpc-isa205-vsx64l.c: Generate. + +2008-11-18 Paul Pluzhnikov + + * objfiles.h: New MULTI_OBJFILE_P macro. + * printcmd.c (sym_info): Print object name. + * maint.c (maintenance_translate_address): Likewise. + +2008-11-18 Joel Brobecker + + * NEWS: Document the removal of "catch load" and "catch unload". + +2008-11-17 Doug Evans + + * infcall.c (call_function_by_hand): Fix punctuation and capitalization + on error messages. + +2008-11-17 Ulrich Weigand + + PR gdb/2250 + * infrun.c (clear_proceed_status_thread): New function. + (clear_proceed_status_callback): New function. + (clear_proceed_status): In all-stop mode, clear per-thread + proceed status of *all* threads, not only the current. + (handle_inferior_event): In all-stop mode, if we're stepping + one thread, but got some inferior event in another thread + that does not cause GDB to break to the user interface, + ensure the interrupted stepping operation continues in the + original thread. + (currently_stepping): Move thread-related tests to ... + (currently_stepping_thread): ... this new function. + (currently_stepping_callback): New function. + +2008-11-17 Vladimir Prus + + Implement =thread-selected notification. + + * mi/mi-common.h (struct mi_interp): New, moved from ... + * mi/mi-interp.c: ...here. + * mi/mi-main.c (mi_execute_command): If the thread changed + as result of command, report that. + +2008-11-17 Vladimir Prus + + Implement continue/interrupt of thread groups. + + * mi/mi-main.c (proceed_thread_callback): New. + (mi_cmd_exec_continue): If --thread-group is specified, resume all + threads in that group. + (interrupt_thread_callback): New. + (mi_cmd_exec_interrupt): If --thread-group is specified, interrupt + all threads in that group. + +2008-11-17 Vladimir Prus + + Implement '-target-detach pid'. + + * infcmd.c (detach_command): Make nonstatic. + * inferior.h (detach_command): Declare. + * mi/mi-cmds.c (mi_cmds): Don't route -target-detach via CLI. + * mi/mi-cmds.h (mi_cmd_target_detach): Declare. + * mi/mi-main.c (find_thread_of_process, mi_cmd_target_detach): New. + +2008-11-17 Vladimir Prus + + Include group-id in thread-created notification. + + * mi/mi-interp.c (mi_new_thread, mi_thread_exit): Include + group id in the output. + +2008-11-17 Vladimir Prus + + Notification for attach/detach. + + * inferior.c: Call the process observers. + * mi/mi-interp.c (mi_new_inferior, mi_inferior_exit): New. + (mi_interpreter_init): Register the above. + +2008-11-17 Vladimir Prus + + Implement -list-thread-groups. + + * thread.c (print_thread_info): New parameter pid, to print + threads of specific process. + * gdbthread.h (print_thread_info): New parameter pid. + * mi/mi-cmds.c (mi_cmds): Register -list-thread-groups. + * mi/mi-cmds.h (mi_cmd_list_thread_groups): New. + * mi/mi-main.c (mi_cmd_thread_info): Adjust. + (print_one_process, mi_cmd_list_thread_groups): New. + +2008-11-16 Joel Brobecker + + Remove some unused macros related to the old load/unload catchpoints. + + * breakpoint.c (SOLIB_LOADED_LIBRARY_PATHNAME) + (SOLIB_UNLOADED_LIBRARY_PATHNAME, SOLIB_CREATE_CATCH_LOAD_HOOK) + (SOLIB_CREATE_CATCH_UNLOAD_HOOK): Delete. No longer used. + +2008-11-16 Joel Brobecker + + Remove support for catch load and catch unload commands. + + * breakpoint.h (enum bptype): Remove bp_catch_load and bp_catch_unload. + (struct breakpoint): Remove fields dll_pathname and + triggered_dll_pathname. + (bpstat_get_triggered_catchpoints, ep_is_shlib_catchpoint): Delete. + * breakpoint.c (ep_is_catchpoint): Remove handling of + bp_catch_load and bp_catch_unload. + (print_it_typical, bpstat_check_location, bpstat_what) + (print_one_breakpoint_location, print_one_breakpoint_location) + (user_settable_breakpoint, allocate_bp_location) + (set_raw_breakpoint_without_location, mention, delete_breakpoint, + (breakpoint_re_set_one, disable_command, enable_command): Likewise. + (ep_is_shlib_catchpoint, bpstat_get_triggered_catchpoints) + (catch_load_command_1, catch_unload_command_1): Delete. + (_initialize_breakpoint): Remove the "catch load" and "catch unload" + command creation. + * infrun.c (handle_inferior_event): Remove the handling of + load/unload catchpoint events. + +2008-11-15 Joel Brobecker + + From Jerome Guitton + * dwarf2read.c (dwarf2_debug_line_missing_end_sequence_complaint): + New function. + (dwarf_decode_lines): Detect null file numbers. Detect the end of + the line program sequence when no end sequence is emitted. + +2008-11-15 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp): Improve handling of integer + type dereferencing. + +2008-11-15 Daniel Jacobowitz + + * NEWS: Mention sparc64-linux-gnu gdbserver support. + +2008-11-14 Daniel Gutson + + * configure.tgt (sparc64-*-linux*): Added gdbserver support. + * regformats/reg-sparc64.dat: New file. + +2008-11-14 Tom Tromey + + PR mi/2549: + * mi/mi-main.c (get_register): Use get_formatted_print_options. + +2008-11-13 Joel Brobecker + + * printcmd.c: define PRINTF_HAS_LONG_LONG only if not yet defined. + +2008-11-13 Ulrich Weigand + + * auxv.c (fprint_target_auxv): Handle AT_BASE_PLATFORM and + AT_EXECFN. Re-sort AT_SECURE. + +2008-11-13 Jan Kratochvil + + * monitor.c (monitor_insert_breakpoint): Remove unused variable `bp'. + +2008-11-13 Joel Brobecker + + * ia64-tdep.c: Remove commented out #define. + +2008-11-12 Joel Brobecker + + From Joel Sherrill + * remote-sim.c (gdbsim_mourn_inferior): Use "target" parameter + instead of the "gdbsim_ops" global. + +2008-11-11 Doug Evans + + * infcall.c (call_function_by_hand): Handle inferior exit. + +2008-11-11 Thiago Jung Bauermann + + * remote-sim.c (gdbsim_create_inferior, gdbsim_mourn_inferior): Add + missing struct target_ops argument. + +2008-11-11 Joel Sherrill + + * MAINTAINERS: Add myself for write after approval privileges. + +2008-11-10 Tom Tromey + + * gdbtypes.c (copy_type_recursive): Clear new fields. + +2008-11-10 Tom Tromey + + * cli/cli-cmds.c (source_script): Clean up full_pathname. Run + cleanups on early return. + +2008-11-09 Vladimir Prus + + Kill pthread_ops_hack + + * target.h (struct target_ops): Make to_attach, to_detach, + to_create_inferior and to_mourn_inferior accept a pointer + to struct target_ops. + (target_attach, target_create_inferior, target_create_inferior): + Convert from macros to function. Find the right target to + invoke a method of. + (find_default_attach, find_default_create_inferior): New parameter + ops. + * corefile.c (core_file_command): Pass target to to_detach. + * corelow.c (core_detach): Add 'ops' parameter. + * fork-child.c (fork_inferior): Return the pid. Allow + init_trace_fun to be NULL. + * inf-ptrace (ptrace_ops_hack): Remove. + (inf_ptrace_him): Remove, moving all logic into.... + (inf_ptrace_create_inferior): ... here. Push the target + passed as parameter. + (inf_ptrace_mourn_inferior, inf_ptrace_attach, inf_ptrace_detach): + Push/pop target passed as parameter, no ptrace_ops_hack. + (inf_ptrace_target): Don't remember result. + * inferior.h (fork_inferior): Adjust prototype. + * linux-nat.c (linux_nat_create_inferior, linux_nat_attach) + (linux_nat_detach, linux_nat_mourn_inferior): New parameter ops. + Pass it to linux_ops target. + * linux-thread-db.c (thread_db_detach, thread_db_mourn_inferior): + New parameter ops. Pass it to the target beneath. + * remote.c (remote_mourn, extended_remote_mourn, remote_detach) + (extended_remote_create_inferior): New parameter ops. Pass it + further. + * target.c (debug_to_attach, debug_to_detach) + (debug_to_mourn_inferior): New parameter ops. + (target_create_inferior): New. + (update_current_target): Do not inherit to_attach, to_detach, + to_create_inferiour, to_mourn_inferior. Do not default + to_detach and to_mourn_inferior. + (target_detach): Find the right target to use. + (target_mourn_inferior): New. + (find_default_attach, find_default_create_inferior): New parameter + ops. Pass the found target when calling its method. + (init_dummy_target): Provide fallback definition of to_detach. + (target_attach): New. + (debug_to_attach, debug_to_detach, debug_to_create_inferior) + (debug_to_mourn_inferiour): New parameter ops. + * aix-thread.c: Adjust. + * bsd-uthread.c: Adjust. + * gnu-nat.c: Adjust. + * go32-nat.c: Adjust. + * hpux-thread.c: Adjust. + * inf-ttrace.c: Ajust. + * monitor.c: Adjust. + * nto-procfs.c: Adjust. + * procfs.c: Adjust. + * remote-m32r-sdi.c: Adjust. + * remote-mips.c: Adjust. + * remote-sim.c: Adjust. + * rs6000-nat.c: Adjust. + * sol-thread.c: Adjust. + * win32-nat.c: Adjust. + * dec-thread.c: Adjust. + +2008-11-09 Vladimir Prus + + * thread.c (print_thread_info): Eliminate now useless checks + for exited threads. + +2008-11-06 Pedro Alves + + * i386-dicos-tdep.c (i386_dicos_init_abi): Set decr_pc_after_break + to 0. + +2008-11-05 Pedro Alves + + * remote.c (notice_new_inferiors): Add a new inferior only when + we're going to add a new thread. + +2008-11-05 Pedro Alves + + * defs.h (add_inferior_continuation) + (do_all_inferior_continuations) + (discard_all_inferior_continuations): Declare. + * utils.c (add_inferior_continuation) + (do_all_inferior_continuations) + (discard_all_inferior_continuations): New. + * inferior.h (struct inferior) : New field. + * inferior.c (free_inferior): Discard all the inferior + continuations. + * inf-loop.c (inferior_event_handler): Do all current inferior + continuations. + * infcmd.c (attach_command): Register an inferior continuation + instead of a thread continuation. + * infrun.c (handle_inferior_event): If stop_soon is + STOP_QUIETLY_NO_SIGSTOP, also expect a TARGET_SIGNAL_0. + +2008-11-04 Pedro Alves + + * inf-loop.c (inferior_event_handler): On INF_ERROR and + INF_REG_EVENT throwing, don't call target_async or pop_target. + Call pop_all_targets_above. + * remote.c (remote_close): Call remote_terminal_ours. Don't call + signal or target_async. + +2008-11-04 Daniel Jacobowitz + + * eval.c (evaluate_subexp_standard): Assert that there is at + least one array dimension. + +2008-11-03 Vladimir Prus + + Make attach_command exception-safe + * infcmd.c (attach_command): Call async_enable_stdin + if exception is thrown. + +2008-11-03 Pedro Alves + + * gdbarch.sh (has_global_solist): Mention global breakpoints. + * gdbarch.h: Regenerate. + +2008-11-03 Pedro Alves + + * remote.c (remote_start_remote): If the solib list is global, + fetch libraries and insert breakpoints after connecting. + * infcmd.c (post_create_inferior): If the solist is shared between + inferiors, no need to refetch it on every new inferior. + (detach_command): If the shared library list is shared between + inferiors, then don't clear it on every inferior detach. + * gdbarch.sh (has_global_solist): New. + * i386-dicos-tdep.c (i386_dicos_init_abi): Set + gdbarch_has_global_solist. + * target.c (target_pre_inferior): If the shared library list is + shared between inferiors, then don't clear it here, neither + invalidate the memory regions or clear the target description. + (target_detach): If the shared library list is shared between + inferiors, then don't remove breakpoints from the target here. + (target_disconnect): Comment. + * solib.c (update_solib_list): Check for null_ptid. + * breakpoint.c (insert_breakpoints, update_global_location_list): + If the shared library list is shared between inferiors, insert + breakpoints even if there's no execution. + (breakpoint_init_inferior): If the shared library list is shared + between inferiors, don't delete breakpoints or mark them + uninserted here. + + * gdbarch.c, gdbarch.h: Regenerate. + +2008-10-31 Pedro Alves + + * inferior.h (inferior_ignoring_leading_exec_events): Delete + declaration. + +2008-10-31 Pedro Alves + + * inferior.h (write_inferior_status_register): Delete. + * infrun.c (write_inferior_status_register): Delete. + +2008-10-30 Tom Tromey + + * value.c (coerce_array): Use check_typedef. + +2008-10-30 Tom Tromey + + * cli/cli-logging.c (handle_redirections): Make a cleanup. + * reggroups.c (maintenance_print_reggroups): Make a cleanup. + * regcache.c (regcache_print): Make a cleanup. + * maint.c (maintenance_print_architecture): Make a cleanup. + * dummy-frame.c (maintenance_print_dummy_frames): Make a cleanup. + +2008-10-30 Tom Tromey + + * utils.c (make_cleanup_close): Use make_cleanup_dtor. + (do_close_cleanup): Don't free 'fd'. + +2008-10-30 Tom Tromey + + * source.c (symtab_to_fullname): Test 'r >= 0'. + (psymtab_to_fullname): Likewise. + (get_filename_and_charpos): Make a cleanup. + (forward_search_command): Likewise. + (reverse_search_command): Likewise. + * exec.c (exec_file_attach): Close scratch_chan on failure. + * nto-procfs.c (procfs_open): Make a cleanup. + (procfs_pidlist): Likewise. + (do_closedir_cleanup): New function. + +2008-10-30 Andreas Schwab + + * infcmd.c (construct_inferior_arguments): Handle newlines + specially. + +2008-10-30 Joel Brobecker + + * breakpoint.h (enum bptype): Delete bp_catch_exec. + * breakpoint.c (insert_catchpoint): Remove handling for + bp_catch_exec breakpoint kinds. + (insert_bp_location, update_breakpoints_after_exec, remove_breakpoint) + (ep_is_catchpoint, print_it_typical, bpstat_check_location), + (bpstat_check_location, bpstat_what, print_one_breakpoint_location) + (print_one_breakpoint_location, user_settable_breakpoint) + (breakpoint_address_is_meaningful, adjust_breakpoint_address) + (allocate_bp_location, mention, breakpoint_re_set_one) + (disable_command, enable_command): Likewise. + (create_exec_event_catchpoint): Delete. + (insert_catch_exec, remove_catch_exec, breakpoint_hit_catch_exec) + (print_it_catch_exec, print_one_catch_exec, print_mention_catch_exec): + New functions. + (catch_exec_breakpoint_ops): New static global. + (catch_exec_command_1): Use create_catchpoint instead of + create_exec_event_catchpoint to create the exec catchpoint. + +2008-10-28 Tom Tromey + + * Makefile.in (SUBDIR_CLI_OBS): Don't mention cli-utils.o. + (SUBDIR_CLI_DEPS): Don't mention cli-utils.c. + (HFILES_NO_SRCDIR): Don't mention cli-utils.h. + (cli-utils.o): Remove. + * cli/cli-utils.c: Remove. + * cli/cli-utils.h: Remove. + +2008-10-28 Tom Tromey + + * varobj.c (value_get_print_value): Include valprint.h. + (value_get_print_value): Use get_formatted_print_options. + * value.h (struct value_print_options): Declare. + (value_print, val_print, common_val_print, val_print_string): + Update. + * value.c: Include valprint.h. + (show_values): Use get_user_print_options. + (show_convenience): Likewise. + * valprint.h (prettyprint_arrays, prettyprint_structs): Don't + declare. + (struct value_print_options): New type. + (vtblprint, unionprint, addressprint, objectprint, print_max, + inspect_it, repeat_count_threshold, output_format, + stop_print_at_null): Don't declare. + (user_print_options, get_user_print_options, + get_raw_print_options, get_formatted_print_options): Declare. + (print_array_indexes_p): Don't declare. + (maybe_print_array_index, val_print_array_elements): Update. + * valprint.c (print_max): Remove. + (user_print_options): New global. + (get_user_print_options, get_raw_print_options, + get_formatted_print_options): New functions. + (print_array_indexes, repeat_count_threshold, stop_print_at_null, + prettyprint_structs, prettyprint_arrays, unionprint, + addressprint): Remove. + (val_print): Remove format, deref_ref, pretty arguments; add + options. Update. + (common_val_print): Likewise. + (print_array_indexes_p): Remove. + (maybe_print_array_index): Remove format, pretty arguments; add + options. Update. + (val_print_array_elements): Remove format, deref_ref, pretty + arguments; add options. Update. + (val_print_string): Add options argument. Update. + (_initialize_valprint): Use user_print_options. + (output_format): Remove. + (set_output_radix_1): Use user_print_options. + * typeprint.c: Include valprint.h. + (objectprint): Don't declare. + (whatis_exp): Use get_user_print_options. + * tui/tui-regs.c: Include valprint.h. + (tui_register_format): Use get_formatted_print_options. + * tracepoint.c: Include valprint.h. + (addressprint): Don't declare. + (trace_mention): Use get_user_print_options. + (tracepoints_info): Likewise. + * stack.c (print_frame_args): Use get_raw_print_options. + (print_frame_info): Use get_user_print_options. + (print_frame): Likewise. + * sh64-tdep.c: Include valprint.h + (sh64_do_register): Use get_formatted_print_options. + * scm-valprint.c (scm_inferior_print): Remove format, deref_ref, + pretty arguments; add options. + (scm_scmlist_print): Likewise. Update. + (scm_scmval_print): Likewise. + (scm_val_print): Likewise. + (scm_value_print): Remove format, pretty arguments; add options. + Update. + * scm-lang.h (scm_value_print, scm_val_print, scm_scmval_print): + Update. + * scm-lang.c (scm_printstr): Add options argument. + * python/python-value.c: Include valprint.h. + (valpy_str): Use get_user_print_options. + * printcmd.c: Include valprint.h. + (addressprint): Don't declare. + (inspect_it): Remove. + (print_formatted): Remove format option; add options. Update. + (print_scalar_formatted): Likewise. + (print_address_demangle): Use get_user_print_options. + (do_examine): Use get_formatted_print_options. + (print_command_1): Likewise. + (output_command): Use get_formatted_print_options. + (do_one_display): Likewise. + (print_variable_value): Use get_user_print_options. + * p-valprint.c (pascal_val_print): Remove format, deref_ref, + pretty arguments; add options. Update. + (pascal_value_print): Remove format, pretty arguments; add + options. Update. + (vtblprint, objectprint): Don't declare. + (pascal_static_field_print): Remove. + (pascal_object_print_value_fields): Remove format, pretty + arguments; add options. Update. + (pascal_object_print_static_field): Likewise. + (_initialize_pascal_valprint): Use user_print_options. Update. + * p-lang.h (pascal_val_print, pascal_value_print, + pascal_printstr, pascal_object_print_value_fields): Update. + (vtblprint, static_field_print): Don't declare. + * p-lang.c (pascal_printstr): Add options argument. Update. + * objc-lang.c (objc_printstr): Add options argument. Update. + * mt-tdep.c: Include valprint.h. + (mt_registers_info): Use get_raw_print_options. + * mips-tdep.c: Include valprint.h. + (mips_print_fp_register): Use get_formatted_print_options. + (mips_print_register): Likewise. + * mi/mi-main.c: Include valprint.h. + (get_register): Use get_user_print_options. + (mi_cmd_data_evaluate_expression): Likewise. + (mi_cmd_data_read_memory): Use get_formatted_print_options. + * mi/mi-cmd-stack.c: Include valprint.h. + (list_args_or_locals): Use get_raw_print_options. + * m2-valprint.c (print_function_pointer_address): Add addressprint + argument. + (m2_print_long_set): Remove format, pretty arguments. + (m2_print_unbounded_array): Remove format, deref_ref, pretty + arguments; add options. Update. + (print_unpacked_pointer): Remove format argument; add options. + Now static. Update. + (print_variable_at_address): Remove format, deref_ref, pretty + arguments; add options. Update. + (m2_print_array_contents): Likewise. + (m2_val_print): Likewise. + * m2-lang.h (m2_val_print): Update. + * m2-lang.c (m2_printstr): Add options argument. Update. + * language.h (struct value_print_options): Declare. + (struct language_defn) : Add options argument. + : Remove format, deref_ref, pretty argument; add + options. + : Remove format, pretty arguments; add options. + : Likewise. + (LA_VAL_PRINT, LA_VALUE_PRINT, LA_PRINT_STRING, + LA_PRINT_ARRAY_INDEX): Update. + (default_print_array_index): Update. + * language.c (default_print_array_index): Remove format, pretty + arguments; add options. Update. + (unk_lang_printstr): Add options argument. + (unk_lang_val_print): Remove format, deref_ref, pretty arguments; + add options. + (unk_lang_value_print): Remove format, pretty arguments; add + options. + * jv-valprint.c (java_value_print): Remove format, pretty + arguments; add options. Update. + (java_print_value_fields): Likewise. + (java_val_print): Remove format, deref_ref, pretty arguments; add + options. Update. + * jv-lang.h (java_val_print, java_value_print): Declare. + * infcmd.c: Include valprint.h. + (print_return_value): Use get_raw_print_options. + (default_print_registers_info): Use get_user_print_options, + get_formatted_print_options. + (registers_info): Use get_formatted_print_options. + * gdbtypes.h (struct value_print_options): Declare. + (print_scalar_formatted): Update. + * f-valprint.c (f77_print_array_1): Remove format, deref_ref, + pretty arguments; add options. Update. + (f77_print_array): Likewise. + (f_val_print): Likewise. + * f-lang.h (f_val_print): Update. + * f-lang.c (f_printstr): Add options argument. Update. + (c_value_print): Update declaration. + * expprint.c: Include valprint.h. + (print_subexp_standard): Use get_raw_print_options, + get_user_print_options. + * eval.c: Include valprint.h. + (objectprint): Don't declare. + (evaluate_subexp_standard): Use get_user_print_options. + * cp-valprint.c (vtblprint, objectprint, static_field_print): + Remove. + (cp_print_value_fields): Remove format, pretty arguments; add + options. Update. + (cp_print_value): Likewise. + (cp_print_static_field): Likewise. + (_initialize_cp_valprint): Use user_print_options. Update. + * c-valprint.c (print_function_pointer_address): Add addressprint + argument. + (c_val_print): Remove format, deref_ref, pretty arguments; add + options. Update. + (c_value_print): Add options argument. Update. + * c-lang.h (c_val_print, c_value_print, c_printstr): Update. + (vtblprint, static_field_print): Don't declare. + (cp_print_value_fields): Update. + * c-lang.c (c_printstr): Add options argument. Update. + * breakpoint.c: Include valprint.h. + (addressprint): Don't declare. + (watchpoint_value_print): Use get_user_print_options. + (print_one_breakpoint_location): Likewise. + (breakpoint_1, print_it_catch_fork, print_it_catch_vfork, mention, + print_exception_catchpoint): Likewise. + * auxv.c (fprint_target_auxv): Don't declare addressprint. Use + get_user_print_options. + * ada-valprint.c (struct ada_val_print_args): Remove format, + deref_ref, and pretty; add options. + (print_optional_low_bound): Add options argument. + (val_print_packed_array_elements): Remove format and pretty + arguments; add options. Update. + (printstr): Add options argument. Update. + (ada_printstr): Likewise. + (ada_val_print): Remove format, deref_ref, pretty arguments; add + options argument. Update. + (ada_val_print_stub): Update. + (ada_val_print_array): Remove format, deref_ref, pretty arguments; + add options. Update. + (ada_val_print_1): Likewise. + (print_variant_part): Likewise. + (ada_value_print): Remove format, pretty arguments; add options. + Update. + (print_record): Likewise. + (print_field_values): Likewise. + * ada-lang.h (ada_val_print, ada_value_print, ada_printstr): + Update. + * ada-lang.c (ada_print_array_index): Add options argument; remove + format and pretty arguments. + (print_one_exception): Use get_user_print_options. + +2008-10-28 Tom Tromey + + * cli/cli-script.c (do_fclose_cleanup): Remove. + (script_from_file): Use make_cleanup_fclose. + * xml-tdesc.c (do_cleanup_fclose): Remove. + (fetch_xml_from_file): Use make_cleanup_fclose. + * tracepoint.c (tracepoint_save_command): Use + make_cleanup_fclose. Always free pathname. + * source.c (print_source_lines_base): Use make_cleanup_fclose. + * remote.c (fclose_cleanup): Remove. + (remote_file_put): Use make_cleanup_fclose. + (remote_file_get): Likewise. + * linux-nat.c (linux_nat_find_memory_regions): Use + make_cleanup_fclose. + (linux_nat_info_proc_cmd): Likewise. + (linux_proc_pending_signals): Likewise. + * fbsd-nat.c (fbsd_find_memory_regions): Use make_cleanup_fclose. + Free file name. + * cli/cli-dump.c (do_fclose_cleanup): Remove. + (make_cleanup_fclose): Remove. + * defs.h (make_cleanup_fclose): Declare. + * utils.c (do_fclose_cleanup): New function. + (make_cleanup_fclose): Likewise. + +2008-10-27 Pedro Alves + + * inflow.c (kill_command): If the target claims there is still + execution, don't clear the thread list. + +2008-10-27 Pedro Alves + + * cp-name-parser.y: Include defs.h instead of config.h. + (parse_escape): Rename to ... + (cp_parse_escape): ... this. + (yylex): Update. + (xfree) [TEST_CPNAMES]: New. + +2008-10-27 Pedro Alves + + * CONTRIBUTE: Mention autoconf 2.59 and configure.ac instead of + 2.13 and configure.in. + +2008-10-27 Pedro Alves + + * target.h (struct target_ops) : New + field. + (target_supports_multi_process): New define. + * target.c (update_current_target): Inherit and de_fault + to_supports_multi_process. + * infcmd.c (attach_command): Allow attaching to multiple processes + if the target supports it. + (detach_command): If the target claims there is still execution, + don't clear the thread list. + * remote.c (remote_supports_multi_process): New. + (init_remote_ops): Register remote_supports_multi_process. + +2008-10-27 Pedro Alves + + * Makefile.in (.y.c, .l.c): sed free to xfree. + +2008-10-27 Pedro Alves + + * Makefile.in (INSTALLED_LIBS, CLIBS): Remove reference to + $(TM_CLIBS). + (CDEPS): Remove reference to $(TM_CDEPS). + +2008-10-26 Michael Snyder + + * infrun.c (handle_inferior_event): Handle dynamic symbol + resolution in reverse. + +2008-10-25 Joel Brobecker + + * infrun.c: Minor comment reformatting. + +2008-10-25 Pedro Alves + + * ada-exp.y (write_object_renaming): Use malloc instead of + xmalloc. + * p-exp.y (pop_current_type): Use free instead of xfree. + +2008-10-24 Pedro Alves + + * fork-child.c (startup_inferior): Only set threads not-executing + after getting all the pending execs. On TARGET_WAITKIND_IGNORE, + keep waiting, don't resume. On all other cases but + TARGET_WAITKIND_SIGNALLED and TARGET_WAITKIND_EXITED, switch to + the event ptid. + +2008-10-24 Pedro Alves + + Remote non-stop mode support. + + * remote.c (pending_stop_reply): New. + (struct remote_state) : New + fields. + (remote_async_inferior_event_token) + (remote_async_get_pending_events_token): New. + (notice_new_inferiors): New, abstracted out from record_currthread. + (record_currthread): Call it. + (remote_threads_info): Default threads to running in non-stop + mode. In non-stop mode, only qfThreadInfo is supported. + (remote_close): Discard all pending stop_replies. Close the event + sources. + (set_stop_requested_callback): New. + (remote_start_remote): Implement non-stop mode startup. In + all-stop, don't clear the thread list here. + (remote_non_stop_feature): New. + (remote_protocol_features): Add a "QNonStop" feature. + (remote_open_1): Clear cached_wait_status and non_stop_aware. + Clear the thread list here. + (remote_detach_1): Discard pending stop replies of the process we + detached from. + (extended_remote_attach_1): Implement non-stop mode. + (remote_vcont_probe): Recognize `vCont;t'. + (remote_vcont_resume): Implement non-stop mode. + (remote_resume): Don't set waiting_for_stop_reply in non-stop + mode. + (remote_stop_ns): New. + (remote_stop): Rename to ... + (remote_stop_as): ... this. If we have a cached wait status, + don't bother interrupting the remote. + (remote_stop): Reimplement as wrapper around remote_stop_as and + remote_stop_ns. + (interrupt_query): Don't query in async mode. + (struct cached_reg, cahed_reg_t): New. + (struct stop_reply): New. + (stop_reply_queue): New. + (stop_reply_xmalloc, stop_reply_xfree) + (discard_pending_stop_replies, do_stop_reply_xfree) + (queued_stop_reply, push_stop_reply, peek_stop_reply) + (remote_parse_stop_reply, remote_get_pending_stop_replies) + (process_stop_reply): New. + (remote_wait_ns): New. + (remote_wait_as): Use remote_parse_stop_reply. Invalidate the + notion of current general thread is a process exit was reported. + (remote_wait): Call remote_wait_ns in non-stop mode. + (handle_notification): New. + (putpkt_binary): Handle notifications. Don't care for + waiting_for_stop_reply in non-stop mode. + (getpkt_sane): Rename to ... + (getpkt_or_notif_sane_1): ... this. Add `expecting_notif' + argument. Handle it. Handle notifications. + (getpkt_sane): Reimplement as wrapper around getpkt_or_notif_sane_1. + (getpkt_or_notif_sane): New. + (select_new_thread_callback): Check for exited state instead of + comparing the ptid against minus_one_ptid. + (extended_remote_create_inferior_1): Query the remote about the + current thread. + (remote_supports_non_stop): New. + (init_remote_ops): Register it. + (remote_async_inferior_event_handler): New. + (remote_async_get_pending_events_handler): New. + + * infcmd.c (proceed_thread_callback): Comment. + (proceed_after_attach_callback, proceed_after_attach): New. + (attach_command_post_wait): In background attach, resume all + threads, but only if they are unsignalled, and not explicitly + stopped. In foreground attach, in non-stop mode, make sure to + stop all threads of the just attached to process. + (attach_command): In non-stop mode: If doing a background attach, + stop at least one thread. If a foreground attach, stop all + threads. + +2008-10-24 Pedro Alves + + * event-loop.h: Mention async_event_handlers. + (async_event_handler): Forward declare. + (async_event_handler_func): New typedef. + (create_async_event_handler, delete_async_event_handler) + (mark_async_event_handler): Declare. + * event-loop.c (event_data): New. + (event_handler_func): Take an event_data instead of an integer. + (struct gdb_event): Replace the integer file descriptor by a + generic event_data. + (async_event_handler): New. + (async_handler_ready): Delete. + (async_event_handler_list): New. + (create_event): New. + (create_file_event): Use it. + (process_event): Adjust. + (gdb_do_one_event): Poll from the event sources in round-robin + fashion across calls. Be sure to consult all sources before + blocking. + (handle_file_event): Take an event_data instead of an integer. + Adjust. + (gdb_wait_for_event): Add `block' argument. Handle it. + (mark_async_signal_handler): Remove unneeded cast. + (invoke_async_signal_handler): Rename to ... + (invoke_async_signal_handlres): ... this. Return true if any was + handled. + (check_async_ready): Delete + (create_async_event_handler): New. + (mark_async_event_handler): New. + (struct async_event_handler_data): New. + (invoke_async_event_handler): New. + (check_async_event_handlers): New. + (delete_async_event_handler): New. + (handle_timer_event): Adjust. + +2008-10-24 Doug Evans + + * dwarf2read.c (typename_concat): Don't segv if prefix or suffix + is NULL. Simplify obs == NULL case. + +2008-10-24 Hui Zhu + Pedro Alves + + * infrun.c (can_use_displaced_stepping): Change type to + const char pointer. + (can_use_displaced_stepping_auto): New string. + (can_use_displaced_stepping_on): New string. + (can_use_displaced_stepping_off): New string. + (can_use_displaced_stepping_enum): New array. + (show_can_use_displaced_stepping): In auto mode, also show + the current effect of the option. + (use_displaced_stepping): Return non-zero if displaced + stepping is auto, and can be used with GDBARCH, and in + non-stop mode. Return non-zero if displaced stepping is on, + and can be used with GDBARCH. Return zero otherwise. + (_initialize_infrun): Make the "set displaced-stepping" + command an enum command. Change its class to class_run. + Place it in the top level set list. Extend help to describe + the auto mode. + +2008-10-23 Pedro Alves + + * defs.h: Mention ptid_is_pid. + * inferior.h (ptid_is_pid): Declare. + * gdbthread.h (struct thread_info) : New field. + (set_stop_requested): Declare. + * infcmd.c (interrupt_target_1): Call set_stop_requested. + * infrun.c (clear_proceed_status): Clear stop_requested. + (infrun_thread_stop_requested_callback, + infrun_thread_stop_requested): New. + (handle_inferior_event): If a TARGET_SIGNAL_TRAP is reported on a + thread that had an explicit stop request, pretend we got a + TARGET_SIGNAL_0. Always stop if the thread had an explicit stop + request. + (print_stop_reason): In the SIGNAL_RECEIVED case, if we're not + outputting to MI, and we got a TARGET_SIGNAL_0, print "# Stopped", + instead of mentioning signal 0. + (ptid_is_pid): New. + * thread.c (set_stop_requested): New. + + * linux-nat.c (queued_waitpid): Rename to ... + (queued_waitpid_1): ... this. Add `peek' argument. Handle it. + (queued_waitpid): New, as wrapper to queued_waitpid_1. + (push_waitpid): Push the SIGTRAP to the local event queue, to the + kernel's. + (send_sigint_callback): Delete. + (linux_nat_stop_lwp): New. + (linux_nat_stop): Use it. + +2008-10-23 Paul Pluzhnikov + + * python/python-value (valpy_getitem): Fix heap corruption. + +2008-10-23 Aleksandar Ristovski + + * nto-procfs.c (do_attach): Form proper ptid including pid and tid. + (procfs_create_inferior): Fetch list of threads. + +2008-10-23 Aleksandar Ristovski + + * nto-procfs.c (procfs_files_info): Fix a typo. + (procfs_create_inferior): Make attach_flag per-inferior. + +2008-10-23 Tom Tromey + + * python/python-value.c (value_to_value_object): Initialize + owned_by_gdb field. + (valpy_new): Likewise. + +2008-10-23 Jan Kratochvil + Joel Brobecker + + * ada-tasks.c (task_states, long_task_states): Use constant N_() + initializer. Define the strings as const. + (short_task_info, info_task): Translate the strings above. + +2008-10-22 Joel Brobecker + + * NEWS: Add entry for new feature (Ada tasking support). + +2008-10-22 Joel Brobecker + + * configure.ac: On alpha-osf, error out if enable_tui is set to + "yes", and set enable_tui to "no" if previously set to "auto". + Check for waddstr only if TUI support was requested. Move the + part of the configure script that updates various Makefile + variables up, together with the check for waddstr. + * configure: Regenerate. + +2008-10-22 Joel brobecker + + * gdbtypes.c (copy_type): New function. + * gdbtypes.h (copy_type): Add declaration. + * ada-lang.c (ada_to_fixed_type_1): If there is a parallel XVZ + variable, then use it. + +2008-10-22 Joel Brobecker + + * target.h (struct target_ops): Add new field to_get_ada_task_ptid. + (target_get_ada_task_ptid): New macro. + * target.c (default_get_ada_task_ptid): New function. + (update_current_target): Inherit field default_get_ada_task_ptid. + (update_current_target): Make default_get_ada_task_ptid the default + value for field to_get_ada_task_ptid. + * ada-lang.h (struct task_control_block): Delete. Never used. + (struct task_ptid, task_ptid_t, struct task_entry, task_list): + Likewise. + (struct ada_task_info): New. + (ada_task_is_alive, ada_find_printable_frame) + (ada_task_list_iterator_ftype, iterate_over_live_ada_tasks): Add + declarations. + (ada_build_task_list): Update prototype. + (init_task_list, ada_is_exception_breakpoint): Remove prototypes. + * ada-lang.c (ada_find_printable_frame): Make non-static. + * ada-tasks.c: New file. + * Makefile.in (SFILES): Add ada-tasks.c. + (COMMON_OBS): Add ada-tasks.o. + * linux-thread-db.c (thread_db_find_thread_from_tid) + (thread_db_get_ada_task_ptid): New functions. + (init_thread_db_ops): Set thread_db_ops.to_get_ada_task_ptid. + +2008-10-22 Tom Tromey + + PR gdb/2506: + * c-exp.y (string_exp): New production. + (exp): Use it. + +2008-10-21 Jan Kratochvil + + * mips-tdep.c (mips_n32n64_fp_arg_chunk_p): Update TYPE_FIELD_STATIC + removed before. + +2008-10-20 Joel Brobecker + + * NEWS: Add entry mentioning thread-support on Tru64 + +2008-10-19 Joel Brobecker + + * dec-thread.c: New file. + * config/alpha/alpha-osf3.mh (NATDEPFILES): Add dec-thread.o. + (NAT_CLIBS): Define. + +2008-10-19 Hui Zhu + + * infrun.c (handle_inferior_event): Set "stop_pc" when + TARGET_WAITKIND_NO_HISTORY. + +2008-10-19 Pedro Alves + + * python/python-value.c (value_object_methods) + (value_object_as_number, value_object_as_mapping): Move to bottom + of file. + (valpy_dealloc, valpy_new, valpy_length, valpy_getitem) + (valpy_setitem, valpy_str, valpy_add, valpy_subtract) + (valpy_multiply, valpy_divide, valpy_remainder, valpy_power) + (valpy_negative, valpy_positive, valpy_absolute, valpy_nonzero) + (valpy_richcompare, valpy_dereference): Don't forward-declare. + (valpy_length) [HAVE_LIBPYTHON2_4]: Change return type to `int'. + +2008-10-18 Pedro Alves + + * infrun.c (adjust_pc_after_break): Do nothing if executing in + reverse. + +2008-10-17 Pedro Alves + + * infcmd.c (GO_USAGE): Delete. + (go_command): Adjust. + +2008-10-17 Michael Snyder + Target interface for reverse debugging. + * target.h (enum target_waitkind): + Add new wait event, TARGET_WAITKIND_NO_HISTORY. + (struct target_ops): New method to_can_execute_reverse. + (target_can_execute_reverse): New macro. + * target.c (update_current_target): Inherit to_can_execute_reverse. + + Remote interface for reverse debugging. + * remote.c (remote_can_execute_reverse): New target method. + (remote_resume): Check for reverse exec direction, and send + appropriate command to target. + (remote_wait_as): Check target response for NO_HISTORY status. + Also check for empty reply (target doesn't understand "bs" or "bc). + (remote_vcont_resume): Jump out if attempting reverse execution. + + Event handling interface for reverse debugging. + * infrun.c (execution_direction): New state variable. + (enum inferior_stop_reason): Add NO_HISTORY reason. + (handle_inferior_event): Handle TARGET_WAITKIND_NO_HISTORY. + Handle stepping over a function call in reverse. + Handle stepping thru a line range in reverse. + Handle setting a step-resume breakpoint in reverse. + Handle stepping into a function in reverse. + Handle stepping between line ranges in reverse. + (print_stop_reason): Print reason for NO_HISTORY. + (step_into_function): Rename to handle_step_into_function. + (handle_step_into_function_backward): New function. + (set_exec_direction_func, show_exec_direction_func): New funcs. + (proceed): No need to singlestep over a breakpoint + when resuming in reverse. + + * inferior.h (enum exec_direction_kind): New enum. + (execution_direction): Export new execution state variable. + + * breakpoint.c (make_breakpoint_silent): New function. + * breakpoint.h (make_breakpoint_silent): Export. + * infcmd.c (finish_command): Check for reverse exec direction. + (finish_backward): New function, handle finish cmd in reverse. + + User interface for reverse execution. + * Makefile.in (reverse.c): New file. + * reverse.c: New file. User interface for reverse execution. + +2008-10-17 Pedro Alves + + * remote.c (record_currthread): Add inferior before child threads. + (remote_threads_info): Check for exited threads. Mention + notification order. + +2008-10-16 Joel Brobecker + + * breakpoint.h (enum bptype): New enum bp_catchpoint. + Delete bp_catch_fork and bp_catch_vfork. + (struct breakpoint_ops): Add new methods "insert", "remove" + and "breakpoint_hit". + * breakpoint.c (create_fork_vfork_event_catchpoint) + (create_fork_event_catchpoint, create_vfork_event_catchpoint): Remove. + (insert_catchpoint): Remove handling of bp_catch_fork and + bp_catch_vfork catchpoints, and handle them as bp_catchpoint + catchpoints instead. + (insert_bp_location, update_breakpoints_after_exec) + (remove_breakpoint, bpstat_check_location, bpstat_what) + (allocate_bp_location): Likewise. + (print_it_typical, print_one_breakpoint_location, mention): Remove + handling of bp_catch_fork and bp_catch_vfork breakpoints. + (ep_is_catchpoint, user_settable_breakpoint) + (breakpoint_address_is_meaningful, adjust_breakpoint_address) + (breakpoint_re_set_one, disable_command, enable_command): + Remove use of bp_catch_fork and bp_catch_vfork. Add handling of + bp_catchpoint breakpoints. + (insert_catch_fork, remove_catch_fork, breakpoint_hit_catch_fork) + (print_it_catch_fork, print_one_catch_fork, print_mention_catch_fork): + New functions. + (catch_fork_breakpoint_ops): New static constant. + (insert_catch_vfork, remove_catch_vfork, breakpoint_hit_catch_vfork) + (print_it_catch_vfork, print_one_catch_vfork) + (print_mention_catch_vfork): New functions. + (catch_vfork_breakpoint_ops): New static constant. + (create_catchpoint, create_fork_vfork_event_catchpoint): New functions. + (catch_fork_command_1): Use create_fork_vfork_event_catchpoint + to create the fork and vfork catchpoints. + (gnu_v3_exception_catchpoint_ops): Set new breakpoint_ops fields. + * ada-lang.c (catch_exception_breakpoint_ops): Set new breakpoint_ops + fields. + (catch_exception_unhandled_breakpoint_ops): Likewise. + (catch_assert_breakpoint_ops): Likewise. + +2008-10-16 Pedro Alves + + * remote.c (set_general_process): New. + (remote_check_symbols): Use it. + +2008-10-16 Pedro Alves + + * remote.c (push_remote_target): Delete. + * target.h (push_remote_target): Delete declaration. + +2008-10-15 Pedro Alves + + * remote.c (remote_close): Unregister remote_desc from the event + loop. Always restore the SIGINT handler. Discard all inferiors + here. + (remote_detach_1, remote_disconnect): Don't unregister the file + descriptor from the event loop here. + (interrupt_query, readchar, getpkt_sane): Pop the target instead + of morning the current inferior. + (remote_kill): Don't unregister the file descriptor from the event + loop here. + (remote_mourn_1): Don't discard inferiors here. + +2008-10-15 Pedro Alves + + * breakpoint.c (breakpoint_init_inferior): Clean up the moribund + locations list. + (moribund_breakpoint_here_p): Record the moribund + location in the moribund_locations vector. + * breakpoint.h (moribund_breakpoint_here_p): Declare. + (displaced_step_fixup): Check if the breakpoint the thread was + trying to step over has been removed since having been placed in + the displaced stepping queue. + (adjust_pc_after_break): In non-stop mode, check for a moribund + breakpoint at the stop pc. + (handle_inferior_event): Don't retire moribund breakpoints on + TARGET_WAITKIND_IGNORE. + +2008-10-15 Pedro Alves + + * infrun.c (displaced_step_prepare): Switch thread temporarily + while we're here. + (displaced_step_fixup): Make sure target_resume sees ptid as + inferior_ptid. Add debug output. + +2008-10-14 Pedro Alves + + Remove dead code. + + * breakpoint.c (show_breakpoint_hit_counts): Delete. + (print_one_breakpoint_location): Adjust. + (breakpoint_clear_ignore_counts): Delete. + * breakpoint.h (breakpoint_clear_ignore_counts): Remove + declaration. + * target.c (generic_mourn_inferior): Don't clear ignore + counts (never reached). + +2008-10-10 Doug Evans + + * dwarf2read.c (comp_unit_head): Use unsigned int consistently + for dwarf section offsets and sizes. + (dwarf2_cu): Ditto. + (dwarf2_per_cu_data): Ditto. + (create_all_comp_units): Change offset to unsigned int. + (load_full_comp_unit,find_partial_die_in_comp_unit,find_partial_die, + dwarf2_find_containing_comp_unit,dwarf2_find_comp_unit): Ditto. + + * dwarf2read.c (read_initial_length): Delete cu_header arg. + All callers updated. + (read_checked_initial_length_and_offset): New function. + (read_offset_1): New function. + (read_offset): Call it. + (dwarf_decode_line_header): Call read_checked_initial_length_and_offset + instead of read_initial_length. Call read_offset_1 instead of + read_offset. + + * dwarf2read.c (dwarf2_get_ref_die_offset): Remove unused arg `cu'. + All callers updated. + + * dwarf2read.c (dwarf_attr_name): Unconditionally support all + DW_AT_MIPS_* except DW_AT_MIPS_fde which collides with + DW_AT_HP_block_index. + +2008-10-10 Pedro Alves + + * remote.c (remote_start_remote): Always tell the stub if we're in + extended-remote. + +2008-10-09 Pedro Alves + + * remote.c (remote_wait): Rename to... + (remote_wait_as): ... this. Don't loop here. If the remote + didn't stop, return TARGET_WAITKIND_IGNORE. + (remote_wait): New, reimplemented on top of remote_wait_as. + +2008-10-09 Thomas Schwinge + + * Makefile.in (gnu-nat.o): Revert the 2008-09-10 change, as the problem + is fixed upstream. + + * reply_mig_hack.awk: Use the `BAD_TYPECHECK' macro. + + * MAINTAINERS (Write After Approval): Add myself. + +2008-10-09 Pedro Alves + + Make it compile without warnings. + + * procfs.c (create_procinfo): Initialize `parent'. + (dead_procinfo): Pass a constant string as format to error. + (procfs_address_to_host_pointer): Add cast to gdb_type *. + (procfs_find_LDT_entry): Adjust format string to long int + ptid.tid. + (procfs_xfer_partial): Adjust prototype. Add gdb_byte* cast. + (procfs_xfer_memory): Adjust prototype. + (info_mappings_callback, info_proc_mappings): Adjust to not pass a + variable as printf_filtered format. + (procfs_make_note_section): Change type of auxv local to gdb_byte. + * Makefile.in: Remove special rule. + +2008-10-09 Pedro Alves + Daniel Jacobowitz + + * remote.c (remote_open_1): Move acknowledging any pending ack, + querying supported features, activating noack mode, finding the + target description, enabling extended remote, and checking remote + symbols from here ... + (remote_start_remote): ... to here. + (remote_open_1): Don't pop the target if it is already gone. + * target.c (unpush_target): Check for the dummy target. + +2008-10-09 Pedro Alves + + * ser-mingw.c: Include "command.h". + (pipe_windows_open): Declare locals at the beginning of the scope. + +2008-10-08 Pedro Alves + + * remote.c (struct remote_state) : New + field. + (remote_open_1): Clear waiting_for_stop_reply. + (remote_resume): Set waiting_for_stop_reply. + (remote_wait): Clear or set waiting_for_stop_reply accordingly. + (putpkt_binary): If we're in async mode and waiting for a stop + reply, bail out with an error. + (extended_remote_mourn_1): Clear waiting_for_stop_reply. + +2008-10-08 Pedro Alves + + * remote.c (remote_get_thread_info): If the remote doesn't support + the query, bail out. + +2008-10-08 Jan Kratochvil + + Convert static_kind into loc_kind enum. + * gdbtypes.h (enum field_loc_kind): New. + (union field_location): New field dwarf_block. + (struct field): Rename static_kind as loc_kind. + (FIELD_STATIC_KIND): Rename to ... + (FIELD_LOC_KIND): ... here. + (TYPE_FIELD_STATIC_KIND): Rename to ... + (TYPE_FIELD_LOC_KIND): ... here and use there now new FIELD_LOC_KIND. + (TYPE_FIELD_STATIC_HAS_ADDR): Remove. + (TYPE_FIELD_STATIC): Remove. + (TYPE_FIELD_BITPOS): Reformat. + (SET_FIELD_BITPOS): New. + (FIELD_PHYSADDR): Rename to ... + (FIELD_STATIC_PHYSADDR): ... here. + (TYPE_FIELD_STATIC_PHYSADDR): Follow the FIELD_PHYSADDR rename. + (SET_FIELD_PHYSADDR): Use new FIELD_LOC_KIND. + (FIELD_PHYSNAME): Rename to ... + (FIELD_STATIC_PHYSNAME): ... here. + (TYPE_FIELD_STATIC_PHYSNAME): Follow the FIELD_PHYSNAME rename. + (SET_FIELD_PHYSNAME): Use new FIELD_LOC_KIND. + (FIELD_DWARF_BLOCK, TYPE_FIELD_DWARF_BLOCK, SET_FIELD_DWARF_BLOCK): New. + (field_is_static): New declaration. + * gdbtypes.c (field_is_static): New function. + (copy_type_recursive): Update throughout. + * amd64-tdep.c, c-typeprint.c, coffread.c, cp-valprint.c, dwarf2read.c, + eval.c, jv-typeprint.c, jv-valprint.c, mdebugread.c, p-typeprint.c, + p-valprint.c, valops.c, value.c, varobj.c: Update throughout. + +2008-10-07 Thomas Schwinge + Pedro Alves + + * gnu-nat.h: Rename `current_inferior' to `gnu_current_inf' to + avoid a name collision. + * gnu-nat.c: Likewise. + * i386gnu-nat.c: Likewise. + +2008-10-07 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Add handling + of arguments that are references. + +2008-10-06 Doug Evans + + * dwarf2read.c (dwarf2_die_debug): New static global. + (dump_die_shallow): Renamed from dump_die, New args f, indent. + Print to specified file, indented by the specified amount. + (dump_die_for_error): New fn. Point all existing callers of + dump_die here. + (dump_die_die_1,dump_die): New fns, replaces ... + (dump_die_list): ... deleted. + (read_die_and_children_1): Old contents of read_die_and_children + moved here. + (read_die_and_children): Rewrite. + (read_die_and_siblings): Call read_die_and_children_1 instead of + read_die_and_children. + (_initialize_dwarf2_read): New option "debug dwarf2-die". + * gdbinit.in (pdie): New macro. + + * dwarf2read.c (offset_in_cu_p): New function. + (find_partial_die,follow_die_ref): Use it. + + * symmisc.c (maintenance_info_symtabs): Watch for ^c. + (maintenance_info_psymtabs): Ditto. + +2008-10-05 Michael Snyder + + * infrun.c (handle_inferior_event): Fix typo in comment. + +2008-10-04 Vladimir Prus + + * mi/mi-interp.c (mi_on_resume): Flush raw_stdout. + +2008-10-03 Paul Pluzhnikov + + PR gdb/2384: + * gdbtypes.c (get_vptr_fieldno): baseclass and basetype may have + different lifetimes. + +2008-10-03 Joel Brobecker + + * solib-osf.c: Include "solib.h". + +2008-10-03 Paul Pluzhnikov + + * utils.c, defs.h (gdb_buildargv): New fn. Wrap buildargv + and check for out-of-memory condition. + * exec.c (exec_file_command): Call it. + * infrun.c (handle_command, xdb_handle_command): Likewise. + * interps.c (interpreter_exec_cmd): Likewise. + * linux-nat.c (linux_nat_info_proc_cmd): Likewise. + * procfs.c (info_proc_cmd): Likewise. + * remote-mips.c (common_open): Likewise. + * remote-sim.c (gdbsim_kill, gdbsim_create_inferior) + (gdbsim_open): Likewise. + * remote.c (extended_remote_run, remote_put_command) + (remote_get_command, remote_delete_command): Likewise. + * ser-mingw.c (pipe_windows_open): Likesise. + * source.c (add_path, show_substitute_path_command) + (unset_substitute_path_command, set_substitute_path_command): + Likewise. + * stack.c (backtrace_command): Likewise. + * symfile.c (symbol_file_command, generic_load) + (add_symbol_file_command): Likesise. + * symmisc.c (maintenance_print_symbols, maintenance_print_psymbols) + (maintenance_print_msymbols): Likewise. + +2008-10-02 Jan Kratochvil + + Replace TYPE_ARRAY_{UPPER,LOWER}_BOUND_TYPE by a bit if {un,}defined. + * c-typeprint.c (c_type_print_varspec_suffix), m2-typeprint.c + (m2_array), p-typeprint.c (pascal_type_print_varspec_prefix), + valops.c (value_cast), varobj.c (c_number_of_children): Replace + TYPE_ARRAY_UPPER_BOUND_TYPE compared to BOUND_CANNOT_BE_DETERMINED by + TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. + * parse.c (follow_types): Use TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. + * f-valprint.c (f77_get_dynamic_upperbound): Replace with ... + (f77_get_upperbound): ... this function handling now only + TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED. + (f77_get_dynamic_lowerbound): Replace with ... + (f77_get_lowerbound): ... this function handling now only + TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED. + (f77_get_dynamic_length_of_aggregate, f77_create_arrayprint_offset_tbl): + Update their callers. + * eval.c (evaluate_subexp_standard): Update their callers. + * f-lang.h (f77_get_dynamic_upperbound, f77_get_upperbound) + (f77_get_dynamic_lowerbound, f77_get_lowerbound): Update their + prototypes. + (BOUND_FETCH_OK, BOUND_FETCH_ERROR): Remove. + * f-typeprint.c (f_type_print_varspec_suffix, f_type_print_base): Remove + the lower_bound_was_default variable. Update the + f77_get_dynamic_upperbound, f77_get_upperbound and + TYPE_ARRAY_UPPER_BOUND_TYPE calls. + * gdbtypes.c (print_bound_type): Remove the function. + (recursive_dump_type): Remove its calls printing UPPER_BOUND_TYPE and + LOWER_BOUND_TYPE. + * gdbtypes.h (enum array_bound_type): Remove. + (struct main_type): Remove the fields upper_bound_type and + lower_bound_type. Comment the new overload of the field artificial. + (TYPE_ARRAY_UPPER_BOUND_TYPE): Replace by ... + (TYPE_ARRAY_UPPER_BOUND_IS_UNDEFINED): ... this macro. + (TYPE_ARRAY_LOWER_BOUND_TYPE): Replace by ... + (TYPE_ARRAY_LOWER_BOUND_IS_UNDEFINED): ... this macro. + +2008-10-02 Tom Tromey + + * Makefile.in (HFILES_NO_SRCDIR): Remove gdb-events.h, gstdint.h. + +2008-10-02 Daniel Jacobowitz + + * mips-linux-tdep.c (mips_linux_in_dynsym_resolve_code): Update + comments. + (mips_linux_skip_resolver): Also use glibc_skip_solib_resolver. + (mips_linux_init_abi): Do not override skip_trampoline_code. + * configure.tgt (mips*-*-linux*): Add glibc-tdep.o. + * mips-tdep.c (mips32_scan_prologue): Stop scanning at branches. + (mips_stub_frame_sniffer): Use the stub frame sniffer for PIC stubs. + (mips_skip_mips16_trampoline_code): Rename from + mips_skip_trampoline_code. + (mips_skip_pic_trampoline_code, mips_skip_trampoline_code): New. + * infrun.c (handle_inferior_event): Do not pass zero to + in_solib_dynsym_resolve_code. + +2008-10-02 Pierre Muller + Pedro Alves + + * win32-nat.c (do_initial_win32_stuff): Set inferior_ptid. + + +2008-10-01 Tom Tromey + + * symtab.c (search_symbols): Update. + * symtab.h (domain_enum_tag) : Remove. + +2008-10-01 Tom Tromey + + * symfile.c (syms_from_objfile): Update. + (reread_symbols): Update. + * objfiles.h (OBJF_SYMS): Remove. + (OBJF_REORDERED): Renumber. + (OBJF_SHARED): Likewise. + (OBJF_READNOW): Likewise. + (OBJF_USERLOADED): Likewise. + +2008-10-01 Tom Tromey + + * symtab.c (find_pc_sect_psymtab): Use MSYMBOL_TYPE. + (find_pc_sect_symtab): Likewise. + * symmisc.c (dump_msymbols): Use MSYMBOL_TYPE. + * solib-som.c (som_solib_desire_dynamic_linker_symbols): Use + MSYMBOL_TYPE, not SYMBOL_TYPE. + * parse.c (write_exp_msymbol): Use MSYMBOL_TYPE. + * objc-lang.c (find_methods): Use MSYMBOL_TYPE. + * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Use + MSYMBOL_TYPE. + * m2-exp.y (yylex): Use SYMBOL_CLASS. + +2008-10-01 Tom Tromey + + * xcoffread.c (RECORD_MINIMAL_SYMBOL): Update. + (scan_xcoff_symtab): Update. + * mdebugread.c (record_minimal_symbol): Update. + (parse_partial_symbols): Update. + * elfread.c (record_minimal_symbol): Update. + * dbxread.c (record_minimal_symbol): Update. + * coffread.c (record_minimal_symbol): Update. + * sh64-tdep.c (MSYMBOL_IS_SPECIAL): Redefine. + (sh64_elf_make_msymbol_special): Update. + * mips-tdep.c (mips_elf_make_msymbol_special): Use + MSYMBOL_TARGET_FLAG_1. + (mips_elf_make_msymbol_special): Likewise. + (msymbol_is_special): Likewise. + * minsyms.c (prim_record_minimal_symbol_and_info): Update. + (install_minimal_symbols): Likewise. + (prim_record_minimal_symbol): Update. + (prim_record_minimal_symbol_and_info): Remove 'info' argument. + * m68hc11-tdep.c (MSYMBOL_SET_RTC): Redefine. + (MSYMBOL_SET_RTI): Redefine. + (MSYMBOL_IS_RTC): Redefine. + (MSYMBOL_IS_RTI): Redefine. + * arm-tdep.c (MSYMBOL_SET_SPECIAL): Redefine. + (MSYMBOL_IS_SPECIAL): Redefine. + * symtab.h (struct minimal_symbol) : Remove. + : New fields. + (MSYMBOL_INFO): Remove. + (MSYMBOL_TARGET_FLAG_1): New macro. + (MSYMBOL_TARGET_FLAG_2): Likewise. + (prim_record_minimal_symbol_and_info): Update. + +2008-09-30 Joel Brobecker + + * ada-lang.c (is_digits_suffix): Delete unused function. + +2008-09-30 Paul Hilfinger + + * ada-lang.c (ada_modulus): Correct to avoid sign problem with + moduli >= 2**31. + +2008-09-30 Paul Hilfinger + + * ada-lang.c (ada_lookup_struct_elt_type): Handle case of a "naked" + variant branch. + (empty_record): Use INIT_CPLUS_SPECIFIC, since this field is not + supposed to be null. Fixes debugger segfaults. + (is_unchecked_variant): New function. + (to_fixed_variant_branch_type): Modify to leave unchecked unions + untouched. + (ada_template_to_fixed_record_type_1): Fix comment. + +2008-09-30 Joel Brobecker + + * ada-lang.c (standard_exc): New static constant. + (ada_exception_catchpoint_cond_string): Add special handling + for the predefined exceptions. + +2008-09-30 Joel Brobecker + + * ada-lang.c (ADA_RETAIN_DOTS): Delete this dead macro. Update + the code accordingly. + +2008-09-30 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp) [UNOP_IND]: Remove strange + treatment of expect_type. Return the correct type when dereferencing + an integer. + +2008-09-30 Tom Tromey + + PR gdb/2484: + * symtab.c (struct add_macro_name_data): New struct. + (add_macro_name): New function. + (default_make_symbol_completion_list): Complete macro names. + * scm-lang.c (scm_language_defn): Update. + * p-lang.c (pascal_language_defn): Update. + * objc-lang.c (objc_language_defn): Update. + * macrotab.h (macro_callback_fn): Add user_data argument. + (macro_for_each): Likewise. + (macro_for_each_in_scope): Declare. + * macrotab.c: (struct macro_for_each_data): New struct. + (foreach_macro): Use it. + (macro_for_each): Likewise. + (foreach_macro_in_scope): New function. + (macro_for_each_in_scope): Likewise. + * macrocmd.c (print_one_macro): Add argument. + (macro_list_command): Pass NULL to macro_for_each. + * m2-lang.c (m2_language_defn): Update. + * language.h (struct language_defn) : New + field. + (macro_expansion): New enum. + * language.c (unknown_language_defn): Update. Fix order of + initializers. + (auto_language_defn): Likewise. + (local_language_defn): Update. + * jv-lang.c (java_language_defn): Update. + * f-lang.c (f_language_defn): Update. + * c-lang.c (c_language_defn): Update. + (cplus_language_defn): Likewise. + (asm_language_defn): Likewise. + (minimal_language_defn): Likewise. + * ada-lang.c (ada_language_defn): Update. + +2008-09-30 Joel Brobecker + + * dwarf2read.c (dwarf2_get_subprogram_pc_bounds): New function. + (get_scope_pc_bounds): Use it. + +2008-09-27 Tom Tromey + + * NEWS: Update. + * macrocmd.c (extract_identifier): Add is_parameter argument. + (macro_define_command): Update. + (macro_undef_command): Likewise. + * macroexp.c (stringify): New function. + (find_parameter): Likewise. + (gather_arguments): Add nargs argument. Handle varargs. + (substitute_args): Add is_varargs and va_arg_name arguments. + Handle varargs, splicing, stringification. Use find_parameter. + (expand): Handle varargs. + +2008-09-27 Tom Tromey + + * scm-lang.c (scm_language_defn): Update. + * p-typeprint.c (pascal_print_typedef): New function. + * p-lang.h: (pascal_print_typedef): Declare. + * p-lang.c (pascal_language_defn): Update. + * objc-lang.c (objc_language_defn): Update. + * m2-typeprint.c (m2_print_typedef): New function. + * m2-lang.h (m2_print_typedef): Declare. + * m2-lang.c (m2_language_defn): Update. + * language.h (_LANG_c, _LANG_m2, _LANG_fortran, _LANG_pascal): + Remove. + (struct language_defn) : New field. + (default_print_typedef): Declare. + (LA_PRINT_TYPEDEF): New define. + * language.c (unknown_language_defn): Update. + (auto_language_defn): Update. + (local_language_defn): Update. + * jv-lang.c (java_language_defn): Update. + * f-lang.c (f_language_defn): Update. + * c-typeprint.c (c_print_typedef): New function. + * c-lang.h (c_print_typedef): Declare. + * c-lang.c (c_language_defn): Update. + (cplus_language_defn): Update. + (asm_language_defn): Update. + (minimal_language_defn): Update. + * ada-lang.c (ada_language_defn): Update. + * typeprint.c (default_print_typedef): New function. + +2008-09-27 Tom Tromey + + * jv-exp.y (insert_exp): Define using ISO syntax. + (copy_exp): Likewise. + (push_expression_name): Likewise. + (push_fieldnames): Likewise. + (java_type_from_name): Likewise. + (yyerror): Likewise. + (yylex): Likewise. + (parse_number): Likewise. + +2008-09-26 Joel Brobecker + + * MAINTAINERS (GLOBAL MAINTAINERS): Add Pedro Alves. + +2008-09-25 Stephan Springl (tiny change) + + * stack.c (print_frame_args): Fix typos in comments. + +2008-09-25 Sérgio Durigan Júnior + + * linux-nat.c (get_pending_status): Fix argument to WIFSTOPPED. + +2008-09-24 Vladimir Prus + + * remote-sim.c (gdbsim_create_inferior): Fix missing parenthesis. + +2008-09-24 Andreas Schwab + + * frame.c (get_frame_register_bytes): Take pseudo registers into + account. Avoid excessive function calls. + +2008-09-23 Doug Evans + + * dcache.c (state_chars): New static global. + (ENTRY_INVALID,ENTRY_VALID): Renamed from ENTRY_BAD,ENTRY_OK. + All uses updated. + (dcache_info): Print cache state as mnemonically useful letters instead + of magic numbers. + + * dwarf2read.c (comp_unit_head): Reorganize for better packing. + +2008-09-22 Tom Tromey + + * symfile.c (symbol_file_add_with_addrs_or_offsets): Don't use + printf_filtered. + +2008-09-22 Pedro Alves + + * infrun.c (follow_exec): Don't do a generic mourn. Instead + inline the required bits. + * breakpoint.h (enum inf_context): Add inf_execd. + +2008-09-22 Pedro Alves + + * infrun.c (handle_inferior_event): In the follow exec case, + context-switch before doing anything else. + +2008-09-22 Pedro Alves + + * top.c (any_thread_of, kill_or_detach): New functions. + (quit_target): Iterate over all inferiors, killing or detaching + accordingly. + +2008-09-22 Pedro Alves + + Remove the attach_flag global, and make it per-inferior. + + * inferior.h (attach_flag): Delete. + (inferior_process): Declare. + * solib.c (update_solib_list): Adjust. + * gnu-nat.c (gnu_create_inferior, gnu_attach): Adjust. + * inf-ptrace.c (inf_ptrace_detach): Adjust. + (inf_ptrace_files_info): Get it from the current inferior. + * inf-ttrace.c (inf_ttrace_attach): Adjust. + (inf_ttrace_files_info): Get it from the current + inferior. + * inflow.c (terminal_inferior, terminal_ours_1, set_sigint_trap) + (clear_sigint_trap): Get it from the current process. + * remote.c (extended_remote_attach_1) + (extended_remote_create_inferior_1): Adjust. + * top.c (quit_confirm, quit_target): Get it from the current inferior. + * procfs.c (do_detach): Adjust. + (procfs_wait): Get it from the event inferior. + (procfs_files_info): Get it from the current inferior. + * nto-procfs.c (procfs_files_info): Likewise. + (procfs_attach): Adjust. Set the attach_flag here. + (do_attach): Don't set it here. + (procfs_detach): Don't clear it. + (procfs_mourn_inferior): Don't clear it. + * solib-osf.c (osf_solib_create_inferior_hook): Adjust. + * target.c (attach_flag): Delete. + (generic_mourn_inferior): Don't clear it. + * win32-nat.c (get_win32_debug_event): Get it from the event + process. + (do_initial_win32_stuff): Add attaching argument. Set attach_flag + in the inferior accordingly. + (win32_attach): Don't set the attach_flag here. Pass 1 to + do_intial_win32_stuff. + (win32_files_info): Get it from the current inferior. + (win32_create_inferior): Dont clear attach_flag here. Pass 0 to + do_intial_win32_stuff. + +2008-09-22 Pedro Alves + + Make the stop_soon global be per-inferior instead. + + * infcmd.c (attach_command_post_wait): Adjust. + (attach_command): Likewise. + + * inferior.h (stop_soon): Delete. + (struct inferior): Add stop_soon member. + + * infrun.c (stop_soon): Delete. + (clear_proceed_status, start_remote) + (fetch_inferior_event, handle_inferior_event): Adjust. + (signal_stop_state): Don't check stop_soon here. Check in callers + instead. + (save_inferior_status, restore_inferior_status): Adjust. + + * linux-nat.c (linux_nat_resume, linux_nat_wait): Always pass + signals to common code if starting up the inferior. + + * inferior.h (struct inferior_info): Added stop_soon member. + * inferior.c (add_inferior) Clear stop_soon. + + * mips-tdep.c (heuristic_proc_start): Adjust. + * nto-procfs.c (procfs_create_inferior): Adjust. + * solib-irix.c (irix_solib_create_inferior_hook): Adjust. + * solib-osf.c (osf_solib_create_inferior_hook): Adjust. + * solib-sunos.c (sunos_solib_create_inferior_hook): Adjust. + * solib-svr4.c (svr4_solib_create_inferior_hook): Adjust. + + * win32-nat.c (do_initial_win32_stuff): Adjust. + + * alpha-tdep.c (alpha_heuristic_proc_start): Adjust. + +2008-09-22 Pedro Alves + + Implement remote multi-process extensions. + + * remote.c (struct remote_state): Add extended and + multi_process_aware fields. + (remote_multi_process_p): New. + (PACKET_vKill): New. + (record_currthread): Use thread_change_ptid. Notice new + inferiors. + (set_thread, remote_thread_alive): Use write_ptid. + (write_ptid, read_ptid): New. + (remote_current_thread, remote_threads_extra_info): Use them. + (remote_threads_info): Likewise. Detect new inferiors. + (remote_start_remote): Add inferior to inferior list. + (remote_multi_process_feature): New. + (remote_protocol_features): Add "multiprocess" feature. + (remote_query_supported): Pass "multiprocess+" as supported + features. + (remote_open_1): Clear multi_process_aware. Set extended + accordingly. + (remote_detach_1): Detach current process. Use extended packet + format for extended-remote multi-process. Detach process from the + inferior list. Only mourn after printing output. + (extended_remote_attach_1): Add process to the inferior list. + (remote_vcont_resume): Use write_ptid to pass the thread ids. + (remote_wait): Use read_ptid. Implement the extended + multi-process extension format of the 'W' and 'X' reply packets. + Remove exited inferiors from inferior list. + (remote_xfer_memory): Set general thread. + (remote_vkill): New. + (extended_remote_kill): New. + (remote_mourn_1): Discard all inferiors. + (select_new_thread_callback): New. + (extended_remote_mourn_1): If there are more processes to debug, + switch to a thread in another process, and don't pop the target. + (extended_remote_create_inferior_1): Add the new process to the + inferior list. + (remote_stopped_by_watchpoint): Indenting. + (remote_xfer_partial): Set the general thread. + (remote_pid_to_str): If the remote is multi-process aware, print + the process id as well as the thread id. + (remote_get_thread_local_address): Use write_ptid. + (init_extended_remote_ops): Register extended_remote_kill. + (_initialize_remote): Register new packets. Change + magic_null_ptid's, not_sent_ptid's and any_thread_ptid's pid + member to 42000. + + * thread.c (thread_change_ptid): Also account for the inferior pid + changing. + + * inferior.h (discard_all_inferiors): Declare. + * inferior.c (discard_all_inferiors): New. + +2008-09-22 Pedro Alves + + * gnu-nat.c (gnu_attach): Add process to inferiors table. + (gnu_detach): Remove it. + * go32-nat.c (go32_create_inferior): Add process to gdb's inferior + table. + * inf-ptrace.c (inf_ptrace_follow_fork): Delete and add inferiors + to inferior table accordingly. + (inf_ptrace_attach): Add new process to inferior table. + (inf_ptrace_detach): Remove it. + * inf-ttrace.c (inf_ttrace_follow_fork): Delete and add inferiors + to inferior table accordingly. + (inf_ttrace_attach): Add process to inferior table. + (inf_ttrace_detach): Remove it. + * linux-fork.c (init_fork_list): Delete any left over inferior. + (linux_fork_mourn_inferior, detach_fork_command): Also delete + processes from inferior list. + * monitor.c (monitor_open): Add process to inferior list. + (monitor_close): Remove it. + * nto-procfs.c (procfs_attach): Add process to inferior list. + Find threads after pushing the target. + (procfs_detach): Remove process from inferior list. + (procfs_create_inferior): Add process to inferior list. + * procfs.c (procfs_detach): Remove process from inferior list. + (do_attach): Add process to inferior list. + * remote-sim.c (sim_create_inferior): Add process to inferior list. + (gdbsim_close): Remove it. + * target.c (generic_mourn_inferior): If inferior_ptid is not + null_ptid, remove the corresponding inferior from inferior list. + * win32-nat.c (do_initial_win32_stuff): Add process to inferior list. + (win32_detach): Remove it. + * linux-nat.c (linux_child_follow_fork): Delete and add inferiors + to inferior list accordingly. + * fork-child.c (fork_inferior): Add process to inferior list. + * corelow.c (CORELOW_PID): Define. + (core_close): Remove core from inferior list. + (core_open): Add it. + +2008-09-22 Pedro Alves + + * inferior.h: Forward declare struct ui_out. + Forward declare struct private_inferior. + (struct inferior): New. + (init_inferior_list, add_inferior, add_inferior_silent) + (delete_inferior, delete_inferior_silent, detach_inferior) + (gdb_inferior_id_to_pid, pid_to_gdb_inferior_id, in_inferior_list) + (valid_inferior_id, find_inferior_pid): New functions. + (inferior_callback_func): New typedef. + (iterate_over_inferiors, print_inferior, have_inferiors) + (current_inferior): New functions. + * inferior.c: New file. + + * Makefile.in (SFILES): Add inferior.c. + (COMMON_OBS): Add inferior.o. + +2008-09-22 Jonathan Larmour + + * arm-tdep.c (arm_skip_prologue): Call skip_prologue_using_sal + instead of determining symbol and line info directly. + * MAINTAINERS: Update my email address. + +2008-09-22 Daniel Jacobowitz + + * symtab.c (skip_prologue_using_sal): Treat two consecutive lines + at the same address as a prologue marker. Do not skip an entire + function. + +2008-09-22 Andrew Stubbs + + * frame.c (get_frame_register_bytes): Comment improvments. + +2008-09-22 Pedro Alves + + * linux-nat.c (linux_nat_wait): Only use set_ignore_sigint in + all-stop mode. + +2008-09-19 Andrew Stubbs + + * MAINTAINERS: Update my email address. + +2008-09-19 Andrew Stubbs + + * frame.c (get_frame_register_bytes): Detect bad debug info. + +2008-09-17 Jan Kratochvil + + Fix a crash on uninitialized ECS->EVENT_THREAD for a newly found thread. + * infrun.c (wait_for_inferior): Move this ECS->EVENT_THREAD + initialization ... + (fetch_inferior_event): ... and this ECS->EVENT_THREAD initialization + ... + (handle_inferior_event): ... here after the add_thread call together + with the local adjust_pc_after_break and reinit_frame_cache calls. + +2008-09-16 David Daney + + * breakpoint.c (bpstat_stop_status): Clear breakpoint_at for + all hardware bpstats. + +2008-09-16 Joel Brobecker + + * gstdint.h: Delete. + +2008-09-15 Mark Kettenis + + * infcall.c (generic_push_dummy_code): Remove. + (push_dummy_code): Unconditionally call gdbarch_push_dummy_code. + +2008-09-15 Doug Evans + + * dwarf2read.c (struct abbrev_info): Make members name, form 16 bits. + (struct attribute): Ditto. + +2008-09-14 John David Anglin + + * hppa-linux-tdep.c (hppa_linux_sigtramp_frame_unwind_cache): Record + HPPA_IPSW_REGNUM and HPPA_SAR_REGNUM values. + + * hppa-linux-tdep.c (hppa_dwarf_reg_to_regnum): Remove surrounding + "#if 0" "#endif". Fix mapping of DWARF DBX registers to GDB registers. + Correct arguments and improve comments. + (hppa_linux_init_abi): Call set_gdbarch_dwarf2_reg_to_regnum. Delete + disabled code. + * hppa-tdep.c (hppa64_dwarf_reg_to_regnum): Fix check for floating + point DBX register, change error to warning, and improve comments. + +2008-09-14 Doug Evans + + * dwarf2read.c (struct die_info): Make members tag, num_attrs 16 bits. + +2008-09-14 John David Anglin + + * hppa-linux-tdep.c (hppa_linux_supply_fpregset): Correct iteration. + +2008-09-13 Joel Brobecker + + * defs.h (GCC_GENERATED_STDINT_H): Define. + +2008-09-13 Tom Tromey + + * varobj.c (varobj_set_display_format): Use xfree. + * tracepoint.c (stringify_collection_list): Use xfree. + * remote-fileio.c (remote_fileio_reset): Use xfree. + * mipsread.c (read_alphacoff_dynamic_symtab): Use xfree. + * dfp.c (decimal_from_floating): Use xfree, xstrprintf. Don't use + asprintf. + * cp-support.c (mangled_name_to_comp): Use xfree. + +2008-09-13 Joel Brobecker + + * ada-lang.c (remove_extra_symbols): Remove stub symbols if + the associated complete symbol is also in the list. + (ada_add_local_symbols, ada_add_non_local_symbols): New functions, + extracted out from ada_lookup_symbol_list. + (ada_lookup_symbol_list): Use them. Remove the search through + the minimal symbols. + +2008-09-13 Joel Brobecker + + * dwarf2read.c (add_partial_subprogram): New procedure. + (scan_partial_symbols): Use it. + (load_partial_dies): Read in children of subprogram and lexical + blocks for Ada compilation units. + +2008-09-13 Tom Tromey + + * symfile.c (build_id_verify): Free 'found'. + (find_separate_debug_file): Use xfree, not free. + +2008-09-12 Doug Evans + + * corefile.c (write_memory): Remove unnecessary copying. + + * sol-thread.c (_initialize_sol_thread): Add FIXME regarding + order of _initialize_* fns. + + * dwarf2read.c (comp_unit_head): Rename first_die_ptr to + first_die_offset. All uses updated. + Delete unused members cu_head_ptr, next. + Move members base_known, base_address to ... + (dwarf2_cu) ... here. All uses updated. + +2008-09-12 Pedro Alves + + * Makefile.in (generated_files): Add $(NAT_GENERATED_FILES). + * config/i386/i386gnu.mh (NAT_GENERATED_FILES): New. + +2008-09-11 Ulrich Weigand + + * fork-child.c (startup_inferior): Use target_wait and target_resume + directly instead of calling wait_for_inferior / resume. + + * infcmd.c (kill_if_already_running): Do not call no_shared_libraries + or init_wait_for_inferior. + (run_command_1): Call init_wait_for_inferior. + +2008-09-11 Ulrich Weigand + + * gdbtypes.h (builtin_type_void_data_ptr, builtin_type_void_func_ptr, + builtin_type_CORE_ADDR, builtin_type_char, builtin_type_short, + builtin_type_int, builtin_type_long, builtin_type_signed_char, + builtin_type_unsigned_char, builtin_type_unsigned_short, + builtin_type_unsigned_int, builtin_type_unsigned_long, + builtin_type_float, builtin_type_double, builtin_type_long_double, + builtin_type_complex, builtin_type_double_complex, builtin_type_string, + builtin_type_bool, builtin_type_long_long, + builtin_type_unsigned_long_long): Remove macros. + + (builtin_type_f_character, builtin_type_f_integer, + builtin_type_f_integer_s2, builtin_type_f_logical, + builtin_type_f_logical_s1, builtin_type_f_logical_s2, + builtin_type_f_real, builtin_type_f_real_s8, builtin_type_f_real_s16, + builtin_type_f_complex_s8, builtin_type_f_complex_s16, + builtin_type_f_complex_s32): Likewise. + + (builtin_type_m2_char, builtin_type_m2_int, builtin_type_m2_card, + builtin_type_m2_real, builtin_type_m2_bool): Likewise. + + (struct builtin_f_type, builtin_f_type): Move to f-lang.h. + (struct builtin_m2_type, builtin_m2_type): Move to m2-lang.h. + + * f-lang.h (struct builtin_f_type, builtin_f_type): Move here. + * m2-lang.h (struct builtin_m2_type, builtin_m2_type): Move here. + +2008-09-11 Ulrich Weigand + + * solib-svr4.c (LM_ADDR_FROM_LINK_MAP): Use builtin types of + target_gdbarch instead of builtin_type_void_data_ptr. + (LM_DYNAMIC_FROM_LINK_MAP, LM_NEXT, LM_NAME, + IGNORE_FIRST_LINK_MAP_ENTRY, scan_dyntag, elf_locate_base, + solib_svr4_r_map, solib_svr4_r_brk, solib_svr4_r_ldsomap, + open_symbol_file_object): Likewise. + * nto-tdep.c (LM_ADDR): Likewise. + +2008-09-11 Ulrich Weigand + + * bsd-uthread.c (bsd_uthread_read_memory_address): New function. + (bsd_uthread_fetch_registers, bsd_uthread_store_registers, + bsd_uthread_wait, bsd_uthread_find_new_threads): Use it. + +2008-09-11 Ulrich Weigand + + * procfs.c (procfs_address_to_host_pointer): Use target_gdbarch + and its associated types to perform pointer conversion. + (procfs_can_use_hw_breakpoint): Likewise. + (procfs_auxv_parse): Remove unused variable. + +2008-09-11 Ulrich Weigand + + * auxv.c (default_auxv_parse): Use gdbarch_ptr_bit (target_gdbarch) + instead of builtin_type_void_data_ptr. + * target.c (default_region_ok_for_hw_watchpoint): Likewise. + +2008-09-11 Ulrich Weigand + + * expprint.c (print_subexp_standard): Compare against builtin type + associated with exp->gdbarch instead of builtin_type_char. + + * f-valprint.c (f_val_print): Use extract_unsigned_integer to + extract values of arbitrary logical type. Handle arbitrary + complex types. + + * printcmd.c (float_type_from_length): New function. + (print_scalar_formatted, printf_command): Use it. + +2008-09-11 Ulrich Weigand + + * valops.c: Include "objfiles.h" and "symtab.h". + (find_function_in_inferior): New argument OBJF_P. Use it to return + objfile where function is defined. Use per-objfile arch types + instead of builtin_type_ to define default return type. + + * linux-fork.c (checkpoint_command): Update calls. Use per-objfile + architecture to define inferior call argument types. + * gcore.c (derive_heap_segment): Likewise. + * objc-lang.c (value_nsstring): Likewise. + * scm-lang.c (scm_lookup_name): Likewise. + * scm-valprint.c (scm_inferior_print): Likewise. + * valops.c (value_allocate_space_in_inferior): Likewise. + + * eval.c (evaluate_subexp_standard): Update calls. + * objc-lang.c (lookup_objc_class, print_object_command): Likewise. + + * linux-fork.c: Include "objfiles.h". + * scm-lang.c: Include "objfiles.h". + * scm-valprint.c: Include "objfiles.h". + +2008-09-11 Ulrich Weigand + + * gdbarch.sh (name_of_malloc): Remove. + * gdbarch.c, gdbarch.h: Re-generate. + * valops.c (value_allocate_space_in_inferior): Do not call + gdbarch_name_of_malloc. + +2008-09-11 Ulrich Weigand + + * valarith.c (value_x_unop): Use builtin_type_int8 as type for + UNOP_POSTINCREMENT/UNOP_POSTDECREMENT constant 0 argument. + (value_bit_index): Use extract_unsigned_integer + instead of unpack_long to read single byte. + +2008-09-11 Ulrich Weigand + + * infcall.c (value_arg_coerce): Add GDBARCH parameter. Use its + associates types instead of builtin_type_ macros. + (find_function_addr): Leave output VALUE_TYPE NULL if unknown. + (call_function_by_hand): Use per-architecture "int" type as + fall-back if find_function_addr returns NULL VALUE_TYPE. + Update call to value_arg_coerce. + +2008-09-11 Ulrich Weigand + + * cp-abi.h (cplus_method_ptr_size): Add TO_TYPE parameter. + (cplus_make_method_ptr): Add TYPE parameter. + * cp-abi.c (cplus_method_ptr_size): Add TO_TYPE parameter. Pass it + on to current_cp_abi.method_ptr_size callback. + (cplus_make_method_ptr): Add TYPE parameter. Pass it on to + current_cp_abi.make_method_ptr callback. + + * gdbtypes.c (lookup_methodptr_type): Pass target type + argument to cplus_method_ptr_size. + * valops.c (value_cast): Pass type argument to cplus_make_method_ptr. + (value_struct_elt_for_reference): Likewise. + + * gnu-v3-abi.c (get_class_arch): New function. + (vtable_address_point_offset): Add GDBARCH parameter. Use it + instead of current_gdbarch. Update all callers. + (gnuv3_get_vtable): Likewise. + (gnuv3_get_virtual_fn): Likewise. + (gnuv3_decode_method_ptr): Likewise. + (gnuv3_rtti_type): Call get_class_arch to determine architecture. + Use it instead of current_gdbarch. + (gnuv3_virtual_fn_field): Likewise. + (gnuv3_baseclass_offset): Likewise. + (gnuv3_print_method_ptr): Likewise. + (gnuv3_method_ptr_to_value): Likewise. + (gnuv3_method_ptr_size): Add TYPE parameter. Use it to determine + class architecture. Use architecture types instead of builtin types. + (gnuv3_make_method_ptr): Likewise. + + * cp-valprint.c (cp_print_class_member): Expect pointer type + instead of class type. Use its length when extracting value. + * c-valprint.c (c_val_print): Update call to cp_print_class_member. + +2008-09-11 Ulrich Weigand + + * stack.c (return_command): Use frame architecture to determine + default integer return type. + + * f-valprint.c (f77_get_dynamic_lowerbound): Use frame architecture + to determine pointer types. + (f77_get_dynamic_upperbound): Likewise. + + * objc-lang.c (OBJC_FETCH_POINTER_ARGUMENT): Remove. + (resolve_msgsend): Use architecture of current frame to determine + pointer types. Inline OBJC_FETCH_POINTER_ARGUMENT. + (resolve_msgsend_stret, resolve_msgsend_super, + resolve_msgsend_super_stret): Likewise. + +2008-09-11 Ulrich Weigand + + * alpha-tdep.c (alpha_register_type): Use builtin_type (gdbarch) + instead of builtin_type_ macros. + * amd64-tdep.c (amd64_register_type): Likewise. + (amd64_get_longjmp_target): Likewise. + * arm-tdep.c (arm_register_type): Likewise. + * avr-tdep.c (avr_register_type): Likewise. + * cris-tdep.c (cris_register_type, crisv32_register_type): Likewise. + * frv-tdep.c (frv_register_type): Likewise. + * h8300-tdep.c (h8300_register_type): Likewise. + * hppa-tdep.c (hppa32_convert_from_func_ptr_addr, + hppa_skip_trampoline_code): Likewise. + * i386-tdep.c (i386_register_type): Likewise. + (i386_unwind_pc, i386_sse_type): Likewise. + * ia64-tdep.c (ia64_register_type): Likewise. + * m32r-tdep.c (m32r_register_type): Likewise. + * m68k-tdep.c (m68k_register_type, m68k_unwind_pc): Likewise. + * m88k-tdep.c (m88k_register_type): Likewise. + * mep-tdep.c (mep_register_type): Likewise. + * mips-tdep.c (mips_pseudo_register_type): Likewise. + * mn10300-tdep.c (mn10300_register_type): Likewise. + * mt-tdep.c (mt_copro_register_type): Likewise. + * rs6000-tdep.c (rs6000_builtin_type_vec64): Likewise. + (rs6000_convert_register_p, rs6000_register_to_value, + rs6000_value_to_register): Likewise. + * s390-tdep.c (s390_register_type): Likewise. + * sh64-tdep.c (sh64_register_type): Likewise. + (sh64_build_float_register_type, sh64_do_fp_register): Likewise. + * sh-tdep.c (sh_sh2a_register_type, sh_sh3e_register_type, + sh_sh4_build_float_register_type, sh_sh4_register_type, + sh_default_register_type): Likewise. + * sparc64-tdep.c (sparc64_register_type): Likewise. + * sparc-tdep.c (sparc32_register_type): Likewise. + * spu-tdep.c (spu_builtin_type_vec128, spu_register_type): Likewise. + * v850-tdep.c (v850_register_type): Likewise. + * vax-tdep.c (vax_register_type): Likewise. + * xtensa-tdep.c (xtensa_register_type, xtensa_unwind_pc, + xtensa_push_dummy_call): Likewise. + + * std-regs.c (value_of_builtin_frame_fp_reg, + value_of_builtin_frame_pc_reg): Likewise. + * target-descriptions.c (tdesc_register_type): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-lang.c (ada_coerce_to_simple_array_type): Use builtin_type_int32 + instead of builtin_type_int as default unspecified integral type. + (ada_index_type, ada_array_bound_from_type, ada_variant_discrim_type, + assign_component, to_fixed_range_type): Likewise. + * ada-typeprint.c (print_range, print_range_bound, + print_range_type_named): Likewise. + * ada-valprint.c (print_optional_low_bound, ada_val_print_1): Likewise. + * eval.c (evaluate_subexp_standard): Likewise. + * gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise. + * gnu-v3-abi.c (gnuv3_get_virtual_fn, gnuv3_baseclass_offset, + build_gdb_vtable_type): Likewise. + * jv-lang.c (java_array_type): Likewise. + * m2-typeprint.c (m2_print_bounds, m2_is_long_set_of_type): Likewise. + * m2-valprint.c (m2_print_long_set): Likewise. + * parse.c (follow_types): Likewise. + * p-typeprint.c (pascal_type_print_base): Likewise. + * valops.c (value_one, value_array, value_string, + value_bitstring): Likewise. + * value.c (allocate_repeat_value, value_from_string): Likewise. + * varobj.c (c_describe_child): Likewise. + * mt-tdep.c (mt_register_type): Likewise. + * sh-tdep.c (sh_sh4_build_float_register_type): Likewise. + * sh64-tdep.c (sh64_build_float_register_type): Likewise. + +2008-09-11 Ulrich Weigand + + * defs.h (struct gdbarch): Add forward declaration. + (set_next_address): Add GDBARCH argument. + * printcmd.c (set_next_address): Use it to find pointer type. + * breakpoint.c (breakpoint_1): Update call. + * source.c (line_info): Likewise. + * findcmd.c (find_command): Use current_gdbarch to find pointer type. + + * breakpoint.c (set_breakpoint_count): Use platform-neutral + types for internal variable values. + * infrun.c (handle_inferior_event): Likewise. + * source.c (forward_search_command, reverse_search_command): Likewise. + * tracepoint.c (set_tracepoint_count, set_traceframe_num, + set_tracepoint_num, set_traceframe_context): Likewise. + +2008-09-11 Ulrich Weigand + + * gdbtypes.h (struct builtin_type): Remove builtin_true_char + and builtin_true_unsigned_char. + (builtin_type_true_char): Remove macro, add extern declaration. + (builtin_type_true_unsigned_char): Add extern declaration. + * gdbtypes.c (builtin_type_true_char): New global variable. + (builtin_type_true_unsigned_char): Likewise. + (_initialize_gdbtypes): Initialize them. + (gdbtypes_post_init): Do not initialize builtin_true_char + and builtin_true_unsigned_char members of struct builtin_type. + + * printcmd.c (print_scalar_formatted): Do not use builtin_type; + use builtin_type_true_unsigned_char instead. + + * ada-valprint.c (ada_val_print_1): Use builtin_type_true_char + instead of builtin_type_char for internal string. + +2008-09-11 Ulrich Weigand + + * gdbtypes.h (builtin_type_void): Remove macro, add declaration. + (builtin_type_f_void): Remove macro. + * gdbtypes.c (builtin_type_void): New global variable. + (_initialize_gdbtypes): Initialize it. + + * gnu-v3-abi.c (build_gdb_vtable_type): Do not call + lookup_pointer_type or lookup_function_type on builtin_type_void. + * printcmd.c (set_next_address): Likewise. + * objc-lang.c (value_nsstring): Likewise. + * mt-tdep.c (mt_copro_register_type): Likewise. + * xtensa-tdep.c (xtensa_register_type): Likewise. + + * symfile.c (syms_from_objfile): Remove special handling + of builtin_type_void and builtin_type_char. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_standard): Use exp->gdbarch types instead + of builtin_type_ macros when handling OP_OBJC_ operations. + * objc-lang.c (print_object_command): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-valprint.c: Include "objfiles.h". + (ada_val_print_1): Use the gdbarch associated with the objfile whether + a System.Address type is defined to retrieve the proper pointer type + to use to print it. + +2008-09-11 Ulrich Weigand + + * ada-lang.c (value_pos_atr): Add TYPE argument. Use it as + result type instead of builtin_type_int. + (value_subscript_packed): Use pos_atr instead of value_pos_atr. + (ada_value_subscript): Update call to value_pos_atr. + (ada_value_ptr_subscript): Likewise. + (ada_evaluate_subexp): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-lang.c (cast_to_fixed): Do not cast to builtin_type_double. + (cast_from_fixed_to_double): Rename to ... + (cast_from_fixed): ... this. Add TYPE parameter. Use it instead + of builtin_type_double. + (ada_value_cast): Use cast_from_fixed instead of casting result + of cast_from_fixed_to_double. + (ada_evaluate_subexp): Update calls to cast_from_fixed_to_double. + +2008-09-11 Ulrich Weigand + + * valops.c (value_ind): No longer allow dereferencing an + integer type. + * eval.c (evaluate_subexp_standard): Handle deferencing an + integer type here. + * ada-lang.c (ada_evaluate_subexp): Likewise. + +2008-09-11 Ulrich Weigand + + * ada-valprint.c (ada_val_print_1): When implicitly dereferencing + a reference type, pass the reference type directly to unpack_pointer. + * c-valprint.c (c_val_print): Likewise. + * f-valprint.c (f_val_print): Likewise. + * m2-valprint.c (print_variable_at_address, m2_val_print): Likewise. + * p-valprint.c (pascal_val_print): Likewise. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_standard): Use builtin_type_int8 + to construct the EVAL_SKIP dummy return value. + * ada-lang.c (ada_evaluate_subexp): Likewise. + * jv-lang.c (evaluate_subexp_java): Likewise. + * m2-lang.c (evaluate_subexp_modula2): Likewise. + * scm-lang.c (evaluate_exp): Likewise. + +2008-09-11 Ulrich Weigand + + * value.h (coerce_enum, coerce_number): Remove prototypes. + * value.c (coerce_enum, coerce_number): Remove. + * valarith.c (value_x_binop): Do not call coerce_enum. + (value_x_unop): Likewise. + (value_logical_not): Call coerce_array instead of coerce_number. + +2008-09-11 Ulrich Weigand + + * ax-gdb.c: Include "language.h". + (gen_frame_args_address): Add GDBARCH parameter; use it + instead of current_gdbarch. + (gen_frame_locals_address): Likewise. + (gen_var_ref): Add GDBARCH parameter. Update calls to + gen_frame_args_address and gen_frame_locals_address. Use + pointer type from gdbarch. + (gen_usual_unary): Add EXP parameter. Use integer type + from exp->gdbarch. + (gen_usual_arithmetic): Likewise. + (gen_integral_promotions): Likewise. + (gen_add, gen_sub): Remove. + (gen_ptradd, gen_ptrsub, gen_ptrdiff): New functions. + (gen_logical_not): Use passed-in boolean result type + instead of builtin_type_int. + (gen_complement): Do not call gen_usual_unary or + gen_integral_promotions. + (gen_struct_ref): Call require_rvalue instead of gen_usual_unary. + (gen_repeat): Add EXP parameter. Update call to gen_expr. + Use builtin_type_int32 as internal range type. + (gen_sizeof): Add EXP and SIZE_TYPE parameters. Use SIZE_TYPE + as result type. Update call to gen_expr. + (gen_expr): Add EXP parameter. Update calls to gen_expr, + gen_repeat, gen_var_ref, gen_usual_unary, gen_usual_arithmetic, + and gen_integral_promotions. Call gen_ptradd, gen_ptrsub, + gen_ptrdiff, or gen_binop instead of gen_add or gen_sub. + Use exp->gdbarch instead of current_gdbarch. + Call language_bool_type to determine result type of UNOP_LOGICAL_NOT. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_standard): Add calls to binop_promote + and unop_promote before calling value_binop et. al. + * ada-lang.c (ada_evaluate_subexp): Add calls to binop_promote + and unop_promote before calling value_binop et. al. + + * valarith.c (value_binop): Do not call binop_promote or unop_promote. + (value_pos): Do not call unop_promote. + (value_neg, value_complement): Likewise. + +2008-09-11 Ulrich Weigand + + * value.h (unop_promote, binop_promote): Add prototypes. + * eval.c (unop_promote, binop_promote): New functions. + * valarith.c (unop_result_type, binop_result_type): Remove. + (value_binop): Call binop_promote or unop_promote. + Inline remaining parts of binop_result_type. Remove special + code to truncate integer values for unsigned operations. + (value_pos): Call unop_promote. Inline remaining parts of + unop_result_type. + (value_neg, value_complement): Likewise. + +2008-09-11 Ulrich Weigand + + * value.h (value_add, value_sub): Remove. + (value_ptradd, value_ptrsub, value_ptrdiff): Add prototypes. + * valarith.c (value_add, value_sub): Remove. + (value_ptradd, value_ptrsub, value_ptrdiff): New functions. + (find_size_for_pointer_math): Add assertion. Update comment. + (value_binop): Update comment. + + * eval.c (ptrmath_type_p): New function. + (evaluate_subexp_standard): Replace value_add and value_sub + by value_ptradd, value_ptrsub, value_ptrdiff or value_binop. + Use builtin_type_uint8 instead of builtin_type_char to hold + the increment for BINOP_{PRE,POST}{IN,DE}CREMENT operations. + * valarith.c (value_subscript): Replace value_add by + value_ptradd. Replace value_sub by value_binop. + * ada-lang.c (ada_value_ptr_subscript): Likewise. + (ada_tag_name_2): Replace value_add by value_ptradd. + (ada_evaluate_subexp): Replace value_add and value_sub by + value_binop. + * m2-lang.c (evaluate_subexp_modula2): Replace value_add + by value_ptradd. + * gnu-v2-abi.c (gnuv2_virtual_fn_field): Likewise. + * gnu-v3-abi.c (gnuv3_method_ptr_to_value): Likewise. + +2008-09-11 Ulrich Weigand + + * eval.c (evaluate_subexp_for_sizeof): Use builtin_int type of + the expression architecture instead of builtin_type_int as the + sizeof return type. + +2008-09-11 Ulrich Weigand + + * expression.h (enum exp_opcode): Document OP_COMPLEX to take + a type parameter as expression element. + * eval.c (evaluate_subexp_standard) [OP_COMPLEX]: Retrieve result + type as expression element. + * f-exp.y: Pass in type when buildin OP_COMPLEX expression. + * parse.c (operator_length_standard): Update length of OP_COMPLEX. + +2008-09-11 Ulrich Weigand + + * language.h (struct language_arch_info): New members + bool_type_default and bool_type_symbol. + (lang_bool_type): Remove prototype. + (LA_BOOL_TYPE): Remove macro. + (language_bool_type): Add prototype. + * language.c (lang_bool_type): Remove. + (language_bool_type): New function. + + * value.h (value_in): Change return value to int. + * value.c (value_in): Return int instead of struct value *. + + * eval.c (evaluate_subexp_standard): Call language_bool_type instead + of using LA_BOOL_TYPE. Update call to value_in. + * ada-lang.c (ada_evaluate_subexp): Call language_bool_type instead + of using LA_BOOL_TYPE or builtin_type_int for boolean values. + + * language.c (unknown_language_arch_info): Set bool_type_default member + of struct language_arch_info. + * ada-lang.c (ada_language_arch_info): Set bool_type_symbol and + bool_type_default members of struct language_arch_info. + * c-lang.c (c_language_arch_info): Set bool_type_default member + of struct language_arch_info. + (cplus_language_arch_info): Set bool_type_symbol and bool_type_default + members of struct language_arch_info. + * f-lang.c (f_language_arch_info): Set bool_type_symbol and + bool_type_default members of struct language_arch_info. + * jv-lang.c (java_language_arch_info): Set bool_type_symbol and + bool_type_default members of struct language_arch_info. + * m2-lang.c (m2_language_arch_info): Set bool_type_symbol and + bool_type_default members of struct language_arch_info. + * p-lang.c (p_language_arch_info): Set bool_type_symbol and + bool_type_default members of struct language_arch_info. + +2008-09-11 Ulrich Weigand + + * jv-lang.c (enum java_primitive_types): New type. + (java_language_arch_info): New function. + (java_language): Use it instead of c_language_arch_info. + +2008-09-11 Ulrich Weigand + + * value.h (value_bitstring_subscript): New prototype. + * valarith.h (value_bitstring_subscript): New function. + (value_subscript): No longer handle TYPE_CODE_BITSTRING. + * eval.c (evaluate_subexp_standard): Call value_bitstring_subscript + instead of value_subscript to handle TYPE_CODE_BITSTRING. + +2008-09-11 Ulrich Weigand + + * expression.h (struct expression): New member GDBARCH. + * parse.c (parse_exp_in_context): Initialize it. + * parser-def.h (parse_gdbarch, parse_language): New macros. + + * ada-exp.y (parse_type): New macro. + Replace builtin_type_ macros by using parse_type. + Replace current_language by parse_language. + * ada-lex.l (processInt): Replace current_gdbarch by parse_gdbarch. + Replace builtin_type_ macros. + + * c-exp.y (parse_type): New macro. + Replace builtin_type_ macros by using parse_type. + (parse_number): Replace current_gdbarch by parse_gdbarch. + (yylex): Replace current_language by parse_language. + + * f-exp.y (parse_type, parse_f_type): New macros. + Replace builtin_type_ macros by using parse_{f_,}type. + (parse_number): Replace current_gdbarch by parse_gdbarch. + (yylex): Replace current_language by parse_language. + + * jv-exp.y (parse_type): New macro. + (parse_number): Replace builtin_type_ macros by using parse_type. + + * m2-exp.y (parse_type, parse_m2_type): New macros. + Replace builtin_type_ macros by using parse_{m2_,}type. + + * objc-exp.y (parse_type): New macro. + Replace builtin_type_ macros by using parse_type. + (parse_number): Replace current_gdbarch by parse_gdbarch. + (yylex): Replace current_language by parse_language. + + * p-exp.y (parse_type): New macro. + Replace builtin_type_ macros by using parse_type. + (parse_number): Replace current_gdbarch by parse_gdbarch. + (yylex): Replace current_language by parse_language. + +2008-09-11 Ulrich Weigand + + * parser-defs.h (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE + and DATA_SYMBOL_TYPE arguments. + * parse.c (write_exp_msymbol): Remove TEXT_SYMBOL_TYPE and + DATA_SYMBOL_TYPE arguments. Replace use of builtin_type_CORE_ADDR. + (write_dollar_variable): Update call. + + * ada-exp.y (write_var_or_type): Update call. + * c-exp.y: Likewise. + * f-exp.y: Likewise. + * jv-exp.y: Likewise. + * m2-exp.y: Likewise. + * objc-exp.y: Likewise. + * p-exp.y: Likewise. + +2008-09-10 Joel Brobecker + + * ada-lang.c (ada_parent_type): Add handling of the case where + the _parent field is a pointer and/or has a parallel XVS type. + (ada_evaluate_subexp) [OP_VAR_VALUE]: When doing an + EVAL_AVOID_SIDE_EFFECTS evaluation of a tagged type, return + the type of the tag instead of doing forcing an EVAL_NORMAL + expression evaluation. + +2008-09-10 Paul N. Hilfinger + Joel Brobecker + + * ada-lang.c (is_digits_suffix): New function. + (is_dot_digits_suffix): Remove. + (ada_lookup_symbol_list): Remove digits suffix from minimal symbols + before looking up in symbol table, and do not use wild matches on them. + (wild_match): Reimplement for speed and to allow matching of operator + symbols. + (is_valid_name_for_wild_match): Return zero for names that do not + follow the GNAT encoding. + + (is_name_suffix): Fix typo in comment. + (to_record_with_fixed_variant_part): Ditto. + +2008-09-10 Pedro Alves + + * Makefile.in (gnu-nat.o): New rule. + +2008-09-10 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp) [OP_ATR_SIZE]: Use + archecture-neutral builtin_type_int32 instead of builtin_type_int. + +2008-09-10 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp) [BINOP_ADD, BINOP_SUB]: + Add special handling for pointer types. + +2008-09-10 Pedro Alves + + * inf-ttrace.c (inf_ttrace_follow_fork): Declare locals at the + right scope level. + (inf_ttrace_resume, inf_ttrace_wait): Typos. + +2008-09-10 Ulrich Weigand + + * ada-lang.c (ada_array_length): Use builtin_type_int32 instead + of builtin_type_int. + (ada_evaluate_subexp) [UNOP_IN_RANGE]: Use operand range type + instead of builtin_type_int. + +2008-09-09 Pedro Alves + + * infrun.c (normal_stop): Run hook-stop last. + +2008-09-09 Pedro Alves + + * gnu-nat.c (gnu_pid_to_exec_file): Delete. + (init_gnu_ops): Don't register it. + +2008-09-09 Pedro Alves + + * gnu-nat.c (gnu_attach): Push target before fetching the list of + threads. + +2008-09-08 Daniel Jacobowitz + + * valops.c (value_cast_structs): Return NULL for failure. + (value_cast): Handle NULL from value_cast_structs. + (value_fetch_lazy): Call check_typedef. Remove unused variable. + +2008-09-08 Pedro Alves + + * inferior.h (context_switch_to): Delete. + * infrun.c (context_switch): Don't save and load infrun state. + (context_switch_to): Delete. + + * infcmd.c (proceed_thread_callback): Replace context_switch_to + calls by switch_to_thread calls. + + * gdbthread.h (save_infrun_state, load_infrun_state): Delete. + * thread.c (main_thread_state, main_thread_executing): Delete. + (inferior_thread): Delete references to them. + (add_thread_silent): Fix case where we're adding a thread with the + same ptid as an exited thread. Remove references to + context-switching. + (load_infrun_state, save_infrun_state): Delete. + (thread_alive, is_thread_state, any_running, is_executing) + (set_executing): Remove the special handling for targets that + don't register any thread. + (restore_current_thread, thread_apply_all_command) + (do_captured_thread_select): Unconditionally call + switch_to_thread. + + * mi/mi-main.c (mi_cmd_execute): Check for exited threads. + Call switch_to_thread instead of context_switch_to. + +2008-09-08 Pedro Alves + + Remove global continuations in favour of a per-thread + continuations. + + * gdbthread.h (struct thread_info): Add comments around + continuations and intermediate_continuations. + (save_infrun_state, load_infrun_state): Delete continuations and + intermediate_continuations arguments. + * infrun.c (context_switch): Don't context-switch the continuations. + * thread.c (clear_thread_inferior_resources): Discard all + continuations of the thread we're clearing. + (save_infrun_state, load_infrun_state): Delete continuations and + intermediate_continuations arguments, and the code referencing + them. + * utils.c: Include "gdbthread.h". + (cmd_continuation, intermediate_continuation): Delete. + (add_continuation): Add thread_info* argument. Install the + continuation on it. + (restore_thread_cleanup): New. + (do_all_continuations_ptid, do_all_continuations_thread_callback): + New. + (do_all_continuations): Reimplement. + (discard_all_continuations_thread_callback, + discard_all_continuations_thread): New. + (discard_all_continuations): Reimplement. + (add_intermediate_continuation): Add thread_info* argument. + Install the continuation on it. + (do_all_intermediate_continuations_thread_callback) + (do_all_intermediate_continuations_thread): New. + (do_all_intermediate_continuations): Reimplement. + (discard_all_intermediate_continuations_thread_callback): New. + (discard_all_intermediate_continuations_thread): New. + (discard_all_intermediate_continuations): Reimplement. + + * breakpoint.c (until_break_command): Install the continuation on + the current thread. + + * defs.h (cmd_continuation, intermediate_continuation): Delete. + (struct thread_info): Forward declare. + (add_continuation, add_intermediate_continuation): Add + thread_info* argument. + (do_all_continuations_thread, discard_all_continuations_thread) + (do_all_intermediate_continuations_thread) + (discard_all_intermediate_continuations_thread): Declare. + * inf-loop.c (inferior_event_handler): In non-stop only run + continuations on the thread that stopped. In all-stop, run + continuations on all threads. + * infcmd.c (step_once, finish_command): Adjust. + +2008-09-08 Pedro Alves + + Remove the global stop_step in favour of a per-thread + stop_step. + + * inferior.h (stop_step): Delete. + + * gdbthread.h (struct thread_info): Add comments to stop_step. + (save_infrun_state, load_infrun_state): Remove stop_step argument. + * thread.c (load_infrun_state, save_infrun_state): Remove + stop_step argument, and references to it. + + * infrun.c (clear_proceed_status): Clear stop_step. + (fetch_inferior_event): Adjust. + (context_switch): Don't context-switch stop_step. + (handle_inferior_event): Adjust. + (normal_stop): Adjust. + (save_inferior_status, restore_inferior_status): Adjust. + + * infcmd.c (stop_step): Delete. + (step_1, step_1_continuation, step_once, until_next_command): + Adjust. + +2008-09-08 Pedro Alves + + Remove the global step_multi in favour of a per-thread + step_multi. + + * inferior.h (step_multi): Delete. + * gdbthread.h (struct thread_info): Add comments around + step_multi. + (save_infrun_state, load_infrun_state): Remove step_multi + parameter. + * thread.c (load_infrun_state, save_infrun_state): Remove + step_multi argument, and references to it. + * infcmd.c (step_multi): Delete. + (step_1): Adjust. + (step_1_continuation, until_next_command): Adjust. + * infrun.c (fetch_inferior_event): Adjust. + (context_switch): Don't context-switch step_multi. + (print_stop_reason, normal_stop): Adjust. + +2008-09-08 Pedro Alves + + Remove the global stop_signal in favour of a per-thread + stop_signal. + + * inferior.h (stop_signal): Delete. + * gdbthread.h (save_infrun_state, load_infrun_state): Remove + stop_signal argument. + * thread.c (load_infrun_state, save_infrun_state): Remove + stop_signal argument. Don't reference it. + + * infcmd.c (stop_signal): Delete. + (program_info): Adjust. + * infrun.c (resume): Clear stop_signal. + (proceed): Adjust. Pass the last stop_signal to the thread we're + resuming. + (context_switch): Don't context-switch stop_signal. + (handle_inferior_event, keep_going): Adjust. + (save_inferior_status, restore_inferior_status): Adjust. + + * fbsd-nat.c: Include "gdbthread.h". + (find_signalled_thread, find_stop_signal): New. + (fbsd_make_corefile_notes): Use it. + * fork-child.c (startup_inferior): Adjust. + + * linux-nat.c (get_pending_status): Adjust. + (linux_nat_do_thread_registers): Adjust. + (find_signalled_thread, find_stop_signal): New. + (linux_nat_do_thread_registers): Add stop_signal parameter. + (struct linux_nat_corefile_thread_data): Add stop_signal member. + (linux_nat_corefile_thread_callback): Pass stop_signal. + (linux_nat_do_registers): Delete. + (linux_nat_make_corefile_notes): Use find_stop_signal. Assume + there's always a thread. + + * procfs.c (find_signalled_thread, find_stop_signal): New. + (find_stop_signal): New. + (procfs_do_thread_registers): Add stop_signal parameter. + (struct procfs_corefile_thread_data): Add stop_signal member. + (procfs_corefile_thread_callback): Pass args->stop_signal. + (procfs_make_note_section): Find the last stop_signal. + + * solib-irix.c: Include gdbthread.h. + (irix_solib_create_inferior_hook): Adjust. + * solib-osf.c: Include gdbthread.h. + (osf_solib_create_inferior_hook): Adjust. + * solib-sunos.c: Include gdbthread.h. + (sunos_solib_create_inferior_hook): Adjust. + * solib-svr4.c: Include gdbthread.h. + (svr4_solib_create_inferior_hook): Adjust. + + * win32-nat.c (do_initial_win32_stuff): Adjust. + +2008-09-08 Pedro Alves + + * gdbthread.h (struct thread_info): Add comments around + proceed_to_finish. + (save_infrun_state, load_infrun_state): Remove proceed_to_finish + argument. + * thread.c (load_infrun_state, save_infrun_state): Delete + proceed_to_finish argument and references to it. + + * infcall.c (call_function_by_hand): Adjust. + * infcmd.c (finish_command): Adjust. + * infrun.c (proceed_to_finish): Delete. + (clear_proceed_status): Adjust. + (context_switch): Don't context-switch proceed_to_finish. + (normal_stop, save_inferior_status, restore_inferior_status): + Adjust. + +2008-09-08 Pedro Alves + + * inferior.h (stop_bpstat): Delete. + + * breakpoint.h (bpstat_do_actions): Remove bpstat* argument. + + * breakpoint.c (bpstat_do_actions): Rename to ... + (bpstat_do_actions_1): ... this. Make static. Change return type + to int. Return true if a breakpoint proceeded. + (bpstat_do_actions): New, as wrapper around bpstat_do_actions_1. + (delete_breakpoint): Don't reference the global stop_bpstat; it's + gone. + + * gdbthread.h (struct thread_info): Add stop_bpstat. + (save_infrun_state, load_infrun_state): Remove stop_bpstat + argument. + * thread.c (load_infrun_state, save_infrun_state): Remove + stop_bpstat argument, and the code referencing it. + + * infcall.c: Include "gdbthread.h". + (call_function_by_hand): Adjust. + * exceptions.c: Include "gdbthread.h". + (throw_exception): Adjust. + * infcmd.c (stop_bpstat): Delete. + (continue_command): In all-stop, set the ignore count on the + thread that reported the stop. In non-stop, set it on the current + thread. + (finish_command_continuation): Adjust. + (program_info): Adjust. + * infrun.c (clear_proceed_status): Adjust. + (context_switch): Don't context-switch stop_bpstat. + (handle_inferior_event): Adjust. + (normal_stop): Adjust. + (save_inferior_status, restore_inferior_status): Adjust. + + * inf-loop.c (inferior_event_handler): Remove parameter to + bpstat_do_actions call. + * top.c (command_loop): Remove parameter to bpstat_do_actions + call. Call it unconditionally. + * event-top.c (command_handler): Ditto. + * python/python.c (execute_gdb_command): Ditto. + +2008-09-08 Pedro Alves + + * inferior.h (step_over_calls): Delete. + + * gdbthread.h (save_infrun_state, load_infrun_state): Remove + step_over_calls argument. + * thread.c (save_infrun_state, load_infrun_state): Remove + step_over_calls argument. Adjust. + + * infcmd.c (step_over_calls): Delete. + (step_1): Adjust. + * infrun.c (clear_proceed_status): Adjust. + (context_switch): Don't context-switch step_over_calls. + (handle_inferior_event, save_inferior_status) + (restore_inferior_status): Adjust. + +2008-09-08 Pedro Alves + + Remove context switching in favour of accessing thread_info fields + directly. + + * infrun.c (stepping_over_breakpoint, step_resume_breakpoint): + Delete. + (struct thread_stepping_state): Delete. + (gtss, tss): Delete. + (follow_inferior_reset_breakpoints, follow_exec) + (resume, clear_proceed_status): Adjust. + (prev_pc): Delete. + (proceed, start_remote, init_wait_for_inferior): Adjust. + (struct execution_control_state): Add event_thread member. + (delete_step_resume_breakpoint_callback) + (delete_step_thread_step_resume_breakpoint) + (delete_step_thread_step_resume_breakpoint_cleanup) + (delete_step_thread_step_resume_breakpoint): New. + (wait_for_inferior, init_execution_control_state): Use + delete_step_thread_step_resume_breakpoint_cleanup. + (wait_for_inferior): Set the event_thread. + (fetch_inferior_event): Ditto. Delete the step-resume breakpoint + with delete_step_thread_step_resume_breakpoint. + (init_thread_stepping_state): Change parameter type to + thread_info. Adjust. + (context_switch): Don't context switch prev_pc, + stepping_over_breakpoint, step_resume_breakpoint, + step_range_start, step_range_end, step_frame_id, + tss->stepping_over_breakpoint, + tss->stepping_through_solib_after_catch, + tss->stepping_through_solib_catchpoints, tss->current_line, or + tss->current_symtab. + (adjust_pc_after_break, handle_inferior_event) + (currently_stepping, step_into_function) + (insert_step_resume_breakpoint_at_sal) + (insert_longjmp_resume_breakpoint, keep_going): Adjust. + (clear_stepping_state): New. + (normal_stop): Adjust. + (save_inferior_status, restore_inferior_status): Adjust. + + * gdbthread.h (struct thread_info): Comments describing the + members moved here. Add step_after_step_resume_breakpoint. + (delete_step_resume_breakpoint): Add thread_info argument. + (save_infrun_state, load_infrun_state): Remove prev_pc, + trap_expected, step_resume_breakpoint, step_range_start, + step_range_end, step_frame_id, another_trap, + stepping_through_solib_after_catch, + stepping_through_solib_catchpoints, current_line and + current_symtab function arguments. + (inferior_thread): Declare. + + * thread.c (inferior_thread): New. + (delete_step_resume_breakpoint): Add a thread_info parameter and + rewrite. + (load_infrun_state, save_infrun_state): Remove prev_pc, + trap_expected, step_resume_breakpoint, step_range_start, + step_range_end, step_frame_id, stepping_over_breakpoint, + stepping_through_solib_after_catch, + stepping_through_solib_catchpoints, current_line and + current_symtab args. Remove code referencing them. + + * infcmd.c (step_range_start, step_range_end, step_frame_id): + Delete. + (step_1, step_once, until_next_command): Adjust. + + * inferior.h (step_range_start, step_range_end, step_frame_id): + Delete. + + * linux-nat.c (linux_child_follow_fork): If following the child, + move the step state to it. Adjust. + * inf-ptrace.c (inf_ptrace_follow_fork): Ditto. + * inf-ttrace.c (inf_ttrace_follow_fork): Ditto. + +2008-09-08 Pedro Alves + + * bsd-uthread.c (bsd_uthread_find_new_threads): Claim the main + thread. + +2008-09-08 Pedro Alves + + * corelow.c (add_to_thread_list): If this is the first time we + hear about thread info, update inferior_ptid. + (core_open): Clear the thread list and set inferior_ptid before + acknowledging a new inferior. Find threads before fetching + register info. Give an upper target layer a chance to find and + claim new threads. Print core generation and stop signal info + after finding new threads. + (get_core_register_section): Look at the lwp member of + inferior_ptid for detecting if we have threads info, instead of + the pid member. + (core_pid_to_str): New. + (init_core_ops): Register core_pid_to_str. + +2008-09-08 Pedro Alves + + * spu-linux-nat.c (spu_child_post_startup_inferior) + (spu_child_post_attach): Don't add the main thread here. + +2008-09-08 Pedro Alves + + Use ptid_t.tid to store thread ids instead of ptid_t.pid. + + * gnu-nat.c (inf_validate_procs): If this is the first time we're + seeing a thread id, extend the main thread's ptid. If we still + have pending execs, don't be verbose about new threads. + (gnu_wait, gnu_resume, gnu_attach, gnu_thread_alive) + (gnu_pid_to_str, cur_thread, sig_thread_cmd): Adjust. + * i386gnu-nat.c (gnu_fetch_registers, gnu_store_registers): + Adjust. + +2008-09-08 Pedro Alves + + * procfs.c (to_attach): Create a procinfo for the current lwp. + Add it to gdb's thread list. + (procfs_fetch_registers, procfs_store_registers): Assume there's + always an lwp. + (procfs_wait): Don't add the main thread here. + (procfs_init_inferior): Create a procinfo for the main lwp here. + Change main thread's ptid with thread_change_ptid. + (procfs_notice_thread): Check for exited threads. + (procfs_corefile_thread_callback): Remove check for the main + process. + (procfs_make_note_section): Assume there is always a thread. + + * sol-thread.c (sol_thread_attach): Clear sol_thread_active before + attaching. Change the main thread ptid with thread_change_ptid. + (sol_thread_detach): Clear sol_thread_active. + (sol_thread_wait): Check for exited threads. + (sol_thread_create_inferior): Clear sol_thread_active before + creating a new inferior. Change the main thread ptid with + thread_change_ptid. + (sol_thread_mourn_inferior): Clear sol_thread_active. + (sol_find_new_threads_callback): Check for exited threads. + +2008-09-08 Pedro Alves + + * inf-ttrace.c (inf_ttrace_wait): On TTEVT_LWP_CREATE and + LWP_TERMINATE, resume the caller thread. On TTEVT_LWP_CREATE, + TTEVT_LWP_EXIT and TTEVT_LWP_TERMINATE, don't stop the whole + process, and return TARGET_WAITKIND_IGNORE. + +2008-09-08 Pedro Alves + + * inf-ttrace.c: Include + (inf_ttrace_delete_dead_threads_callback): New. + (inf_ttrace_resume_lwp): New. + (inf_ttrace_resume_callback, inf_ttrace_resume): Rewrite. Don't + delete dying threads until they are really dead. + (inf_ttrace_wait): After stopping the whole process, delete any + dying thread that is really dead by now. + (inf_ttrace_thread_alive): Return 1. + (inf_ttrace_extra_thread_info): New. + (inf_ttrace_target): Register inf_ttrace_extra_thread_info. + +2008-09-08 Pedro Alves + + * inf-ttrace.c (inf_ttrace_follow_fork): Register the main thread + of the child fork. + (inf_ttrace_attach): Add the main thread. + (inf_ttrace_resume_callback): Check for exited threads. Adjust + for always a thread. + (inf_ttrace_wait): Decorate the main thread's ptid with lwp info + using thread_change_ptid, and set its private data. Don't add the + main thread here. + (inf_ttrace_pid_to_str): Adjust. + +2008-09-08 Pedro Alves + + * bsd-uthread.c (bsd_uthread_wait): Decorate the main thread with + thread_change_ptid. Check for exited threads. + (bsd_uthread_find_new_threads): Check for exited threads. + +2008-09-08 Pedro Alves + + * inf-ptrace.c: Include "gdbthread.h". + (inf_ptrace_attach): Add the main thread here. + * linux-nat.c (linux_nat_attach): Don't add the main thread here. + Decorate the main thread id with the lwp id. + +2008-09-08 Pedro Alves + + * linux-nat.c (linux_nat_wait): Update inferior_ptid's ptid with + thread_change_ptid. Don't add or mark the main thread as running + and executing here. + * fork-child.c (fork_inferior): Add the main thread here. + +2008-09-08 Jerome Guitton + + * rs6000-tdep.c (rs6000_fetch_instruction) + (rs6000_skip_stack_check): New functions. + (skip_prologue): Skip stack check sequence. + +2008-09-08 David Daney + + * dummy-frame.h (frame.h): Include it. + (struct frame_id): Remove declaration. + +2008-09-05 Ulrich Weigand + + * spu-tdep.c (spu_push_dummy_code): New function. + (spu_gdbarch_init): Install it. + +2008-09-05 Ulrich Weigand + + * gdbarch.sh (gdbarch_dump): Use core_addr_to_string_nz + instead of paddr_nz. + * gdbarch.c: Regenerate. + + * target.c (target_xfer_partial, debug_print_register): Use + core_addr_to_string_nz instead of paddr_nz. + +2008-09-05 Ulrich Weigand + + * rs6000-tdep.c (rs6000_gdbarch_init): Setup displaced stepping + *before* calling gdbarch_init_osabi. + (rs6000_aix_init_osabi): Disable displaced stepping. + +2008-09-05 Ulrich Weigand + + * target.c (update_current_target): Do not inherit to_open + or to_close. + (pop_target): Call target_close on target_stack instead + of current_target. + (pop_all_targets_above): Likewise. + +2008-09-05 Ulrich Weigand + + * gnu-v3-abi.c (gnuv3_decode_method_ptr): New function. + (gnuv3_print_method_ptr): Use it. + (gnuv3_method_ptr_to_value): Likewise. + +2008-09-05 Ulrich Weigand + + * nto-tdep.h (struct nto_target_ops): Add gdbarch parameter to + register_area callback function. + * i386-nto-tdep.c (i386nto_register_area): Add gdbarch parameter. + Use it instead of current_gdbarch. + * nto-procfs.c (procfs_store_registers): Update call. + +2008-09-05 Ulrich Weigand + + * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Use + regcache architecture instead of current_gdbarch. + +2008-09-05 Ulrich Weigand + + * mep-tdep.c (struct mep_prologue): Add gdbarch member. + (check_for_saved): Use it instead of current_gdbarch. + (is_arg_spill): Add gdbarch paramter. Use it instead + of current_gdbarch. + (mep_analyze_prologue): Add gdbarch parameter. Pass it + to is_arg_spill and check_for_saved. + (mep_skip_prologue, mep_analyze_frame_prologue): Update calls. + +2008-09-05 Ulrich Weigand + + * hppa-tdep.c (internalize_unwinds): Use objfile architecture + instead of current_gdbarch. + +2008-09-05 Ulrich Weigand + + * m68k-tdep.h (m68kbsd_fpreg_offset): Add gdbarch parameter. + * m68kbsd-tdep.c (m68kbsd_fpreg_offset): Add gdbarch paramter. + Use it instead of current_gdbarch. + (m68kbsd_supply_fpregset): Update call. + * m68kbsd-nat.c (m68kbsd_supply_fpregset): Likewise. + (m68kbsd_collect_fpregset): Likewise. + +2008-09-05 Ulrich Weigand + + * cris-tdep.c (cris_version, cris_mode): Remove. + (crisv32_single_step_through_delay): Use tdep->cris_mode. + (cris_breakpoint_from_pc): Likewise. + (cris_frame_unwind_cache): Use tdep->cris_version. + (crisv32_scan_prologue): Likewise. + (cris_spec_reg_applicable): Add gdbarch argument. + Use tdep->cris_version. + (cris_register_size, cris_special_register_name): Update calls. + (cris_special_register_name): Add gdbarch argument. + (cris_register_name, crisv32_register_name): Update calls. + +2008-09-05 Ulrich Weigand + + * m68hc11-tdep.c (gdb_print_insn_m68hc11): Use info->arch + instead of current_gdbarch. + + * sh64-tdep.c (gdb_print_insn_sh64): Remove. + (sh64_gdbarch_init): Install print_insn_sh64 directly. + * sh-tdep.c (gdb_print_insn_sh): Remove. + (sh_gdbarch_init): Install print_insn_sh directly. + + * mips-tdep.c (gdb_print_insn_mips): Do not check mips_abi + from current_gdbarch. + (gdb_print_insn_mips_n32, gdb_print_insn_mips_n64): New functions. + (mips_gdbarch_init): Install them instead of gdb_print_insn_mips + depending on mips_abi. + +2008-09-05 Ulrich Weigand + + * gdbarch.sh (addr_bits_remove): Change type to 'm'. + (smash_text_address): Likewise. + * gdbarch.c, gdbarch.h: Regenerate. + + * arch-utils.c (core_addr_identity): Add gdbarch parameter. + * arch-utils.h (core_addr_identity): Likewise. + * arm-tdep.c (arm_addr_bits_remove): Likewise. + (arm_smash_text_address): Likewise. + * hppa-tdep.c (hppa_smash_text_address): Likewise. + * m88k-tdep.c (m88k_addr_bits_remove): Likewise. + * s390-tdep.c (s390_addr_bits_remove): Likewise. + + * mips-tdep.c (mips_addr_bits_remove): Add gdbarch parameter. + Use it instead of current_gdbarch. + + * arm-tdep.c (arm_prologue_prev_register, arm_unwind_pc, + arm_dwarf2_prev_register): Update calls. + * m88k-tdep.c (m88k_unwind_pc): Update call. + +2008-09-05 Ulrich Weigand + + * dwarf2expr.h (dwarf2_read_address): Add gdbarch argument. + * dwarf2expr.c (dwarf2_read_address): Add gdbarch argument. + Call gdbarch_integer_to_address directly instead of converting + to value and back. Update comment. + (execute_stack_op): Update call site. + * dwarf2loc.c (find_location_expression): Likewise. + (locexpr_describe_location): Update + + * dwarf2expr.h (struct dwarf_expr_context): Add gdbarch member. + * dwarf2-frame.c (execute_stack_op): Initialize ctx->gdbarch. + * dwarf2loc. (dwarf2_evaluate_loc_desc): Likewise. + (dwarf2_loc_desc_needs_frame): Likewise. + +2008-09-05 Ulrich Weigand + + * breakpoint.h (struct bp_location): Change type of section + member to "struct obj_section *". + * tracepoint.h (struct tracepoint): Likewise. + * symtab.h (struct general_symbol_info): Replace bfd_section + member with obj_section. + (struct symtab_and_line): Change type of section member to + "struct obj_section *". + (SYMBOL_BFD_SECTION): Remove macro, replace by ... + (SYMBOL_OBJ_SECTION): ... this. + + * minsym.c (prim_record_minimal_symbol_and_info): Record symbol + section as obj_section instead of bfd_section. + + * ada-lang.c (ada_decode_symbol): Use gsymbol->obj_section + directly instead of looking of obj_section from bfd_section. + + * objfiles.h (find_pc_sect_section): Remove. + * objfiles.c (find_pc_sect_section): Remove. + (find_pc_section): Inline find_pc_sect_section code. + + * symfile.h (find_pc_overlay): Return struct obj_section *. + (find_pc_mapped_section): Likewise. + (section_is_overlay, section_is_mapped): Change type of section + argument to struct obj_section *. + (pc_in_mapped_range, pc_in_unmapped_range): Likewise. + (overlay_mapped_address, overlay_unmapped_address): Likewise. + (symbol_overlayed_address): Likewise. + * symtab.h (symbol_overlayed_address): Likewise. + * symfile.c (overlay_is_mapped): Remove. + (section_is_mapped): Inline overlay_is_mapped code. Update. + (overlay_invalidate_all): Update. + (section_is_overlay): Change section argument to type + "struct obj_section *". Use bfd_ methods. + (pc_in_unmapped_range): Likewise. Handle relocated sections. + (pc_in_mapped_range): Likewise. Handle relocated sections. + (sections_overlap): Likewise. + (overlay_unmapped_address): Likewise. + (overlay_mapped_address): Likewise. + (symbol_overlayed_address): Likewise. + (find_pc_overlay): Return struct obj_section *. + (find_pc_mapped_section): Likewise. + (list_overlays_command): Update. + (map_overlay_command, unmap_overlay_command): Update. + (simple_overlay_update): Update. + + * block.h (blockvector_for_pc_sect): Change section argument + to type "struct obj_section *". + (block_for_pc_sect): Likewise. + * block.c (blockvector_for_pc_sect): Change section argument + to type "struct obj_section *". + (block_for_pc_sect): Likewise. + * symtab.h (find_pc_sect_function, find_pc_sect_psymtab, + find_pc_sect_symtab, find_pc_sect_psymbol, find_pc_sect_line, + lookup_minimal_symbol_by_pc_section, find_function_start_pc): Likewise. + (matching_bfd_sections): Rename to ... + (matching_obj_sections): ... this. Update argument types. + * blockframe.c (find_pc_sect_function): Likewise. + * breakpoint.c (describe_other_breakpoints): Likewise. + (breakpoint_has_pc, check_duplicates_for): Likewise. + * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise. + (lookup_minimal_symbol_by_pc_section): Likewise. + * symtab.c (find_pc_sect_psymtab_closer): Likewise. + (find_pc_sect_psymtab, find_pc_sect_psymbol, find_pc_sect_symtab, + find_pc_sect_line, find_function_start_pc): Likewise. + (matching_bfd_sections): Rename to ... + (matching_obj_sections): ... this. Update argument types. + + * blockframe.c (find_pc_partial_function): Update to section + type changes. No longer call find_pc_sect_section. + (cache_pc_function_section): Change to type "struct obj_section *". + * breakpoint.c (resolve_sal_pc): Update to section type changes. + * exec.c (xfer_memory): Likewise. + * findvar.c (read_var_value): Likewise. + * infcmd.c (jump_command): Likewise. + * linespec.c (minsym_found): Likewise. + * maint.c (maintenance_translate_address): Likewise. + * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Likewise. + (lookup_solib_trampoline_symbol_by_pc): Likewise. + * parse.c (write_exp_msymbol): Likewise. + * printcmd.c (build_address_symbolic): Likewise. + (address_info, sym_info): Likewise. + * symmisc.c (dump_msymbols, print_symbol): Likewise. + * symtab.c (fixup_section): Likewise. + (fixup_symbol_section, fixup_psymbol_section): Likewise. + (find_pc_line, find_function_start_sal): Likewise. + * target.c (memory_xfer_partial): Likewise. + * hppa-hpux-tdep.c (hppa64_hpux_in_solib_call_trampoline): Likewise. + * spu-tdep.c (spu_overlay_update): Likewise. + +2008-09-04 Doug Evans + + * defs.h (plongest,pulongest): Renamed from paddr_u,paddr_d. + Change argument of pulongest from CORE_ADDR to ULONGEST. + All callers updated. + * utils.c (plongest): Renamed from paddr_d. + (pulongest): Renamed from paddr_u, change arg type to ULONGEST. + * remote-mips.c (send_srec): Use paddr_nz instead of paddr_u in + `CORE_ADDR addr' arg of error message. + +2008-09-03 Angela Marie Thomas + + * ser-tcp.c (ser_tcp_send_break): New function. + (_initialize_ser_tcp): Use ser_tcp_send_break. + * ser-tcp.h (ser_tcp_send_break): New prototype. + +2008-09-03 Ulrich Weigand + + * spu-tdep.c (spu_push_dummy_call): Update all stack pointer slots + when allocating stack frame for inferior call. + +2008-09-03 Ulrich Weigand + + * spu-tdep.c (spu_frame_unwind_cache): Do not attempt to unwind + SP or return address if we failed to find a valid frame. + +2008-09-03 Aleksandar Ristovski + + * breakpoint.c (breakpoint_init_inferior): Mark as not inserted only + non-permanent breakpoints. + (bpstat_stop_status): Change enable_state to bp_disabled only for + non-permanent breakpoints. + (bp_loc_is_permanent): New function. + (create_breakpoint): Check if the location points to a permanent + breakpoint and if it does, make breakpoint permanent. + (update_breakpoint_locations): Make sure new locations of permanent + breakpoints are properly initialized. + * i386-tdep.c (i386_skip_permanent_breakpoint): New function. + (i386_gdbarch_init): Set gdbarch_skip_permanent_breakpoint. + +2008-09-02 Pedro Alves + + * breakpoint.c (insert_breakpoints, update_global_location_list): + Check breakpoints_always_inserted_mode instead of + always_inserted_mode directly. + +2008-09-02 Andreas Schwab + + * ia64-tdep.c (ia64_get_dyn_info_list): Use obj_section_addr. + +2008-09-01 Jan Kratochvil + + Stay compatible after the GCC PR fortran/29635 fix. + * dwarf2read.c (process_die ) + (process_die ): Do not assert anything about + these unsupported tags. + +2008-08-29 Tom Tromey + + * maint.c (_initialize_maint_cmds): Fix typo. + +2008-08-29 Tom Tromey + + * dwarf2read.c (dwarf2_build_psymtabs_hard): Copy dirname on + obstack. + +2008-08-27 Ulrich Weigand + + * remote.c: Include "gdb_stat.h". + +2008-08-26 Ulrich Weigand + + * dummy-frame.h (dummy_frame_pop): Add prototype. + * dummy-frame.c: Include "observer.h". + (dummy_frame_push): Do not check for stale frames. + (dummy_frame_pop): New function. + (cleanup_dummy_frames): New function. + (_initialize_dummy_frame): Install it as inferior_created observer. + + * frame.h (struct frame_id): Update comments. + (frame_id_inner): Remove prototype. + * frame.c (frame_id_inner): Make static. Add comments. + (frame_find_by_id): Update frame_id_inner safety net check to avoid + false positives for targets using non-contiguous stack ranges. + (get_prev_frame_1): Update frame_id_inner safety net check. + (frame_pop): Call dummy_frame_pop when popping a dummy frame. + + * stack.c (return_command): Directly pop the selected frame. + * infrun.c (handle_inferior_event): Remove dead code. + * i386-tdep.c (i386_push_dummy_call): Update comment. + +2008-08-26 Ulrich Weigand + + * breakpoint.c (remove_breakpoint): Do not fail if unable to remove + breakpoint from shared library. + +2008-08-26 Ulrich Weigand + + * solib-svr4.c (read_program_header): New function. + (scan_dyntag_auxv): New function. + (elf_locate_base): Use it if scan_dyntag fails. + (find_program_interpreter): New function. + (enable_break): Use it instead of .interp section. + +2008-08-26 Ulrich Weigand + + * remote.h (remote_filename_p, remote_bfd_open): Add prototypes. + * remote.c (remote_bfd_iovec_open, remote_bfd_iovec_close, + remote_bfd_iovec_pread, remote_bfd_iovec_stat, remote_filename_p, + remote_bfd_open): New functions. + (remote_hostio_send_command): Fail safely if remote connection + is not set up. + + * solist.h (solib_open): Remove prototype. + (solib_bfd_open): Add prototype. + * solib.c: Include "remote.h". + (solib_open): Remove, replace by ... + (solib_bfd_open): ... this new function. Handle remote BFDs. + (solib_map_sections): Replace solib_open by solib_bfd_open. + * solib-frv.c: Include "exceptions.h". + (enable_break2): Replace solib_open by solib_bfd_open. + * solib-svr4.c: Include "exceptions.h". + (enable_break): Replace solib_open by solib_bfd_open. + + * symfile.c: Include "remote.h". + (build_id_verify): Handle remote BFDs. + (separate_debug_file_exists): Use BFD to access file. Handle + remote BFDs. + (symfile_bfd_open): Handle remote BFDs. + (reread_symbols): Handle remote BFDs. + + * NEWS: Mention "remote:" argument prefix to "set sysroot". + +2008-08-26 Ulrich Weigand + + * gdbarch.sh (target_gdbarch): New global variable. + (deprecated_current_gdbarch_select_hack): Set it. + * gdbarch.c, gdbarch.h: Regenerate. + + * arch-utils.c (gdbarch_update_p): Use target_gdbarch instead + of current_gdbarch. + * target-descriptions.c (target_find_description): Likewise. + * arm-tdep.c (arm_update_current_architecture): Likewise. + (show_fp_model, arm_show_abi, arm_show_fallback_mode, + arm_show_force_mode): Likewise. + * mips-tdep.c (show_mask_address, show_mipsfpu_command, + show_mips_abi): Likewise. + * mep-tdep.c (me_module_register_set, current_me_module): Likewise. + + * target.c (target_translate_tls_address): Use target_gdbarch + instead of current_gdbarch. + * remote.c (struct packet_reg): Likewise. + (get_remote_arch_state, packet_reg_from_regnum, + packet_reg_from_pnum, remote_check_symbols, remote_wait, + remote_address_masked, remote_insert_breakpoint, + remote_insert_hw_breakpoint, remote_read_description): Likewise. + * remote-m32r-sdi.c (m32r_resume, m32r_wait): Likewise. + * remote-mips.c (mips_open, mips_common_breakpoint): Likewise. + * cris-tdep.c (cris_can_use_hardware_watchpoint): Likewise. + + * solib.c (solib_open, solib_map_sections, solib_read_symbols, + solib_add, info_sharedlibrary_command, solib_address, + solib_create_inferior_hook, in_solib_dynsym_resolve_code, + solib_global_lookup): Likewise. + * solib-frv.c (enable_break2, frv_relocate_main_executable): Likewise. + * solib-irix.c (irix_current_sos, irix_open_symbol_file_object): + Likewise. + * solib-sunos.c (sunos_solib_create_inferior_hook): Likewise. + * solib-svr4.c (exec_entry_point, enable_break, svr4_free_so, + set_solib_svr4_fetch_link_map_offsets, svr4_fetch_link_map_offsets): + Likewise. + * nto-tdep.c (nto_find_and_open_solib, nto_init_solib_absolute_prefix, + nto_truncate_ptr): Likewise. + * mips-linux-tdep.c (mips_linux_in_dynsym_stub): Likewise. + +2008-08-26 Luis Machado + + * ppc-linux-tdep.c (ppc_linux_vsx_regset_sections) New structure. + (ppc_linux_vmx_regset_sections): New structure. + (ppc_linux_fp_regset_sections): New structure. + (ppc_linux_init_abi): Select core-file regset based on target + features. + +2008-08-26 Ulrich Weigand + + * target.c (debug_print_register): Use regcache_raw_collect + instead of regcache_cooked_read. Only handle raw registers. + +2008-08-25 Pedro Alves + + * cp-name-parser.y: Include config.h before system headers. + +2008-08-25 Ulrich Weigand + + * m88k-tdep.c: Update for unwinder changes. + +2008-08-24 Tom Tromey + + * s390-tdep.c (s390_address_class_type_flags): Use + TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1. + (s390_address_class_type_flags_to_name): Likewise. + (s390_address_class_name_to_type_flags): Likewise. + +2008-08-24 Tom Tromey + + * rs6000-tdep.c (rs6000_builtin_type_vec128): Don't use + TYPE_FLAGS. + * features/rs6000/powerpc-vsx32l.c + (initialize_tdesc_powerpc_vsx32l): Update. + * features/rs6000/powerpc-vsx32.c + (initialize_tdesc_powerpc_vsx32): Update. + * features/rs6000/powerpc-vsx64.c + (initialize_tdesc_powerpc_vsx64): Update. + * features/rs6000/powerpc-vsx64l.c + (initialize_tdesc_powerpc_vsx64l): Update. + * target-descriptions.c (maint_print_c_tdesc_cmd): Emit + TYPE_VECTOR, not TYPE_FLAGS. + +2008-08-24 Tom Tromey + + * xml-tdesc.c (tdesc_end_union): Update. + * stabsread.c (define_symbol): Update. + (read_type): Update. + (read_struct_type): Update. + (read_enum_type): Update. + * spu-tdep.c (spu_builtin_type_vec128): Update. + * sh-tdep.c (sh_push_dummy_call_fpu): Update. + (sh_push_dummy_call_nofpu): Update. + * mdebugread.c (parse_symbol): Update. + (parse_symbol): Update. + (parse_symbol): Update. + (upgrade_type): Update. + * jv-lang.c (java_lookup_class): Update. + * iq2000-tdep.c (iq2000_pointer_to_address): Update. + * i386-tdep.c (i386_mmx_type): Update. + (i386_sse_type): Update. + * gdbtypes.h (enum type_flag_value): New enum. + (enum type_instance_flag_value): New enum. + (TYPE_FLAG_UNSIGNED, TYPE_FLAG_NOSIGN, TYPE_FLAG_STUB, + TYPE_FLAG_TARGET_STUB, TYPE_FLAG_STATIC, TYPE_FLAG_PROTOTYPED, + TYPE_FLAG_INCOMPLETE, TYPE_FLAG_VARARGS, TYPE_FLAG_VECTOR, + TYPE_FLAG_FIXED_INSTANCE, TYPE_FLAG_STUB_SUPPORTED, + TYPE_FLAG_NOTTEXT): Now enum constants. + (TYPE_FLAG_CONST, TYPE_FLAG_VOLATILE, TYPE_FLAG_CODE_SPACE, + TYPE_FLAG_DATA_SPACE, TYPE_FLAG_ADDRESS_CLASS_1, + TYPE_FLAG_ADDRESS_CLASS_2): Remove. + (TYPE_INSTANCE_FLAG_CONST, TYPE_INSTANCE_FLAG_VOLATILE, + TYPE_INSTANCE_FLAG_CODE_SPACE, TYPE_INSTANCE_FLAG_DATA_SPACE, + TYPE_INSTANCE_FLAG_ADDRESS_CLASS_1, + TYPE_INSTANCE_FLAG_ADDRESS_CLASS_2): New constants. + (TYPE_UNSIGNED, TYPE_NOSIGN, TYPE_STUB, TYPE_TARGET_STUB, + TYPE_STATIC, TYPE_PROTOTYPED, TYPE_INCOMPLETE, TYPE_VARARGS, + TYPE_VECTOR, TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED, + TYPE_NOTTEXT): Update. + (TYPE_FLAG_ADDRESS_CLASS_ALL): Remove. + (TYPE_INSTANCE_FLAG_ADDRESS_CLASS_ALL): New define. + (TYPE_VOLATILE, TYPE_CODE_SPACE, TYPE_DATA_SPACE, + TYPE_ADDRESS_CLASS_1, TYPE_ADDRESS_CLASS_2, + TYPE_ADDRESS_CLASS_ALL): Update. + (struct main_type) : Remove. + : New fields. + : Move earlier. + (TYPE_FLAGS): Remove. + * gdbtypes.c (make_pointer_type): Update. + (address_space_name_to_int): Update. + (address_space_int_to_name): Update. + (make_type_with_address_space): Update. + (make_cv_type): Update. + (create_range_type): Update. + (get_discrete_bounds): Update. + (create_set_type): Update. + (make_vector_type): Update. + (smash_to_method_type): Update. + (check_typedef): Update. + (check_stub_method): Update. + (init_type): Individually assign flag fields. + (recursive_dump_type): Don't print entire TYPE_FLAGS field. Do + print TYPE_FIXED_INSTANCE, TYPE_STUB_SUPPORTED, and TYPE_NOTTEXT. + (copy_type_recursive): Copy the entire main type. Don't use + TYPE_FLAGS. + * features/rs6000/powerpc-altivec64l.c + (initialize_tdesc_powerpc_altivec64l): Update. + * features/rs6000/powerpc-altivec64.c + (initialize_tdesc_powerpc_altivec64): Update. + * features/rs6000/powerpc-altivec32l.c + (initialize_tdesc_powerpc_altivec32l): Update. + * features/rs6000/powerpc-altivec32.c + (initialize_tdesc_powerpc_altivec32): Update. + * features/rs6000/powerpc-7400.c (initialize_tdesc_powerpc_7400): + Update. + * features/arm-with-iwmmxt.c (initialize_tdesc_arm_with_iwmmxt): + Update. + * dwarf2read.c (read_structure_type): Update. + (read_enumeration_type): Likewise. + (process_enumeration_scope): Likewise. + (read_tag_pointer_type): Likewise. + (read_subroutine_type): Likewise. + (read_subroutine_type): Likewise. + (read_base_type): Likewise. + * coffread.c (coff_read_enum_type): Update. + * ada-valprint.c (adjust_type_signedness): Update. + * ada-typeprint.c (print_record_field_types): Update. + * ada-lang.c (packed_array_type): Update. + (empty_record): Don't reset TYPE_FLAGS. + (ada_template_to_fixed_record_type_1): Update. + (ada_template_to_fixed_record_type_1): Likewise. + (template_to_static_fixed_type): Likewise. + (to_record_with_fixed_variant_part): Likewise. + (to_fixed_record_type): Likewise. + (to_fixed_array_type): Likewise. + (to_static_fixed_type): Likewise. + +2008-08-23 Jim Blandy + + PR macros/607: + * symmisc.c (print_symbol_bcache_statistics): Include statistics + for the macro bcache. + +2008-08-23 Tom Tromey + + * macrotab.h (struct macro_definition) : Shrink to one bit. + (argc): Now 31 bits. + +2008-08-22 Tom Tromey + + * NEWS: Move macro entries back under "New commands". + +2008-08-22 Ulrich Weigand + + * breakpoint.c (create_overlay_event_breakpoint): Rename to ... + (create_overlay_event_breakpoint_1): ... this. Add OBJFILE parameter. + (create_overlay_event_breakpoint): Loop over all objfiles to install + multiple instances of the overlay event breakpoint if present. + +2008-08-22 Ulrich Weigand + + * spu-tdep.c (spu_overlay_new_objfile): Only consider SPU objfiles. + (info_spu_event_command): Command only supported on SPU architecture. + (info_spu_signal_command): Likewise. + (info_spu_mailbox_command): Likewise. + (info_spu_dma_command): Likewise. + (info_spu_proxydma_command): Likewise. + +2008-08-22 Ulrich Weigand + + * infrun.c (adjust_pc_after_break): Do not call get_thread_regcache + if the thread has already exited. + +2008-08-22 Pedro Alves + + * infrun.c (proceed): Move back setting previous_inferior_ptid + from here ... + (wait_for_inferior): ... to here. + (fetch_inferior_event): ... and here. + +2008-08-21 Ulrich Weigand + + * gdbarch.sh: Include "regcache.h" into gdbarch.c. + (deprecated_current_gdbarch_select_hack): Call registers_changed + instead of reinit_frame_cache. + * gdbarch.c: Regenerate. + +2008-08-21 Ulrich Weigand + + * elfread.c (elf_symtab_read): Do not relocate thread-local symbols. + +2008-08-21 Daniel Jacobowitz + + * xcoffread.c (SYMNAME_ALLOC): Correct syntax. + +2008-08-21 Ulrich Weigand + + * findvar.c (locate_var_value): Do not call get_frame_arch + with a NULL frame argument. + +2008-08-21 Ulrich Weigand + + * frame.h (frame_map_regnum_to_name): Remove prototype. + (frame_map_name_to_regnum): Remove prototype. + * frame.c (frame_map_regnum_to_name): Remove. + (frame_map_name_to_regnum): Remove. + (frame_unwind_register_value): Use user_reg_map_regnum_to_name + instead of frame_map_regnum_to_name. + * ax-gdb.c: Include "user-regs.h". + (gen_expr): Use user_reg_map_name_to_regnum instead of + frame_map_name_to_regnum. + * eval.c: Include "user-regs.h". + (evaluate_subexp_standard): Use user_reg_map_name_to_regnum + instead of frame_map_name_to_regnum. + * infcmd.c (registers_info): Likewise. + * parse.c: Include "user-regs.h". + (write_dollar_variable): Use user_reg_map_name_to_regnum + instead of frame_map_name_to_regnum. + * tracepoint.c: Include "user-regs.h". + (encode_actions): Use user_reg_map_name_to_regnum + instead of frame_map_name_to_regnum. + * valops.c: Include "user-regs.h". + (value_fetch_lazy): Use user_reg_map_regnum_to_name instead + of frame_map_regnum_to_name. + +2008-08-21 Ulrich Weigand + + * ppc-linux-tdep.c (ppc64_linux_convert_from_func_ptr_addr): Read + and manually relocate .opd contents from BFD instead of reading + them from target memory. + +2008-08-21 Daniel Jacobowitz + + * dwarf2read.c (processing_current_prefix): Delete static + variable. + (process_full_comp_unit): Do not set processing_current_prefix. + (dwarf2_full_name): New function. + (read_func_scope): Do not set processing_current_prefix. Use + determine_prefix. + (read_structure_type): Do not set processing_current_prefix. Remove + unused inner cleanup. + (process_structure_scope): Do not set processing_current_prefix. + (read_enumeration_type): Use dwarf2_full_name. + (determine_class_name): Return a const char *. Put the result + on the objfile obstack. Use dwarf2_full_name. + (read_namespace_type): New function. + (read_namespace): Do not create the type here. Use + determine_prefix. + (read_typedef): Use dwarf2_full_name. Do not pass the name + to init_type. + (read_base_type): Do not pass the name to init_type. Handle + TYPE_FLAG_NOSIGN. + (read_unspecified_type): Do not pass the name to init_type. + (new_symbol): Use dwarf2_full_name instead of + processing_current_prefix. + (read_type_die): Do not set processing_current_prefix. Handle + DW_TAG_namespace. + (determine_prefix): Handle specifications. Return the result + on the objfile obstack. Handle unions correctly. + +2008-08-21 Daniel Jacobowitz + + * buildsym.c (add_symbol_to_list): Do not call + cp_scan_for_anonymous_namespaces here. + (finish_block): Do not call cp_set_block_scope here. + * cp-namespace.c (processing_has_namespace_info) + (processing_current_prefix): Delete. + (cp_initialize_namespace): Do not initialize + processing_has_namespace_info. + (cp_scan_for_anonymous_namespaces): Use SYMBOL_DEMANGLED_NAME. Do + not check processing_has_namespace_info. + (cp_set_block_scope): Take prefix and namespace info flag as + arguments. Honor namespaces regardless of a demangled name. + * cp-support.h (processing_has_namespace_info) + (processing_current_prefix): Delete declarations. + (cp_set_block_scope): Update prototype. + * dwarf2read.c (processing_has_namespace_info) + (processing_current_prefix): New static variables. + (read_file_scope): Initialize processing_has_namespace_info. + (read_func_scope): Call cp_set_block_scope for C++. + (new_symbol): Call cp_scan_for_anonymous_namespaces for C++. + * symtab.c (symbol_demangled_name): Accept a const argument. + * symtab.h (symbol_demangled_name): Update prototype. + +2008-08-21 Daniel Jacobowitz + + * ax-gdb.c (gen_var_ref): Use SYMBOL_LINKAGE_NAME. + * blockframe.c (find_pc_partial_function): Likewise. + * buildsym.c (find_symbol_in_list): Likewise. + * c-valprint.c (c_val_print): Likewise. + * coffread.c (patch_opaque_types, process_coff_symbol): Likewise. + (coff_read_enum_type): Likewise. Use SYMBOL_SET_LINKAGE_NAME. + * cp-support.c (cp_remove_params): Renamed from remove_params and + made global. + (overload_list_add_symbol): Update call to remove_params. + * cp-support.h (cp_remove_params): Declare. + * dwarf2read.c (process_enumeration_scope): Use SYMBOL_LINKAGE_NAME. + (dwarf2_const_value): Use SYMBOL_PRINT_NAME. + * expprint.c (dump_subexp_body_standard): Likewise. + * f-valprint.c (info_common_command, there_is_a_visible_common_named): + Use SYMBOL_LINKAGE_NAME to find symbols and SYMBOL_PRINT_NAME + for messages. + * findvar.c (read_var_value): Use SYMBOL_LINKAGE_NAME. + * gnu-v2-abi.c (gnuv2_value_rtti_type): Likewise. + * hppa-hpux-tdep.c (hppa32_hpux_in_solib_call_trampoline) + (hppa_hpux_skip_trampoline_code): Use SYMBOL_LINKAGE_NAME to find + symbols and SYMBOL_PRINT_NAME for messages. + * jv-lang.c (add_class_symbol): Use SYMBOL_SET_LINKAGE_NAME. + * linespec.c (decode_line_2): Use SYMBOL_LINKAGE_NAME. + * mdebugread.c (parse_symbol): Use SYMBOL_LINKAGE_NAME and + SYMBOL_SET_LINKAGE_NAME. + (mylookup_symbol): Use SYMBOL_LINKAGE_NAME. + * minsyms.c (add_minsym_to_demangled_hash_table): Use + SYMBOL_SEARCH_NAME. + (lookup_minimal_symbol): Use SYMBOL_LINKAGE_NAME or + SYMBOL_MATCHES_SEARCH_NAME, depending on the pass. + * objfiles.h (ALL_OBJFILE_MSYMBOLS): Use SYMBOL_LINKAGE_NAME. + * printcmd.c (build_address_symbolic): Use SYMBOL_LINKAGE_NAME. + (address_info): Use SYMBOL_PRINT_NAME for messages and + SYMBOL_LINKAGE_NAME for lookups. + * sol-thread.c (info_cb): Use SYMBOL_PRINT_NAME for messages. + * stabsread.c (patch_block_stabs, define_symbol) + (read_type, read_enum_type, common_block_end) + (cleanup_undefined_types_1, scan_file_globals): Use + SYMBOL_LINKAGE_NAME, SYMBOL_SET_LINKAGE_NAME, ALL_OBJFILE_MSYMBOLS, + and SYMBOL_PRINT_NAME. + * stack.c (print_frame_args): Use SYMBOL_LINKAGE_NAME. + (print_frame, frame_info): Use SYMBOL_PRINT_NAME for output. Use + cp_remove_params instead of cplus_demangle. + (print_block_frame_labels, print_frame_arg_vars): Use + SYMBOL_LINKAGE_NAME. + * symmisc.c (dump_msymbols): Use ALL_OBJFILE_MSYMBOLS and + SYMBOL_LINKAGE_NAME. + (dump_symtab_1, print_symbol, print_partial_symbols) + (maintenance_check_symtabs): Use SYMBOL_LINKAGE_NAME. + * symtab.h (DEPRECATED_SYMBOL_NAME): Delete. + (SYMBOL_SET_LINKAGE_NAME): New. + (SYMBOL_SET_NAMES): Add a comment. + * tracepoint.c (set_traceframe_context, validate_actionline) + (collect_symbol, scope_info): Use SYMBOL_LINKAGE_NAME for + lookups and SYMBOL_PRINT_NAME for output. + * typeprint.c (typedef_print): Use SYMBOL_LINKAGE_NAME. + * xcoffread.c (process_xcoff_symbol): Use SYMBOL_SET_LINKAGE_NAME. + +2008-08-21 Pedro Alves + + * arm-tdep.c (arm_pc_is_thumb): Use obj_section_addr. + * hppa-hpux-tdep.c (hppa_hpux_find_dummy_bpaddr): Likewise. + * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Use + obj_section_addr and obj_section_endaddr. + * hppa-tdep.c (hppa64_convert_code_addr_to_fptr): Likewise. + * hppabsd-tdep.c (hppabsd_find_global_pointer): Likewise. + * ia64-tdep.c (ia64_find_global_pointer): Likewise. + (find_extant_func_descr): Likewise. + * solib-frv.c (frv_relocate_main_executable): Use + obj_section_addr. + * xstormy16-tdep.c (xstormy16_find_jmp_table_entry): Use + obj_section_addr and obj_section_endaddr. + +2008-08-21 Paul N. Hilfinger + + * NEWS: Amplify last entry on boolean types in Ada. + +2008-08-20 Daniel Jacobowitz + + * dwarf2read.c (die_specification, dwarf2_extension, follow_die_ref): + Make the dwarf2_cu * parameter output as well as input. Update it if + we follow a reference to another CU. + (read_func_scope, determine_class_name, namespace_name, dwarf2_attr) + (die_type, die_containing_type): Update calls to changed functions. + Use the returned CU along with the returned DIE. + (read_namespace): Use dwarf2_attr instead of dwarf2_extension. + +2008-08-20 Daniel Jacobowitz + + * dwarf2read.c (queue_comp_unit): Take an objfile argument. Read + in the DIEs here. + (process_queue): Do not read in the DIEs here. + (psymtab_to_symtab_1): Update call to queue_comp_unit. + (read_full_die): Do not call queue_comp_unit from here. + (maybe_queue_comp_unit): New function. + (follow_die_ref): Use it. + +2008-08-20 Daniel Jacobowitz + + * dwarf2read.c (struct attribute): Move earlier. + (struct die_info): Change attrs to a trailing array. + (dwarf_alloc_die): Take the number of attributes. Allocate space + for them. + (read_full_die): Update call to dwarf_alloc_die. Do not manually + allocate attributes. + +2008-08-20 Daniel Jacobowitz + + * dwarf2read.c (REF_HASH_SIZE): Delete. + (struct dwarf2_cu): Replace die_ref_table with die_hash. + (struct die_info): Remove next_ref. + (store_in_ref_table): Remove offset argument. Rewrite to use + htab_find_slot_with_hash. + (die_hash, die_eq): New. + (read_comp_unit): Allocate the die_hash. + (read_die_and_children): Update call to store_die_ref. + (follow_die_ref): Rewrite to use htab_find_with_hash. + +2008-08-20 Daniel Jacobowitz + + * dwarf2read.c (free_die_list, copy_die): Delete. + (dwarf_alloc_die): Take a CU argument. Allocate the new DIE + on the obstack. + (read_full_die): Update call to dwarf_alloc_die. Allocate + attributes on the CU obstack. + (free_one_comp_unit): Do not call free_die_list. + +2008-08-20 Daniel Jacobowitz + + * dwarf2read.c (read_die_and_children): Ignore NULL DIEs. + (read_die_and_siblings): Likewise. Do not add padding DIEs to the + sibling list. + (read_full_die): Do not allocate DIEs for abbrev 0. + (follow_die_ref): Correct error message. + +2008-08-20 Pedro Alves + + * linespec.c (symtab_from_filename): Also throw NOT_FOUND_ERROR if + there are no symbols loaded, instead of throwing a generic error. + (decode_variable): Likewise. + +2008-08-20 Pedro Alves + + * objfiles.h (struct obj_section): Remove addr and endaddr fields. + (obj_section_offset, obj_section_addr, obj_section_endaddr): New + macros. + * objfiles.c (add_to_objfile_sections): Don't set addr, endaddr + and offset. Use size_t instead of unsigned long. + (build_objfile_section_table): Use size_t instead of unsigned + long. + (objfile_relocate): Don't relocate s->addr and s->endaddr, they're + gone. + (find_pc_sect_section): Use obj_section_addr and + obj_section_endaddr. + * symfile.c (symfile.c): Remove code that maps sections + offsets in "addr" to the object's sections. + * blockframe.c (find_pc_partial_function): Use obj_section_endaddr. + * gcore.c (gcore_create_callback): Use obj_section_addr and + obj_section_endaddr. + * maint.c (print_objfile_section_info): Likewise. + * printcmd.c (sym_info): Use obj_section_addr and + obj_section_endaddr. + * symtab.c (fixup_section): Likewise. + +2008-08-20 Mark Kettenis + + * sparc-tdep.c: Make some comments catch up with reality. + +2008-08-20 Vladimir Prus + + * NEWS: Mention 'set target-async' + +2008-08-19 Vladimir Prus + + * infrun.c (resume): If the thread is placed to the deferred step + queue, mark it as running. + +2008-08-19 Vladimir Prus + + Make sure target supports non-stop. + * infcmd.c (run_command_1, attach_command): If non-stop mode + is requested, verify the target supports it. + * linux-nat.c (linux_nat_supports_non_stop): New. + (linux_nat_add_target): Register the above. + * target.c (find_default_supports_non_stop) + (target_supports_non_stop): New. + (init_dummy_target): Register find_default_supports_non_stop. + * target.h (struct target_ops): New field to_supports_non_stop. + (target_supports_non_stop): New. + +2008-08-19 Pedro Alves + Vladimir Prus + + * target.c (target_async_permitted, target_async_permitted_1) + (set_maintenance_target_async_permitted) + (show_maintenance_target_async_permitted): New. + (initialize_targets): Register 'set target-async'. + * target.h (target_async_permitted): Declare. + * linux-nat.c (linux_nat_async_enabled) + (linux_nat_async_permitted, set_maintenance_linux_async_permitted) + (show_maintenance_linux_async_permitted): Remove. + (sigchld_handler, linux_nat_is_async_p, linux_nat_can_async_p) + (get_pending_events, linux_nat_async): Use target_async_permitted. + (linux_nat_set_async_mode): Remove, moving the only used bits + into... + (linux_nat_setup_async): This. + (_initialize_linux_nat): Do not register 'maint set linux-async'. + Use linux_nat_setup_async. + * remote.c (remote_async_permitted, remote_async_permitted_set) + (set_maintenance_remote_async_permitted) + (show_maintenance_remote_async_permitted): Remove. + (remote_open_1, remote_terminal_inferior, remote_can_async_p) + (remote_is_async_p): Use target_async_permitted. + (_initialize_remote): Don't register 'main set remote-async'. + * mi/mi-cmds.c (mi_cmds): Register -list-target-features. + * mi/mi-cmds.h (mi_cmd_list_target_features): New. + * mi/mi-main.c (mi_cmd_list_target_features): New. + +2008-08-19 Vladimir Prus + + * target.c (maybe_kill_then_attach) + (maybe_kill_then_create_inferior): Remove. + (update_current_target): Do not default to_attach, + to_create_inferiour, to_is_async_p. + +2008-08-19 Paul N. Hilfinger + + Changes for supporting boolean types in debugging data. + * ada-lang.c (discrete_type_high_bound,discrete_type_low_bound): Change + API to return LONGEST values rather than struct values. + (ada_evaluate_subexp): Change to use new API of discrete_type_low_bound + and discrete_type_high_bound. + (to_fixed_range_type): Create a range type in cases where + argument is base type and its limits are representable as ints. + (ada_is_modular_type): Correct so that base type must be integral. + * ada-lex.l (TRUEKEYWORD,FALSEKEYWORD): Make 'true' and 'false' + keywords when they appear alone, since we are phasing out + direct representation of these identifiers in debugging data. + * ada-exp.y: Define 'true' and 'false' as primaries. + (type_boolean): New function. + (type_int,type_long,type_long_long,type_floattype_double) + (type_long_double): Remove uses of current_gdbarch for consistency + with type_boolean. + (write_int): Change comment to indicate that it might write boolean + constant as well. + * ada-typeprint.c (ada_print_type): Print '(false, true)' for boolean + type, since will no longer be represented as enumerated type in + debugging data. + * ada-valprint.c (print_optional_low_bound): Handle boolean case + as well. + * NEWS: Note support boolean types. + +2008-08-18 Pedro Alves + + * bsd-uthread.c (bsd_uthread_close): New. + (bsd_uthread_deactivate): Don't cleanup here, just unpush the + target. + (bsd_uthread_solib_loaded): Fix typo. + (bsd_uthread_target): Register bsd_uthread_close. + +2008-08-18 Pedro Alves + + * corelow.c (core_open): Assume there was no upper layer left + behind from a previous inferior. + * target.c (pop_all_targets): Rename to ... + (pop_all_targets_above): ... this. Add a target stratum + parameter. Use it instead of hardcoding the dummy_stratum. + (pop_all_targets): New, defer to pop_all_targets_above. + (target_preopen): Use pop_all_targets_above. + * target.h (pop_all_targets_above): Declare. + +2008-08-18 Pedro Alves + + * gdbthread.h (thread_change_ptid): Declare. + * infrun.c (infrun_thread_ptid_changed): New. + (_initialize_infrun): Attach infrun_thread_ptid_changed to the + thread_ptid_changed observer. + * regcache.c (regcache_thread_ptid_changed): New. + (_initialize_regcache): Attach regcache_thread_ptid_changed to the + thread_ptid_changed observer. + * thread.c (thread_change_ptid): New. + +2008-08-18 Tom Tromey + + * symfile.c (reread_symbols): Update. + * solib-sunos.c (allocate_rt_common_objfile): Update. + * objfiles.c (allocate_objfile): Update. + * objfiles.h (struct objfile) : + Remove. + +2008-08-18 Tom Tromey + + * gdbtypes.c (copy_type_recursive): Allocate 'stored' on objfile's + obstack. + +2008-08-18 Daniel Jacobowitz + + * rs6000-tdep.c (struct rs6000_framedata): Add gpr_mask, used_bl, + lr_register. + (rs6000_in_function_epilogue_p): Check for bctr. + (skip_prologue): Initialize lr_register. Set lr_reg to a register + number. Set gpr_mask and used_bl. Continue scanning while some + expected registers are not saved. Set lr_register if LR is not + stored. + (rs6000_frame_cache): Handle gpr_mask and lr_register. + +2008-08-17 Tom Tromey + + PR gdb/1535: + * breakpoint.c (CATCH_PERMANENT, CATCH_TEMPORARY): New macros. + (ep_find_event_name_end): Remove. + (catch_fork_temporary, catch_vfork_temporary, + catch_fork_permanent, catch_vfork_permanent): New constants. + (catch_vfork, catch_fork): Remove. + (catch_fork_command_1): Add 'command' argument. Remove + 'fork_kind' and 'tempflag'. Handle NULL 'arg'. Update switch for + all cases. + (catch_exec_command_1): Add 'command' argument; remove + 'tempflag'. Handle NULL 'arg'. + (catch_load_command_1): Likewise. + (catch_unload_command_1): Likewise. + (catch_ada_exception_command): Likewise. + (catch_assert_command): Likewise. + (catch_catch_command): New function. + (catch_throw_command): Likewise. + (catch_command_1): Remove. + (catch_command): Just call error. + (tcatch_command): Likewise. + (catch_cmdlist): New global. + (tcatch_cmdlist): Likewise. + (add_catch_command): New function. + (_initialize_breakpoint): Create "catch" and "tcatch" as prefix + commands. Create all catch sub-commands. + +2008-08-17 Pedro Alves + + * gdbthread.h: Add comments. + * stack.c (get_selected_block): Return 0 on an exited thread. + * top.c (execute_command): Check for is_stopped, not !is_running. + * event-top.c (command_handler): Likewise. + +2008-08-16 Pedro Alves + + * mi/mi-main.c (mi_cmd_exec_next, mi_cmd_exec_next_instruction) + (mi_cmd_exec_step, mi_cmd_exec_step_instruction) + (mi_cmd_exec_finish): Remove "return". + +2008-08-16 Pedro Alves + + * target.h (pop_all_targets): Declare. + * target.c (pop_all_targets): New. + * top.c (quit_target): Pop all targets instead of just closing the + current. + +2008-08-16 Vladimir Prus + Thiago Jung Bauermann + + * cli-script.c (read_next_line): Add parse_commands argument. + (recurse_read_control_structure): Adapt to new read_next_line + signature. + (read_command_lines): Add parse_commands argument. + (define_command): Adapt to new read_command_lines signature. + (document_command): Likewise. + * breakpoint.c (commands_command): Likewise. + * defs.h (read_command_lines): Adjust function prototype. + +2008-08-16 Paul N. Hilfinger + + * ada-lang.c (pos_atr): Account for the possibility that the + argument may be a reference. + +2008-08-16 Paul N. Hilfinger + + * xcoffread.c (scan_xcoff_symtab): Do not include global symbols + ('F' format) for @FIX names generated by the loader, retaining only + the minimal symbols (and no partial symbol tables) for these names. + Fixes warning messages about symbols that are found in partial + symbol tables, but not full symbol tables. + +2008-08-16 Pedro Alves + + * infrun.c (fetch_inferior_event): Only call normal_stop if not + stopping quietly. + +2008-08-15 Luis Machado + + * rs6000-tdep: Include "features/rs6000/powerpc-vsx32.c". + Include "features/rs6000/powerpc-vsx64.c". + (ppc_supply_vsxregset): New function. + (ppc_collect_vsxregset): New function. + (IS_VSX_PSEUDOREG): New macro. + (IS_EFP_PSEUDOREG): New macro. + (vsx_register_p): New function. + (ppc_vsx_support_p): New function. + (rs6000_builtin_type_vec128): New function. + (rs6000_register_name): Hide upper halves of vs0~vs31. Return + correct names for VSX registers and EFPR registers. + (rs6000_pseudo_register_type): Return correct types for VSX + and EFPR registers. + (rs6000_pseudo_register_reggroup_p): Return correct group for + VSX and EFPR registers. + (ppc_pseudo_register_read): Rename to dfp_pseudo_register_read. + (ppc_pseudo_register_write): Rename to dfp_pseudo_register_write. + (vsx_pseudo_register_read): New function. + (vsx_pseudo_register_write): New function. + (efpr_pseudo_register_read): New function. + (efpr_pseudo_register_write): New function. + (rs6000_pseudo_register_read): Call new VSX and EFPR read functions. + (rs6000_pseudo_register_write): Call new VSX and EFPR write functions. + (rs6000_gdbarch_init): Declare have_vsx. + Initialize new upper half VSX registers. + Initialize VSX-related and EFPR-related pseudo-registers variables. + Adjust the number of pseudo registers accordingly. + + * ppc-linux-nat.c: Define PTRACE_GETVSXREGS, PTRACE_SETVSXREGS + and SIZEOF_VSRREGS. + (gdb_vsxregset_t): New type. + (have_ptrace_getsetvsxregs): New variable. + (fetch_vsx_register): New function. + (fetch_register): Handle VSX registers. + (fetch_vsx_registers): New function. + (fetch_ppc_registers): Handle VSX registers. + (store_ppc_registers): Handle VSX registers. + (store_vsx_register): New function. + (store_register): Handle VSX registers. + (store_vsx_registers): New function. + (ppc_linux_read_description): Handle VSX-enabled inferiors. + (gdb_vsxregset_t): New type. + (supply_vsxregset): New function. + (fill_vsxregset): New function. + + * ppc-tdep.h (vsx_register_p): New prototype. + (vsx_support_p): New prototype. + (ppc_vsr0_regnum): New variable. + (ppc_vsr0_upper_regnum): Likewise. + (ppc_efpr0_regnum): Likewise. + (ppc_builtin_type_vec128): New type. + (ppc_num_vsrs): New constant. + (ppc_num_vshrs): New constant. + (ppc_num_efprs): Likewise. + Define POWERPC_VEC_VSX PPC_VSR0_UPPER_REGNUM and PPC_VSR31_UPPER_REGNUM. + (ppc_supply_vsxregset): New prototype. + (ppc_collect_vsxregset): New prototype. + + * ppc-linux-tdep.c: Include "features/rs6000/powerpc-vsx32l.c" + Include "features/rs6000/powerpc-vsx64l.c". + (_initialize_ppc_linux_tdep): Initialize VSX-enabled targets. + (ppc_linux_regset_sections): Add new ".reg-ppc-vsx" field. + (ppc32_linux_vsxregset): New 32-bit VSX-enabled regset. + (ppc_linux_regset_from_core_section): Handle VSX core section. + (ppc_linux_core_read_description): Support VSX-enabled core files. + + * ppc-linux-tdep.h: Declare *tdesc_powerpc_vsx32l + Declare tdesc_powerpc_vsx64l + + * corelow.c (get_core_register_section): Support VSX-enabled + core files. + + * features/rs6000/power-vsx.xml: New VSX descriptions. + * features/rs6000/powerpc-vsx32.xml: New file. + * features/rs6000/powerpc-vsx32l.xml: New file. + * features/rs6000/powerpc-vsx64.xml: New file. + * features/rs6000/powerpc-vsx64l.xml: New file. + * features/rs6000/powerpc-vsx32.c: New file (generated). + * features/rs6000/powerpc-vsx32l.c: New file (generated). + * features/rs6000/powerpc-vsx64.c: New file (generated). + * features/rs6000/powerpc-vsx64l.c: New file (generated). + * features/Makefile: Updated with new descriptions. + * regformats/rs6000/powerpc-vsx32l.dat: New file (generated). + * regformats/rs6000/powerpc-vsx64l.dat: New file (generated). + +2008-08-15 Vladimir Prus + + * ia64-linux.nat (_initialize_ia64_linux_nat): Don't + call linux_target twice. + +2008-08-14 Aleksandar Ristovski + + * nto-tdep.c (lm_info): Updated struct lm_info definition from + solib-svr4.c + (LM_ADDR): Use l_addr if available; if not, use link map and set + l_addr. + +2008-08-14 Tom Tromey + + * macrocmd.c (macro_define_command): Check for NULL argument. + (macro_undef_command): Likewise. + +2008-08-14 Pedro Alves + + * infcmd.c (continue_1): Add an ERROR_NO_INFERIOR call. + +2008-08-13 Pedro Alves + + * breakpoint.c (always_inserted_auto, always_inserted_on) + (always_inserted_off, always_inserted_enums): New. + (always_inserted_mode): Change type to char* and point to + always_inserted_auto. + (show_always_inserted_mode): In auto mode, also show the current + effect of the option. + (breakpoints_always_inserted_mode): Adjust for the new auto mode. + (_initialize_breakpoint): Make the "set breakpoints + always-inserted" command an enum command. Extend help to describe + the auto mode. + +2008-08-13 Ulrich Weigand + + * spu-tdep.c (info_spu_dma_command): Respect TSQV (tag status + query valid) bit. Ignore bits outside the condition field. + (info_spu_proxydma_command): Ignore bits outside the field. + +2008-08-12 Michael Snyder + + * MAINTAINERS: Update my email address. + +2008-08-12 Ulrich Weigand + + * ppc-linux-nat.c (ppc_linux_get_hwcap): Really get AT_HWCAP. + +2008-08-12 Pedro Alves + + Add no-ack mode to the remote protocol --- optionally stop ACKing + packets and responses when we have a reliable communication + medium. + + Based on Apple's GDB, by Jason Molenda + + * remote.c (struct remote_state): Add noack_mode field. + (PACKET_QStartNoAckMode): New. + (remote_start_remote): Don't any outstanding packet here. + (remote_open_1): Clear noack_mode. Ack any outstanding packet + here. Activate noack mode if requested. + (remote_protocol_features): Add QStartNoAckMode. + (remote_open_1): + (putpkt_binary): Don't send ack in noack mode. + (read_frame): Don't recompute the checksum in noack mode. + (getpkt_sane): Skip sending ack if in noack mode. + (_initialize_remote): Add set/show remote noack mode. + * NEWS: Note the new features. + +2008-08-11 Kevin Buettner + + * rs6000-tdep.c (BL_MASK, BL_INSTRUCTION, BL_DISPLACEMENT_MASK): + New macros. + (rs6000_skip_main_prologue): New function. + (rs6000_gdb_arch_init): Register rs6000_skip_main_prologue. + +2008-08-11 Sandra Loosemore + + * MAINTAINERS (Write After Approval): Add self. + +2008-08-11 Stan Shebs + + ARM BE8 support. + * disasm.c (gdb_disassemble_info): Set endian_code. + * gdbarch.sh (gdbarch_info): New field byte_order_for_code. + * gdbarch.h, gdbarch.c: Regenerate. + * arch-utils.c (initialize_current_architecture): Set the + default byte_order_for_code. + (gdbarch_info_init): Ditto. + (gdbarch_info_fill): Ditto. + * arm-tdep.c (SWAP_INT, SWAP_SHORT): New macros. + (thumb_analyze_prologue): Swap halfword if code endianness is + different from general endianness. + (arm_skip_prologue): Similarly. + (arm_scan_prologue): Ditto. + (thumb_get_next_pc): Ditto. + (arm_get_next_pc): Ditto. + (arm_gdbarch_init): Set byte_order_for_code from BE8 flag, + choose correct endianness for breakpoints. + +2008-08-10 Pedro Alves + + * bsd-kvm.c: Include "gdbthread.h". + (bsd_kvm_ptid): New. + (bsd_kvm_open): Add a main thread. + (bsd_kvm_close): Delete it. + (bsd_kvm_thread_alive): New. + (bsd_kvm_pid_to_str): New. + (bsd_kvm_add_target): Register bsd_kvm_thread_alive and + bsd_kvm_pid_to_str. + (bsd_kvm_add_target): Initialize bsd_kvm_ptid. + +2008-08-09 Pedro Alves + + * buildsym.c (start_subfile): Properly cast sentinel in concat + call. + * cp-name-parser.y: Include "config.h". + * xml-tdesc.c (fetch_xml_from_file): Properly cast sentinel in + concat call. + * gdb_select.h: Include sys/time.h if sys/select.h is not + available. + +2008-08-09 Pedro Alves + + * go32-nat.c: Include "gdbthread.h". + (go32_stop, go32_kill_inferior): Delete the main thread. + (go32_create_inferior): Add it. + (go32_thread_alive, go32_pid_to_str): New. + (init_go32_ops): Register go32_thread_alive and go32_pid_to_str. + +2008-08-09 Pedro Alves + + * go32-nat.c (fetch_register, store_register): Pass the regcache + gdbarch to i386_fp_regnum_p and i386_fpc_regnum_p. + (go32_xfer_memory): Change type of myaddr parameter to gdb_byte. + (struct seg_descr, struct seg_descr): pack the whole struct + instead of each member individually. + +2008-08-09 Andreas Schwab + + * python/python.c (_initialize_python): Use unabbreviated commands + in prefix name. + +2008-08-09 Daniel Jacobowitz + + * Makefile.in (stamp-h): Also create .deps. + +2008-08-09 Tom Tromey + + * Makefile.in (generated_files): Add GNULIB_H. + +2008-08-09 John David Anglin + + * solib-pa64.c (pa64_solib_create_inferior_hook): Don't set + DT_HP_DEBUG_PRIVATE. Add warning if DT_HP_DEBUG_PRIVATE is not set. + Revise comment. + (pa64_current_sos): Remove map private warning warning. + * solib-som.c: Include string.h and sys/utsname.h. + (get_hpux_major_release): New function. + (som_solib_create_inferior_hook): Read dynamic linker header. Warn + about shared library private mapping on HP-UX 11 and later. Only force + private mapping of shared libraries on HP-UX 10 and earlier. + (link_map_start): Delete warning. + +2008-08-09 Xuepeng Guo + H.J. Lu + Mark Kettenis + + * amd64-tdep.c (amd64_frame_cache): Add saved_sp_reg. + (amd64_init_frame_cache): Initialize saved_sp_reg. + (amd64_analyze_stack_align): New. + (amd64_analyze_prologue): Call it. + (amd64_frame_cache): Use saved_sp_reg if it is invalid. Don't set + %rip to 8 when halfway aligning the stack. + + * amd64-tdep.h (amd64_regnum): Add AMD64_R9_REGNUM to + AMD64_R14_REGNUM. + + * i386-tdep.c (i386_frame_cache): Remove stack_align. Add + saved_sp_reg. + (i386_alloc_frame_cache): Remove stack_align. Initialize + saved_sp_reg to -1. + (i386_analyze_stack_align): Rewrite. + (i386_frame_cache): Use saved_sp_reg if it is valid. + +2008-08-09 Ulrich Weigand + + * target.c: Include "solib.h". + (target_pre_inferior): Call no_shared_libraries. + * infcmd.c (run_command_1): Do not call objfile_purge_solibs + or clear_solib. + (attach_command): Do not call clear_solib. + +2008-08-09 Mark Kettenis + + * i386obsd-nat.c (i386obsd_supply_pcb): Supply the right bytes for + the %eip register. + +2008-08-08 Tom Tromey + + * Makefile.in (python.o): Remove dependencies. Use COMPILE and + POSTCOMPILE. + (python-utils.o): Likewise. + +2008-08-08 Andreas Schwab + + * corefile.c (_initialize_core): Remove spurious paren from set + gnutarget doc string. + +2008-08-08 Luis Machado + + * ppc-linux-nat.c: Include "auxv.h" and "elf/common.h". + Define PPC_FEATURE_BOOKE. + (ppc_linux_get_hwcap): New function. + (ppc_linux_region_ok_for_hw_watchpoint): Handle PowerPC 440 + 4-bytes alignment restrictions. + (ppc_linux_insert_watchpoint): Handle PowerPC 440-specific + positioning of the read/write flags. + (ppc_linux_watchpoint_addr_within_range): Handle PowerPC 440 + 4-bytes alignment. + +2008-08-08 Pedro Alves + + Use ptid_t.tid to store thread ids instead of ptid_t.pid. + + * win32-nat.c (win32_add_thread): Change thread argument type to + ptid_t. Adjust. + (win32_add_thread): Adjust. + (win32_delete_thread): Change thread argument type to ptid_t. + Adjust. + (win32_fetch_inferior_registers, win32_store_inferior_registers) + (win32_resume, get_win32_debug_event, get_win32_debug_event) + (win32_wait, win32_pid_to_exec_file, win32_pid_to_str): Adjust. + (init_win32_ops): Put to_magic last. + (win32_win32_thread_alive): Adjust. + +2008-08-08 Pedro Alves + + * remote-m32r-sdi.c (m32r_thread_alive, m32r_pid_to_str): New. + (init_m32r_ops): Register m32r_thread_alive and m32r_pid_to_str. + +2008-08-08 Pedro Alves + + * remote-m32r-sdi.c: Include "gdbthread.h". + (remote_m32r_ptid): New. + (m32r_close): Delete the main thread. + (m32r_resume): Set inferior_ptid toA remote_m32r_ptid. Add the + main thread. + (m32r_kill, m32r_load, sdireset_command): Delete the main thread. + (_initialize_remote_m32r): Initialize remote_m32r_ptid. + +2008-08-07 Tom Tromey + Ralf Wildenhues + + * aclocal.m4, configure: Rebuild. + * configure.in: Call ZW_CREATE_DEPDIR, + ZW_PROG_COMPILER_DEPENDENCIES, AC_PROG_MAKE_SET. + (MAKE, GMAKE): New substs. + * acinclude.m4: Include depstand.m4. + * Makefile.in (DEPMODE, DEPDIR, COMPILE.post, COMPILE.pre, + COMPILE, POSTCOMPILE, depcomp): New variables. + Remove all _h variables. + Remove many .o targets. + ($(srcdir)/copying.c): avoid backslash-newline after comment + sign (@maintainer_mode_true@). + (HFILES_NO_SRCDIR): Regenerate. + (generated_files): New variable. + (all_gdbtk_cflags): Likewise. + (.c.o): Rewrote. + (init.o, version.o, copying.o): Remove. + (distclean): Remove DEPDIR. + (test-cp-name-parser.o, hpux-thread.o, main.o, monitor.o, + printcmd.o, procfs.o, v850ice.o): Rewrite. + (cli-cmds.o, cli-decode.o, cli-dump.o, cli-interp.o, cli-logging.o, + cli-script.o, cli-setshow.o, cli-utils.o): Likewise. + (gdbtk.o, gdbtk-bp.o, gdbtk-cmds.o, gdbtk-hooks.o, gdbtk-interp.o, + gdbtk-main.o, gdbtk-register.o, gdbtk-stack.o, gdbtk-varobj.o, + gdbtk-wrapper.o): Likewise. + (mi-cmd-break.o, mi-cmd-disas.o, mi-cmd-env.o, mi-cmd-file.o, + mi-cmds.o, mi-cmd-stack.o, mi-cmd-target.o, mi-cmd-var.o, + mi-console.o, mi-getopt.o, mi-interp.o, mi-main.o, mi-out.o, + mi-parse.o, mi-symbol-cmds.o, mi-common.o, signals.o, tui.o, + tui-command.o, tui-data.o, tui-disasm.o, tui-file.o, tui-hooks.o, + tui-interp.o, tui-io.o, tui-layout.o, tui-main.o, tui-out.o, + tui-regs.o, tui-source.o, tui-stack.o, tui-win.o, tui-windata.o, + tui-wingeneral.o, tui-winsource.o): Likewise. + (all_object_files): New variable. + ($(all_object_files)): New target. + Include dependency files, when using GNU Make. + +2008-08-07 Ulrich Weigand + + * spu-tdep.c (info_spu_dma_cmdlist): Only show entries with + the valid bit set. Ensure display order respects partial + order defined by dependency bits. + +2008-08-06 John David Anglin + + * solib-pa64.c (read_dld_descriptor): Return zero if load map is not + setup. + +2008-08-06 Mark Kettenis + + * i386obsd-nat.c (i386obsd_supply_pcb): Adjust for changes in + OpenBSD 4.3. + +2008-08-06 Vladimir Prus + Tom Tromey + Thiago Jung Bauermann + Doug Evans + + * Makefile.in (SUBDIR_PYTHON_OBS, SUBDIR_PYTHON_SRCS, + SUBDIR_PYTHON_DEPS, SUBDIR_PYTHON_LDFLAGS, SUBDIR_PYTHON_CFLAGS, + PYTHON_CFLAGS): New. + (python_h, python_internal_h): New. + (cli-script.o): Depend on python.h + (python.o, python-utils.o): New. + * cli/cli-script.c (print_command_lines): Handle python_control. + (execute_control_command): Handle python_control. + (execute_control_command_untraced): New function. + (while_command): Call execute_control_command_untraced. + (if_command): Likewise. + (get_command_line): Remove static attribute. + (read_next_line): Handle "python". + (recurse_read_control_structure): Handle python_control. + (read_command_lines): Handle python_control. + Include python.h. + * cli/cli-script.h (get_command_line): Add prototype. + (execute_control_command_untraced): Likewise. + * configure.ac: Add --with-python. + * defs.h (enum command_control_type) : New + constant. + * python/python-internal.h: New file. + * python/python.c: New file. + * python/python.h: New file. + * python/python-utils.c: New file. + * NEWS: Mention Python scripting support and its new commands. + +2008-08-06 Ulrich Weigand + + * spu-tdep.c (spu_gdbarch_init): Call set_gdbarch_frame_red_zone_size. + +2008-08-06 Phil Muldoon + + * MAINTAINERS (Write After Approval): Add self. + +2008-08-06 Phil Muldoon + + * breakpoint.c (hw_breakpoint_used_count): Use breakpoint_enabled. + (insert_breakpoint_locations): Likewise. + +2008-08-05 Phil Muldoon + + * breakpoint.c (create_longjmp_breakpoint): Remove unused struct + breakpoint. + (set_longjmp_breakpoint): Likewise. + +2008-08-04 John David Anglin + + PR build/2490 + * solib-pa64.c: Only compile if both HAVE_ELF_HP_H and __LP64__ are + defined. + +2008-08-05 Tom Tromey + + * bcache.c (deprecated_bcache_added): Initialize obstack. + (bcache_xmalloc): Don't initialize obstack. + (bcache_xfree): Conditionally free obstack. + (bcache_memory_used): Update. + +2008-08-05 Tom Tromey + + * symfile.c (add_psymbol_to_bcache): Return a const pointer. Use + bcache_full. + (append_psymbol_to_list): Accept a const pointer. + (add_psymbol_to_list): Fix const correctness. + * bcache.h: (deprecated_bcache_added, deprecated_bcache): Remove. + (bcache_full): Declare. + * bcache.c (bcache_data, deprecated_bcache): Remove. + (bcache): Use bcache_full. + (bcache_full): Rename from deprecated_bcache_added. Change return + type. + +2008-08-04 Stan Shebs + + * solib-svr4.c (BKPT_AT_SYMBOL): Remove, always defined. + (bkpt_names): Remove SOLIB_BKPT_NAME, never defined. + (enable_break): Remove test of BKPT_AT_SYMBOL. + +2008-08-02 Keith Seitz + + * acinclude.m4: Include ../config/tcl.m4 to pick up + standard Tcl configury bits. + Remove all Tcl, Tk, Itcl, Itk, etc definitions. + * configure.ac: Don't check if ../itcl exists when building + gdbtk. It could be installed. + Rewrite gdbtk configury to allow for using system-supplied + Tcl and Tk. Gdbtk no longer requires build-time access to + itcl and itk. + * Makefile.in: Remove everything related to itcl and itk. + Rewrite the Tcl bits for gdbtk to correspond to rewrite of + configure.ac. + Remove v850ice.o build rule. + (ALL_TCL_CFLAGS): New convenience defintion. Change all + gdbtk sources to use it. + * configure: Regenerate. + +2008-07-31 Stan Shebs + + * coffread.c (coff_symtab_read): Remove FUNCTION_EPILOGUE_SIZE. + +2008-07-30 Stan Shebs + + * objfiles.c (TARGET_KEEP_SECTION): Remove. + (add_to_objfile_sections): Remove use. + +2008-07-29 Tom Tromey + + * cli/cli-decode.c (lookup_cmd_1): Use memcpy. + (lookup_cmd_composition): Likewise. + +2008-07-29 Tom Tromey + + * cli/cli-cmds.c (edit_command): Remove unused variables. Delete + dead code. Fix indentation. + +2008-07-29 Stan Shebs + + * main.c (captured_main): Remove long-unused #if 0 blocks. + +2008-07-28 Tom Tromey + + * annotate.h (deprecated_annotate_starting_hook): Remove. + (deprecated_annotate_stopped_hook): Remove. + (deprecated_annotate_exited_hook): Remove. + * Makefile.in (annotate.o): Depend on observer_h. + * top.c (deprecated_delete_breakpoint_hook): Remove. + (deprecated_create_breakpoint_hook): Likewise. + (deprecated_modify_breakpoint_hook): Likewise. + * interps.c (clear_interpreter_hooks): Update for removed hooks. + * breakpoint.c (mention): Don't call removed hook. + (delete_breakpoint): Likewise. + (disable_breakpoint): Likewise. + (do_enable_breakpoint): Likewise. + * annotate.c: Include observer.h. + (breakpoint_changed): Change type of argument. + (_initialize_annotate): Register observers. + (deprecated_annotate_starting_hook): Remove. + (deprecated_annotate_stopped_hook): Remove. + (deprecated_annotate_exited_hook): Remove. + (annotate_starting): Update for hook removal. + (annotate_stopped): Likewise. + (annotate_exited): Likewise. + * defs.h (deprecated_delete_breakpoint_hook): Remove. + (deprecated_create_breakpoint_hook): Likewise. + (deprecated_modify_breakpoint_hook): Likewise. + +2008-07-28 Tom Tromey + + * main.c (captured_main): Don't use BEFORE_MAIN_LOOP_HOOK. + +2008-07-27 Daniel Jacobowitz + + * configure.ac: Check for the GNU/Linux ptrace signature. + * configure: Regenerated. + +2008-07-27 Daniel Jacobowitz + + * linux-nat.c (resume_callback): Add more debugging output. + (linux_nat_has_pending_sigint): New function, based on + linux_nat_has_pending. + (set_ignore_sigint, maybe_clear_ignore_sigint): New functions. + (stop_wait_callback): Remove flush_mask handling. Honor + ignore_sigint. Call maybe_clear_ignore_sigint. Pass NULL + to recursive calls. + (linux_nat_has_pending, flush_callback): Remove. + (linux_nat_filter_event): Check for ignore_sigint. + (linux_nat_wait): Remove flush_mask support and call to + flush_callback. Use set_ignore_sigint and maybe_clear_ignore_sigint. + * linux-nat.h (struct lwp_info): Add ignore_sigint field. + +2008-07-27 Daniel Jacobowitz + + * linux-nat.c (count_events_callback, select_event_lwp_callback): Only + report events from resumed threads. + +2008-07-27 Daniel Jacobowitz + + * mips-linux-tdep.c (mips_linux_syscall_next_pc): New function. + (mips_linux_init_abi): Set tdep->syscall_next_pc. + * mips-tdep.c (enum mips_fpu_type, struct gdbarch_tdep): Move to + mips-tdep.h. + (mips32_next_pc): Handle the syscall instruction. + * mips-tdep.h (enum mips_fpu_type, struct gdbarch_tdep): New, + from mips-tdep.c. Add syscall_next_pc to gdbarch_tdep. + +2008-07-26 Tom Tromey + + PR gdb/1158: + * valops.c (value_struct_elt): Treat function-valued field as a + static method. + +2008-07-26 Tom Tromey + + PR gdb/1136: + * macroexp.c (get_punctuator) : Rearrange to put + longer tokens first. + +2008-07-26 Vladimir Prus + + Kill cmd_async_ok. + * cli/cli-decode.h (CMD_ASYNC_OK, set_cmd_async_ok) + (get_cmd_async_ok): Remove. + * cli/cli-decode.c (set_cmd_async_ok, get_cmd_async_ok): Remove. + * cli/cli-cmds.c (init_cli_cmds): Don't use set_cmd_async_ok. + * infcmd.c (_initialize_infcmd): Likewise. + * thread.c (_initialize_thread): Likewise. + +2008-07-25 Joseph Myers + + * mips-tdep.c (mips_n32n64_push_dummy_call): Handle passing + 128-bit long doubles in even-odd pairs of FPRs. Do not + right-align float arguments for big-endian. + (mips_n32n64_return_value): Apply return value convention for + structs containing one or two floating-point values to soft-float + as well as hard-float. Handle 128-bit long doubles in such + structs. + (mips_o32_push_dummy_call): Only skip one integer register for a + float argument passed in an FPR. + +2008-07-25 Tom Tromey + + * tui/tui-hooks.c: Include observer.h. + (tui_event_default, tui_old_event_hooks, tui_event_hooks): + Remove. + (tui_bp_created_observer, tui_bp_deleted_observer, + tui_bp_modified_observer): New globals. + (tui_install_hooks): Use observers, not events. + (tui_remove_hooks): Likewise. + * mi/mi-cmd-break.c: Include observer.h, not gdb-events.h. + (mi_breakpoint_observers_installed, mi_can_breakpoint_notify): New + globals. + (breakpoint_notify): Check mi_can_breakpoint_notify. + (breakpoint_hooks): Remove. + (mi_cmd_break_insert): Attach observers. Don't use events. + * tracepoint.c: Include observer.h, not gdb-events.h. + (tracepoint_operation, trace_pass_command): Notify observer. + * interps.c: Don't include gdb-events.h. + (clear_interpreter_hooks): Don't call clear_gdb_event_hooks. + * gdbarch.c: Rebuild. + * gdbarch.sh: Emit include for observer.h, not gdb-events.h. + (deprecated_current_gdbarch_select_hack): Notify observer. + * breakpoint.h: Don't include gdb-events.h. + * breakpoint.c: Don't include gdb-events.h. + (condition_command): Notify observer. + (commands_command): Likewise. + (commands_from_control_command): Likewise. + (mention, delete_breakpoint, set_ignore_count): Likewise. + (disable_breakpoint, do_enable_breakpoint): Likewise. + * Makefile.in (gdb_events_h): Remove. + (breakpoint_h): Update. + (COMMON_OBS): Remove gdb-events.o. + (gdb-events.o): Remove. + (breakpoint.o, gdbarch.o, interps.o, tracepoint.o, gdbtk-bp.o, + gdbtk-hooks.o, mi-cmd-break.o, tui-hooks.o): Update. + * gdb-events.c: Remove. + * gdb-events.h: Remove. + * gdb-events.sh: Remove. + +2008-07-24 Pedro Alves + + * remote.c (remote_threads_extra_info): Don't query the remote + server about info on the internally added main thread. + +2008-07-24 Aleksandar Ristovski + + * nto-procfs.c (procfs_attach): Populate initial thread list. + (procfs_wait): Return new pid, built from the inferior status. + +2008-07-23 Thiago Jung Bauermann + + * configure.ac (CONFIG_INITS): Delete long obsoleted variable. + * configure: Regenerate. + +2008-07-23 Aleksandar Ristovski + + * nto-procfs.c (procfs_xfer_memory): Changed signature. + (procfs_resume): Workaround for dereferencing type-punned pointer + warning. + * nto-tdep.c (nto_parse_redirection): Change signature to be const + correct. + * nto-tdep.h (nto_parse_redirection): Likewise. + +2008-07-21 Stan Shebs + + Scrub remnants of IN_SOLIB_DYNSYM_RESOLVE_CODE. + * gdbarch.sh: Adjust comment to refer to + in_solib_dynsym_resolve_code(). + * gdbarch.h, gdbarch.c: Update. + * solib-osf.c: Ditto. + * infrun.c: Ditto. + (handle_inferior_event): Use in_solib_dynsym_resolve_code + unconditionally. + * config/mips/nm-irix5.h: Remove undef of + IN_SOLIB_DYNSYM_RESOLVE_CODE. + +2008-07-21 Tom Tromey + + * symfile.c (reread_symbols): Don't pass argument to observer. + * exec.c (exec_file_attach): Don't pass argument to observer. + * ada-lang.c (ada_executable_changed_observer): Remove argument. + * symtab.c (symtab_observer_executable_changed): Remove argument. + * observer.sh: Handle functions with no arguments. + +2008-07-20 Sergei Poselenov + Chris Demetriou + + * elfread.c (elf_symfile_segments): Fix the check that each loadable + section fits within an ELF segment to handle ELF segments that hit + the end of the address space. + +2008-07-20 Chris Demetriou + + * MAINTAINERS (Write After Approval): Add self. + +2008-07-18 Tom Tromey + + PR gdb/855: + * NEWS: Add entry for macro commands. + * Makefile.in (macrocmd.o): Add gdb_string.h. + * macroscope.h (user_macro_scope): Declare. + (default_macro_scope): Update documentation. + (macro_user_macros): Declare. + * c-lang.c (c_preprocess_and_parse): Always attempt macro lookup. + Use user_macro_scope. + (null_macro_lookup): Remove. + * macrotab.h (macro_callback_fn): Declare. + (macro_for_each): Likewise. + (macro_allow_redefinitions): Likewise. + * macrotab.c (foreach_macro): New function + (macro_for_each): Likewise. + (struct macro_table) : New field. + (macro_allow_redefinitions): New function. + (new_macro_table): Update. + (macro_define_function): Likewise. + (macro_define_object): Likewise. + * macroscope.c (user_macro_scope): New function. + (default_macro_scope): Use it. + (macro_user_macros): New global. + (standard_macro_lookup): Look in macro_user_macros. + (_initialize_macroscope): New function. + * macroexp.h (macro_is_whitespace, macro_is_digit, + macro_is_identifier_nondigit): Declare. + * macroexp.c (macro_is_whitespace): Rename. No longer static. + (macro_is_digit): Likewise. + (macro_is_identifier_nondigit): Likewise. + (get_identifier): Update. + (get_pp_number): Likewise. + (get_token): Likewise. + * macrocmd.c (skip_ws): New function. + (extract_identifier): Likewise. + (free_macro_definition_ptr): Likewise. + (user_macros): Remove. + (macro_define_command): Implement. + (_initialize_macrocmd): Update. + (macro_undef_command): Implement. + (print_one_macro): New function. + (macro_list_command): Implement. + +2008-07-18 Joseph Myers + + * configure.ac: Put old value of $LIBS after -lbfd -liberty $intl + in BFD ELF check. + * configure: Regenerate. + +2008-07-17 Paul Pluzhnikov + + * auxv.c (fprint_target_auxv): Stop at AT_NULL. + +2008-07-15 Andreas Schwab + + * valops.c (value_cast_pointers): Follow typedefs when checking + result of coercion. + +2008-07-15 Daniel Jacobowitz + + * block.c (block_function): Renamed to ... + (block_linkage_function): ... this. All callers changed. + * block.h (block_function): Renamed to ... + (block_linkage_function): ... this. + +2008-07-15 Daniel Jacobowitz + + * mn10300-tdep.c (set_reg_offsets): Use get_frame_register_unsigned. + +2008-07-15 Daniel Jacobowitz + + * frame.c (frame_sp_unwind): Delete. + (get_frame_sp): Do not use it. + * frame.h (frame_sp_unwind): Delete prototype. + +2008-07-15 Daniel Jacobowitz + + * ia64-tdep.c (ia64_dummy_id): Use get_frame_pc. + +2008-07-15 Daniel Jacobowitz + + * dwarf2-frame.c (dwarf2_frame_cache): Update comment. + * frame.c (frame_unwind_address_in_block): Delete. + (get_frame_address_in_block): Do not use it. Check the type + of the next frame first. + (frame_cleanup_after_sniffer): Update comment. + * frame.h (frame_unwind_address_in_block): Delete prototype. + * hppa-tdep.c (hppa_find_unwind_entry_in_block): Update comment. + +2008-07-15 Daniel Jacobowitz + + * frame.c (frame_func_unwind): Delete. + (get_frame_func): Do not use it. + * frame.h (frame_func_unwind): Delete prototype. + * hppa-tdep.c (hppa_frame_cache): Update comment. + * rs6000-tdep.c (rs6000_frame_cache): Update comment. + +2008-07-14 Stan Shebs + + * remote-sim.c (init_gdbsim_ops): Remove + TARGET_REDEFINE_DEFAULT_OPS. + +2008-07-15 Daniel Jacobowitz + + * findvar.c (read_var_value): Remove unused variable. + +2008-07-15 Luis Machado + + * infrun.c (handle_inferior_event): Tag threads as stopped + before inserting breakpoints. + +2008-07-15 Hui Zhu + + * MAINTAINERS: Added myself to section Write After Approval. + +2008-07-14 Paul Pluzhnikov + + PR gdb/2477 + * cp-abi.c (value_virtual_fn_field): Handle invalid pointers. + +2008-07-14 Pedro Alves + + * i386-dicos-tdep.c (i386_dicos_frame_align): Delete. + (i386_dicos_push_dummy_code): New. + (i386_dicos_init_abi): Don't register i386_dicos_frame_align. + Register i386_dicos_push_dummy_code. + +2008-07-14 Markus Deuling + + * mips-tdep.c (fp_register_arg_p): Add gdbarch as paramter. + (mips_n32n64_push_dummy_call, mips_o64_return_value) + (mips_eabi_push_dummy_call): Update call to fp_register_arg_p. + + (MIPS_FPU_TYPE): Add gdbarch as parameter and replace current_gdbarch. + (fp_register_arg_p, mips_dump_tdep, show_mipsfpu_command) + (mips_n32n64_fp_arg_chunk_p): Update caller. + + (mips_n32n64_fp_arg_chunk_p): Add gdbarch as paramter. + (mips_n32n64_push_dummy_call): Update caller. + + (MIPS_LAST_ARG_REGNUM): Add gdbarch as parameter and replace + current_gdbarch. + (mips_eabi_push_dummy_call, mips_n32n64_push_dummy_call) + (mips_o32_push_dummy_call, mips_o64_push_dummy_call): Update caller. + + + (MIPS_LAST_FP_ARG_REGNUM): Add gdbarch as parameter and replace + current_gdbarch. + (mips_eabi_push_dummy_call, mips_o32_push_dummy_call) + (mips_o64_push_dummy_call): Update caller. + + (MIPS_EABI): Add gdbarch as parameter and replace current_gdbarch. + (fp_register_arg_p, mips_dump_tdep): Update caller. + + (set_reg_offset): Add gdbarch as parameter and replace current_gdbarch. + (mips16_scan_prologue, mips32_scan_prologue): Update caller. + + (reset_saved_regs): Make static. Add gdbarch as parameter. Replace + current_gdbarch. + (mips32_scan_prologue): Update caller. + + (heuristic_proc_start): Add gdbarch as parameter. Replace + current_gdbarch. + (mips_insn16_frame_cache, mips_insn32_frame_cache): Update caller. + + * mipsnbsd-nat.c (mipsnbsd_fetch_inferior_registers) + (mipsnbsd_store_inferior_registers): Use get_regcache_arch to get at + the current architecture. Update call to getregs_supplies. + (getregs_supplies): Add gdbarch as parameter and replace + current_gdbarch. + + * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Use get_frame_arch to + get at the current architecture. Update call to NBSD_MIPS_JB_OFFSET and + NBSD_MIPS_JB_ELEMENT_SIZE. + (NBSD_MIPS_JB_ELEMENT_SIZE, NBSD_MIPS_JB_OFFSET): Add gdbarch and + replace current_gdbarch. + + * remote-mips.c (mips_map_regno): Add gdbarch as parameter and replace + current_gdbarch. + (mips_fetch_registers, mips_store_registers): Update call + to mips_map_regno. + (mips_load): Use get_regcache_arch to get at the current_architecture + and replace current_gdbarch. + +2008-07-13 Pedro Alves + + * thread.c (restore_selected_frame): On fail to restore, select + the innermost frame, and don't crash when warning the user. + +2008-07-13 Hui Zhu + + * symtab.c (expand_line_sal): Fix a memory leak. + +2008-07-13 Pedro Alves + + * utils.c (struct continuation): Define as inheriting struct + cleanup. + (add_continuation, do_all_continuations) + (discard_all_continuations, add_intermediate_continuation) + (do_all_intermediate_continuations) + (discard_all_intermediate_continuations): Adjust. + +2008-07-13 Vladimir Prus + + Skip varobj in running threads. + * mi/mi-cmd-var.c (mi_cmd_var_update): If varobj's + thread is not stopped, skip the varobj. + * Makefile.in: Update dependencies. + +2008-07-13 Vladimir Prus + + Enable all commands while inferiour is running + * mi/mi-main.c (mi_cmd_execute): Don't check if + inferiour is executing. + +2008-07-13 Vladimir Prus + + Allow all CLI command even if target is executing. + * gdb/top.c (execute_command_1): Don't check if the inferiour + is running. + +2008-07-13 Vladimir Prus + + * mi/mi-main.c (mi_cmd_execute): Remove unused variable. + Fix printing of frame, when frame is wrong. + +2008-07-12 Ulrich Weigand + + * spu-tdep.c (spu_frame_unwind_cache): Do not error if + backchain is unreadable. + +2008-07-12 Ulrich Weigand + + * spu-linux-nat.c: Include "gdbthread.h". + (spu_child_post_startup_inferior): Register main thread. + (spu_child_post_attach): Likewise. + * Makefile.in (spu-linux-nat.o): Update dependencies. + +2008-07-12 Pedro Alves + + Rewrite continuations internals on top of cleanups and plug + continuation arguments leaks. + + * defs.h (struct continuation): Make it opaque. + (add_continuation, add_intermediate_continuation): Drop the int + argument of the continuation hook argument. Add + continuation_free_args argument. + (do_all_continuations, do_all_intermediate_continuations): Drop + the error_p argument. + + * utils.c (add_continuation): Drop the int argument of the + continuation hook argument. Add continuation_free_args argument. + Reimplement on top of cleanups. + (do_all_continuations): Drop error argument. Reimplement on top + of cleanups. + (discard_all_continuations): Reimplement on top of cleanups. + (add_intermediate_continuation): Drop the int argument of the + continuation hook argument. Add continuation_free_args argument. + Reimplement on top of cleanups. + (do_all_intermediate_continuations): Drop error argument. + Reimplement on top of cleanups. + (discard_all_intermediate_continuations): Reimplement on top of + cleanups. + + * breakpoint.c (until_break_command_continuation): Drop error + argument. Add xfree as continuation argument deleter. + + * inf-loop.c (inferior_event_handler): On error, discard all + continuations. Adjust to new do_all_intermediate_continuations + and do_all_continuations interfaces. + + * infcmd.c (step_1_continuation): Drop error_p argument. Adjust. + Pass xfree as continuation argument deleter. + (finish_command_continuation): Drop error_p argument. Adjust. + (finish_command_continuation_free_arg): New. + (finish_command): Pass finish_command_continuation_free_arg as + continuation argument deleter. Adjust to new do_all_continuations + interfaces. + (attach_command_continuation): Drop error_p argument. + (attach_command_continuation_free_args): New. + (attach_command): Pass attach_command_continuation_free_args as + continuation argument deleter. + + * interps.c (interp_set): Adjust to new do_all_continuations + interfaces. + + * event-top.c (stdin_event_handler): In error, also discard the + intermediate continuations. + +2008-07-12 Pedro Alves + + Replace struct continuation_args by void* and per command structs. + + * top.c (execute_command): Remove unused arg1 and arg2 locals. + + * breakpoint.c (struct until_break_command_continuation_args): + New. + (until_break_command_continuation): Take a void* instead of a + continuations_arg. Adjust. + (until_break_command): Adjust to use struct + until_break_command_continuation_args instead of struct + continuation_arg. + + * infcmd.c (struct step_1_continuation_args): New. + (step_1_continuation): Take a void* instead of a + continuations_arg. Adjust to use struct step_1_continuation_args. + (step_once): Adjust to use struct step_1_continuation_args. + + (struct finish_command_continuation_args): New. + (finish_command_continuation): Take a void* instead of a + continuations_arg. Adjust to use struct + finish_command_continuation_args. + (finish_command): Adjust to use struct + finish_command_continuation_args. + (struct attach_command_continuation_args): New. + (attach_command_continuation): Take a void* instead of a + continuations_arg. Adjust to use struct + attach_command_continuation_args. + (attach_command): Adjust to use struct + attach_command_continuation_args. + + * defs.h (struct continuation_arg): Delete. + (struct continuation): Replace the struct continuation_arg* + parameter of continuation_hook by a void*. Replace "arg_list" + member by a new "args" member with void* type. + (add_continuation, add_intermediate_continuation): Replace struct + continuation_arg type usages by void* usages. + + * utils.c (add_continuation, do_all_continuations) + (add_intermediate_continuation) + (do_all_intermediate_continuations): Replace struct + continuation_arg type usages by void* usages. Pass "args" instead + of "arg_list". + +2008-07-12 Pedro Alves + + * infrun.c (struct thread_stepping_state): Delete sal member. + (init_thread_stepping_state): Add local sal. Use it instead of + tss->sal. + (handle_inferior_event): New local stop_pc_sal. Use it instead of + tss->sal. + (step_into_function): Add local stop_func_sal. Use it instead of + tss->sal. + +2008-07-12 Vladimir Prus + + Implement -exec-continue/-exec-interrupt --all. + * infcmd.c (continue_1): New, extracted from + (continue_command): ...here. + (interrupt_target_1): New, extracted from + (interrupt_target_command): ...here. + * inferior.h (continue_1, interrupt_target_1): New. + * mi/mi-main.c (mi_cmd_exec_continue) + (mi_cmd_exec_interrupt): Handle --all. + +2008-07-12 Vladimir Prus + + Implement --thread and --frame. + * gdbthread.h (find_thread_id): Declare. + * thread.c (find_thread_id): Make non-static. + * mi/mi-main.c (mi_cmd_execute): Switch to the right + thread and frame, if necessary. + * mi/mi-parse.c (mi_parse): Handle --thread and --frame. + * mi/mi-parse.h (strcut mi_parse): New fields thread and frame. + +2008-07-12 Vladimir Prus + + * infrun.c (resume): Discard cleanups on early exit path. + +2008-07-12 Vladimir Prus + + * infrun.c (normal_stop): For MI, report which threads + were stopped. + +2008-07-12 Vladimir Prus + + Report thread state in -thread-info output. + * thread.c (print_thread_info): Add new field "state". + +2008-07-11 Pedro Alves + + * infrun.c (handle_inferior_event): Also ignore a + TARGET_SIGNAL_TRAP on a STOP_QUIETLY_NO_SIGSTOP. + +2008-07-11 Tom Tromey + + * completer.c (complete_line_internal): New function, from + complete_line. Add 'for_help' parameter. + (complete_line): Use it. + (command_completer): Move later. Rewrite. + +2008-07-11 Pedro Alves + + * thread.c (thread_apply_command): Move making the cleanup out of + the loop. + +2008-07-11 Pedro Alves + + Exited threads. + + * thread.c (enum thread_state): New. + (thread_state main_thread_running): Delete, in favor of... + (thread_state main_thread_state): ... this. Update throughout. + (clear_thread_inferior_resources): New, split from free_thread. + (free_thread): Call clear_thread_inferior_resources. + (init_thread_list): Set main thread to stopped state. + (add_thread_silent): Take care of PTID reuses. + (delete_thread): If deleting inferior_ptid or a thread with + refcount > 0, mark it as exited, but still keep it in the list. + Only notify of thread exits, if we haven't done so yet. + (iterate_over_threads): Make it safe to delete threads while + iterating over them. + (do_captured_list_thread_ids): Don't account for exited threads. + (thread_alive): Check for the THREAD_EXITED state, and don't set + ptid to -1 on exited threads. + (set_running): Update to account for extra possible states. + (is_thread_state): New. + (is_stopped, is_exited): New. + (is_running): Implement in terms of is_thread_state. + (any_running): Update. + (print_thread_info): Update. Account for exited threads. Don't + warn about missed frame restoring here, its done in the cleanup. + (switch_to_thread): Don't read from a thread that has gone. + (restore_current_thread): In non-stop mode, do a full context + switch. + (restore_selected_frame): Add a frame_level argument. Rewrite. + (struct current_thread_cleanup): Add selected_frame_level and + was_stopped members. + (do_restore_current_thread_cleanup): Check if thread was stopped + and still is, and if the target has registers, stack and memory + before restoring the selected frame. Don't delete the cleanup + argument here. + (restore_current_thread_cleanup_dtor): New. + (make_cleanup_restore_current_thread): Remove all arguments. + Rewrite. + (thread_apply_all_command): Update. Prune threads. + (thread_apply_command): Update. + (thread_command): Account for currently selected exited thread. + (do_captured_thread_select): Check for a running thread. Prune + threads. + (_initialize_thread): Make "info threads", "thread", "thread + apply", and "thread apply all" appliable without a selected thread. + * gdbthread.h (struct thread_info): Replace running_ by state_. + Add refcount. + (is_exited, is_stopped): Declare. + (make_cleanup_restore_current_thread): Remove all arguments. + * infrun.c: Include "event-top.h". + (fetch_inferior_event): In non-stop mode, restore selected thread + and frame after handling the event and running breakpoint + commands. Display GDB prompt if needed. + (normal_stop): In non-stop mode, don't print thread switching + notice. + * cli/cli-decode.c (set_cmd_no_selected_thread_ok) + (get_cmd_no_selected_thread_ok): New. + * cli/cli-decode.h (CMD_NO_SELECTED_THREAD_OK): New. + (set_cmd_no_selected_thread_ok, get_cmd_no_selected_thread_ok): + Declare. + * cli/cli-cmds.c: Set "pwd", "help", "info", "show" as + no-selected-thread ok. + * top.c (execute_command): Check for non no-selected-thread-ok + commands. + * linux-nat.c (struct saved_ptids, threads_to_delete) + (record_dead_thread, prune_lwps): Delete. + (exit_lwp): Unconditionally delete thread. + (linux_nat_resume): Remove prune_lwps call. + * infcmd.c (proceed_thread_callback): Check if !is_stopped instead + of is_running. Adjust to make_cleanup_restore_current_thread + interface change. + * mi/mi-main.c (mi_cmd_execute): Only allow a few commands if the + selected thread has exited. + * inf-loop.c (inferior_event_handler): Don't display the prompt + here. + * varobj.c (c_value_of_root): Update. + * defs.h (make_cleanup_dtor): Declare. + * utils.c (make_cleanup_dtor): New. + + * Makefile.in (infrun.o): Depend on $(event_top_h). + +2008-07-11 Pedro Alves + + Add "continue -a" and "interrupt -a" options for non-stop mode. + + * infcmd.c (proceed_thread_callback, do_context_switch_to): New. + (continue_command): Add "-a" option. + (interrupt_target_command): Add "-a" option. + (_initialize_infcmd): Add extend help of continue and interrupt + command to mention the new "-a" option. Mark "continue" async ok. + +2008-07-10 Doug Evans + + Add "set print symbol-loading on|off". + * NEWS: Document new option. + * symfile.h (print_symbol_loading): Declare. + * symfile.c (print_symbol_loading): New global. + (symbol_file_add_with_addrs_or_offsets): Only print "Reading symbols + from ..." if print_symbol_loading. + (_initialize_symfile): Add set/show print symbol-loading. + * solib.c (solib_read_symbols): Only print "Loaded symbols for ..." + if print_symbol_loading. + +2008-07-10 Pedro Alves + + Non-stop linux native. + + * linux-nat.c (linux_test_for_tracefork): Block events while we're + here. + (get_pending_status): Implement non-stop mode. + (linux_nat_detach): Stop threads before detaching. + (linux_nat_resume): In non-stop mode, always resume only a single + PTID. + (linux_handle_extended_wait): On a clone event, in non-stop mode, + add new lwp to GDB's thread table, and mark as running, executing + and stopped appropriately. + (linux_nat_filter_event): Don't assume there are other running + threads when a thread exits. + (linux_nat_wait): Mark the main thread as running and executing. + In non-stop mode, don't stop all lwps. + (linux_nat_kill): Stop lwps before killing them. + (linux_nat_thread_alive): Use signal 0 to detect if a thread is + alive. + (send_sigint_callback): New. + (linux_nat_stop): New. + (linux_nat_add_target): Set to_stop to linux_nat_stop. + + * linux-nat.h (thread_db_attach_lwp): Declare. + + * linux-thread-db.c (thread_get_info_callback): Check for new + threads if we have none. + (thread_from_lwp, enable_thread_event): Set proc_handle.pid to the + stopped lwp. Check for new threads if we have none. + (thread_db_attach_lwp): New. + (thread_db_init): Set proc_handle.pid to inferior_ptid. + (check_event): Set proc_handle.pid to the stopped lwp. + (thread_db_find_new_threads): Set proc_handle.pid to any stopped + lwp available, bail out if there is none. + + * linux-fork.c (linux_fork_killall): Use SIGKILL instead of + PTRACE_KILL. + +2008-07-10 Kevin Buettner + + * rs6000-tdep.c (ppc_displaced_step_fixup): Change type of + `current_pc' from CORE_ADDR to ULONGEST. + + * remote-sim.c (gdbsim_cntrl_c): Pass remote_sim_ptid to + gdbsim_stop(). + +2008-07-10 Jan Kratochvil + + * NEWS (New commands): Mention "set disable-randomization". + * configure.ac: Add check for HAVE_PERSONALITY and + HAVE_DECL_ADDR_NO_RANDOMIZE. + * configure, config.in: Regenerate. + * linux-nat.c [HAVE_PERSONALITY]: New include . + [HAVE_PERSONALITY] [!HAVE_DECL_ADDR_NO_RANDOMIZE]: Set + ADDR_NO_RANDOMIZE. + (disable_randomization, show_disable_randomization) + (set_disable_randomization): New. + (linux_nat_create_inferior) [HAVE_PERSONALITY]: New variables + PERSONALITY_ORIG and PERSONALITY_SET. Disable randomization upon the + variable DISABLE_RANDOMIZATION. + (_initialize_linux_nat): Call ADD_SETSHOW_BOOLEAN_CMD for the variable + DISABLE_RANDOMIZATION. + +2008-07-09 Pedro Alves + + Adjust all targets to new target_stop interface. + + * gnu-nat.c (gnu_stop): Add ptid argument. + * go32-nat.c (go32_stop): Add ptid argument. + (go32_create_inferior): Pass inferior_ptid to go32_stop. + * hpux-thread.c (hpux_thread_stop): Add ptid argument. + * monitor.c (monitor_stop): Add ptid argument. + (monitor_open): Pass inferior_ptid to monitor_stop. + (monitor_interrupt): Pass inferior_ptid to target_stop. + (monitor_stop): Add ptid argument. + * nto-procfs.c (nto_interrupt): Pass inferior_ptid to target_stop. + (procfs_create_inferior): Add ptid argument. + * procfs.c (procfs_stop): Add ptid argument. + * remote-m32r-sdi.c (m32r_stop): Add ptid argument. + * remote-sim.c (gdbsim_stop): Add ptid argument. + * sol-thread.c (sol_thread_stop): Add ptid argument. + * win32-nat.c (win32_stop): Add ptid argument. + +2008-07-09 Pedro Alves + + Non-stop inferior control. + + * infrun.c (resume): In non-stop mode, always resume just one + thread. + (proceed): Don't call prepare_to_proceed in non-stop mode. + (fetch_inferior_event): In non-stop mode, switch context before + handling the event. + (error_is_running, ensure_not_running): New. + (handle_inferior_event): In non-stop mode: Mark only the event + thread as stopped. Require that the target module manages adding + threads to the thread list. Assert that there isn't a + deferred_step_ptid set. Don't switch to infwait_thread_hop_state. + (normal_stop): Only mark not-running if inferior hasn't exited. + In non-stop mode, only mark the event thread. + + * thread.c:Include "cli/cli-decode.h". + (print_thread_info): Don't read from a running thread. + Output "(running)" if thread is running. + (switch_to_thread): Don't read stop_pc if thread is executing. + (do_restore_current_thread_cleanup): Don't write to a running + thread. + (thread_apply_all_command): Don't read from a running thread. In + non-stop mode, do a full context-switch instead of just switching + threads. + (thread_apply_command): In non-stop mode, do a full context-switch + instead of just switching threads. + (do_captured_thread_select): Likewise. Inform user if selected + thread is running. + (_initialize_thread): Mark "info threads" and "thread" and + async_ok. + + * inf-loop.c (inferior_event_handler): In non-stop mode, don't + unregister the target from the event loop. + + * infcmd.c (continue_command, step_1, jump_command) + (signal_command): Ensure the selected thread isn't running. + (interrupt_target_command): In non-stop mode, interrupt only the + selected thread. + + * inferior.h (error_is_running, ensure_not_running): Declare. + + * target.h (struct target_ops): Add ptid argument to the to_stop + member. + (target_stop): Add ptid_t argument. + + * target.c (update_current_target): Add ptid argument to to_stop's + type. + (debug_to_stop): Add ptid_t argument. + (debug_to_rcmd): Set to_stop_ptid. + + * remote.c (remote_stop): Add ptid_t argument. + (async_remote_interrupt): Add inferior_ptid to target_stop. + * inf-ptrace.c (inf_ptrace_stop): Add ptid argument. + + * Makefile.in (thread.o): Depend on $(cli_decode_h). + +2008-07-09 Pedro Alves + + Don't rely on ecs->wait_for_more. + + * infrun.c (proceed): Clear the stepping state, set + previous_inferior_ptid and clear infwait state. + (wait_for_inferior): Don't clear the stepping state, set + previous_inferior_ptid, or clear the infwait state here. + (fetch_inferior_event): Don't clear the stepping state, set + previous_inferior_ptid, or clear the infwait state here. Don't + condition on wait_for_more. + +2008-07-09 Pedro Alves + + Refactor infrun a bit. + + * infrun.c (currently_stepping): Take a struct + thread_stepping_state instead of an execution_control_state. + (struct thread_stepping_state): New, split from + execution_control_state. + (gtss, tss): New globals. + (proceed): Clear the stepping state, set previous_inferior_ptid + and clear infwait state. + (init_wait_for_inferior): Clear the stepping state, + previous_inferior_ptid and infwait state. + (waiton_ptid, infwait_state): New, split from + execution_control_state. + (struct execution_control_state): Members that persist through + events moved out to either struct thred_stepping_state or made + global. Deleted unneeded wp, saved_inferior_ptid, tmpstatus. + (wait_for_inferior, fetch_inferior_event): Use local + execution_control_state. Update to execution_control_state split. + (init_execution_control_state): Adjust. + (init_thread_stepping_state): New, extracted from + init_execution_control_state. + (context_switch): Take a ptid instead of an + execution_control_state. + (context_switch_to): Adjust. + (adjust_pc_after_break): Adjust. + (init_infwait_state): New. + (handle_inferior_event): Adjust. + +2008-07-09 Pedro Alves + Vladimir Prus + + Per-thread commands. + + * gdbthread.h: Remove unneeded forward declarations. + Include "inferior.h". + (struct thread_info): Add continuations, + intermediate_continuations, proceed_to_finish, step_over_calls, + stop_step, step_multi and stop_signal members. + (save_infrun_state): Add continuations, + intermediate_continuations, proceed_to_finish, step_over_calls, + stop_step, step_multi, stop_signal and stop_bpstat parameters. + (load_infrun_state): Add continuations, + intermediate_continuations, proceed_to_finish, step_over_calls, + stop_step, step_multi, stop_signal and stop_bpstat parameters. + + * thread.c (load_infrun_state): In non-stop mode, load + continuations, intermediate_continuations, proceed_to_finish, + step_over_calls, stop_step, step_multi and stop_signal. + (save_infrun_state): Store continuations, + intermediate_continuations, proceed_to_finish, step_over_calls, + stop_step, step_multi, stop_signal and stop_bpstat. + (save_infrun_state): Store continuations, + intermediate_continuations, proceed_to_finish, step_over_calls, + stop_step, step_multi, stop_signal and stop_bpstat. + (free_thread): Clear The thread's stop_bpstat. + + * inferior.h (context_switch_to): Declare. + + * infrun.c (ecss): New global. + (context_switch): Context switch continuations, + intermediate_continuations, proceed_to_finish, step_over_calls, + stop_step, step_multi, stop_signal and stop_bpstat. + (wait_for_inferior): Use global ecss. + (async_ecss, async_ecs): Delete. + (fetch_inferior_event): Use global ecss. + (context_switch_to): New. + + * top.c (execute_command): In non-stop, only check if the current + thread is running, in all-stop, check if there's any thread + running. + + * breakpoint.c (bpstat_remove_breakpoint): New. + (bpstat_remove_breakpoint_callback): New. + (delete_breakpoint): Clear the stop_bpstats of all threads. + + * mi/mi-main.c (mi_cmd_execute): In non-stop, only check if the + current thread is running, in all-stop, check if there's any + thread running. + + * Makefile.in (gdbthread_h): Depend on $(inferior_h). + +2008-07-09 Pedro Alves + + Add non_stop global. + + * inferior.h (non_stop): Declare. + * infrun.c (non_stop, non_stop_1): New. + (set_non_stop, show_non_stop): New. + (_initialize_infrun): Add "set/show non-stop" command. + +2008-07-09 Pedro Alves + + Adjust fork/vfork/exec to pass ptids around. + + * target.h (struct target_waitstatus): Store related_pid as a ptid. + (inferior_has_forked, inferior_has_vforked, inferior_has_execd): + Take a ptid_t. + * breakpoint.h (struct breakpoint): Change forked_inferior_pid + type to ptid. + * breakpoint.c (print_it_typical, bpstat_check_location) + (print_one_breakpoint_location, set_raw_breakpoint_without_location) + (create_fork_vfork_event_catchpoint): Adjust. + * infrun.c (fork_event): Change parent_pid and child_pid types to + ptid. + (follow_exec, inferior_has_forked, inferior_has_vforked) + (inferior_has_execd): Take a ptid_t and don't trim it. + * linux-thread-db.c (thread_db_wait): Don't trim the returned ptid. + * linux-nat.c (linux_child_follow_fork): Adjust. + * inf-ptrace.c (inf_ptrace_wait): Adjust. + * inf-ttrace.c (inf_ttrace_wait): Adjust. + * win32-nat.c (get_win32_debug_event): Don't set related_pid. + +2008-07-09 Pedro Alves + + Add "executing" property to threads. + + * inferior.h (target_executing): Delete. + * gdbthread.h (struct thread_info): Add executing_ field. + (set_executing, is_executing): New. + * thread.c (main_thread_executing): New. + (init_thread_list): Clear it and also main_thread_running. + (is_running): Return false if target has no execution. + (any_running, is_executing, set_executing): New. + + * top.c: Include "gdbthread.h". + (target_executing): Delete. + (execute_command): Replace target_executing check by any_running. + * event-top.c: Include "gdbthread.h". + (display_gdb_prompt, command_handler): Replace target_executing by + is_running. + * inf-loop.c: Include "gdbthread.h". Don't mark as not executing + here. Replace target_executing by is_running. + * infrun.c (handle_inferior_event): Mark all threads as + not-executing. + * linux-nat.c (linux_nat_resume): Don't mark thread as executing + here. + * stack.c (get_selected_block): Return null if inferior is + executing. + * target.c (target_resume): Mark resumed ptid as executing. + * breakpoint.c (until_break_command): Replace target_executing + check by is_executing. + * remote.c (remote_async_resume): Don't mark inferior as executing + here. + * mi/mi-interp.c (mi_cmd_interpreter_exec): Replace target_executing + by any_running. + + * mi/mi-main.c (mi_cmd_exec_interrupt, mi_cmd_execute) + (mi_execute_async_cli_command): Replace target_executing by + is_running. + + * frame.c (get_current_frame): Error out if the current thread is + executing. + (has_stack_frames): New. + (get_selected_frame, deprecated_safe_get_selected_frame): Check + has_stack_frames. + + * Makefile.in (event-top.o, frame.o, inf-loop.o, top.o): Depend on + $(gdbthread_h). + +2008-07-09 Pedro Alves + + * symfile.c (load_command): Reopen the exec file and reread + symbols before anything else. + +2008-07-09 Pedro Alves + + * remote-sim.c: Include gdbthread.h. + (remote_sim_ptid): New global. + (gdbsim_create_inferior): Silently add the main task to GDB's + thread list. + (gdbsim_close, gdbsim_mourn_inferior): Silently delete the main + task from GDB's thread list. + (gdbsim_resume): Adjust to use remote_sim_ptid. + (gdbsim_thread_alive, gdbsim_pid_to_str): New. + (init_gdbsim_ops): Register gdbsim_thread_alive and + gdbsim_pid_to_str. + (_initialize_remote_sim): Initialize remote_sim_ptid. + * Makefile.in (remote-sim.o): Depend on $(gdbthread_h). + +2008-07-09 Pedro Alves + + * monitor (monitor_ptid): New global. + (monitor_open): Silently add the main task to GDB's thread list. + (monitor_close, monitor_mourn_inferior): Silently delete the main + task from GDB's thread list. + (monitor_thread_alive, monitor_pid_to_str): New. + (init_base_monitor_ops): Register monitor_thread_alive and + monitor_pid_to_str. + (_initialize_remote_monitors): Initialize monitor_ptid. + + * gdbthread.h (delete_thread_silent): Declare. + * thread.c (delete_thread): Rename to ... + (delete_thread_1): ... this. Add "silent" parameter. If silent, + don't do exit notifications. + (delete_thread, delete_thread_silent): New, as wrappers to + delete_thread_1. + +2008-07-08 Pedro Alves + + * breakpoint.c (update_global_location_list): Add boolean + "should_insert" argument. Only insert locations if caller told it + too. + (update_global_location_list_nothrow): Add boolean "should_insert" + argument. Pass it to update_global_location_list. + (insert_breakpoints, create_longjmp_breakpoint) + (create_overlay_event_breakpoint, enable_overlay_breakpoints) + (create_thread_event_breakpoint, create_solib_event_breakpoint) + (create_fork_vfork_event_catchpoint, create_exec_event_catchpoint) + (enable_watchpoints_after_interactive_call_stop) + (set_momentary_breakpoint, create_breakpoints) + (break_command_really, watch_command_1) + (create_ada_exception_breakpoint, update_breakpoint_locations) + (do_enable_breakpoint, enable_command): Pass true to + update_global_location_list. + (bpstat_stop_status, disable_overlay_breakpoints) + (disable_watchpoints_before_interactive_call_start) + (delete_breakpoint, disable_breakpoint, disable_command): Pass + false to update_global_location_list. + (update_breakpoints_after_exec): Don't temporarily disable + always-inserted mode. + +2008-07-08 Pedro Alves + + * breakpoint.c (mark_breakpoints_out): Make public. + (update_breakpoints_after_exec): Don't call mark_breakpoints_out + here. Update comment. + * breakpoint.h (mark_breakpoints_out): Declare. + + * linux-nat.c (linux_handle_extended_wait): On + TARGET_WAITKIND_EXECD, call mark_breakpoints_out. + * inf-ttrace.c (inf_ttrace_wait): Likewise. + +2008-07-08 Pedro Alves + + * infrun.c (follow_exec): Reset shared libraries before adding the + main exec file. + +2008-07-07 Jan Kratochvil + + * breakpoint.c (bpstat_copy): Call RELEASE_VALUE on the new OLD_VAL. + +2008-07-07 Pedro Alves + + * i386-dicos-tdep.c: Include "inferior.h". + (i386_dicos_frame_align): New. + (i386_dicos_init_abi): Register i386_dicos_frame_align. Set call + dummy location ON_STACK. + * Makefile.in (i386-dicos-tdep.o): Depend on $(inferior_h). + +2008-07-07 Joel Brobecker + + * gstdint.h: New file. + +2008-07-05 Vladimir Prus + + * mi/mi-interp.c (mi_on_resume): Don't try to report + resumed thread it the thread list is empty. + +2008-07-05 Pierre Muller + + * cli/cli-decode.c (add_setshow_optional_filename_cmd): Set + completer for set to filename_completer. + + NEWS: Mention it. + +2008-07-04 Vladimir Prus + + Implement -target-attach. + * mi/mi-cmds.c (mi_cmds): Forward -target-attach to CLI attach. + +2008-06-21 Hui Zhu + + * target-descriptions.c (maint_print_c_tdesc_cmd): Fix a memory leak. + +2008-07-03 Pedro Alves + + * config/i386/nm-cygwin.h (ATTACH_NO_WAIT): Delete. + * config/i386/nm-i386gnu.h (ATTACH_NO_WAIT): Delete. + + * target.h (struct target_ops): Add to_attach_no_wait member. + (target_attach_no_wait): New. + * target.c (update_current_target): Inherit to_attach_no_wait. + + * infcmd.c: Replace ATTACH_NO_WAIT compile time check by + target_attach_no_wait runtime check. + + * gnu-nat.c (init_gnu_ops): Set to_attach_no_wait in gnu_ops. + * win32-nat.c (init_win32_ops): Set to_attach_no_wait in + win32_ops. + +2008-07-03 Pedro Alves + + * i386-tdep.c (i386_displaced_step_fixup): Condition log printing + on debug_displaced being set. + +2008-06-30 Daniel Jacobowitz + + * frame.c (get_prev_frame_1): Call frame_unwind_find_by_frame + directly instead of get_frame_id. + +2008-06-30 Luis Machado + + * rs6000-tdep.c (ppc_displaced_step_fixup): New function. + (deal_with_atomic_sequence): Update BC masks. + (rs6000_gdbarch_init): Init displaced stepping infra-structure. + Define BRANCH_MASK, B_INSN, BC_INSN, BXL_INSN, BP_MASK and BP_INSN. + +2008-06-30 Daniel Jacobowitz + + * cris-tdep.c (crisv32_single_step_through_delay): Get this frame's + register, not the previous frame's. + +2008-06-30 Luis Machado + + * source.c (select_source_symtab): Make sure we skip namespace + symtabs when showing cpp source code. + +2008-06-30 Hans-Peter Nilsson + + * MAINTAINERS (Authorized committers): Fix my email address. + +2008-06-28 Vladimir Prus + + * mi/mi-cmds.c (mi_cmds): Route -exec-run, -exec-until, + -target-download and -target-select via CLI, so that + the quoting rules are the same as they were (unfortunately) + in all prior gdb releases. + * mi/mi-cmds.h (mi_cmd_exec_run, mi_cmd_exec_until) + (mi_cmd_target_download, mi_cmd_target_select): Remove. + * mi/mi-main.c (mi_cmd_exec_run, mi_cmd_exec_until) + (mi_cmd_target_download, mi_cmd_target_select): Remove. + (mi_cmd_execute): Set current_token even for commands + routed via CLI. + +2008-06-28 Ulrich Weigand + + * alphafbsd-tdep.c: Update for unwinder changes. + * alpha-linux-tdep.c: Likewise. + * alphanbsd-tdep.c: Likewise. + * alphaobsd-tdep.c: Likewise. + * avr-tdep.c: Likewise. + * cris-tdep.c: Likewise. + * frv-linux-tdep.c: Likewise. + * frv-tdep.c: Likewise. + * h8300-tdep.c: Likewise. + * hppa-linux-tdep.c: Likewise. + * iq2000-tdep.c: Likewise. + * m32c-tdep.c: Likewise. + * m32r-linux-tdep.c: Likewise. + * m32r-tdep.c: Likewise. + * m68hc11-tdep.c: Likewise. + * mep-tdep.c: Likewise. + * mn10300-tdep.c: Likewise. + * mt-tdep.c: Likewise. + * score-tdep.c: Likewise. + * sh64-tdep.c: Likewise. + * sh-tdep.c: Likewise. + * sparc64fbsd-tdep.c: Likewise. + * sparc64nbsd-tdep.c: Likewise. + * sparc64obsd-tdep.c: Likewise. + * v850-tdep.c: Likewise. + * vaxobsd-tdep.c: Likewise. + * vax-tdep.c: Likewise. + * xstormy16-tdep.c: Likewise. + +2008-06-28 Vladimir Prus + + * mi/mi-main.c (enum captured_mi_execute_command_actions) + (captured_mi_execute_command_args): Remove. + (captured_mi_execute_command): Cast the closure to mi_parse + pointer, not to captured_mi_execute_command_args, and don't + set the action field thereof. + (mi_execute_command): Pass struct mi_parse, not + captured_mi_execute_command_args to captured_mi_execute_command. + (mi_execute_command): Remove (dead) code for suppressing + printing prompt. + +2008-06-28 Pedro Alves + + * linux-nat.c (enum sigchld_state): New. + (linux_nat_async_events_state): Renamed from + linux_nat_async_events_enabled. + (linux_nat_event_pipe_push, my_waitpid): Adjust. + (sigchld_default_action): New. + (lin_lwp_attach_lwp): Adjust. Call linux_nat_async_events + unconditionally. + (linux_nat_create_inferior): Set events state to sigchld_default + state. + (linux_nat_resume): Adjust. + (linux_nat_wait): Call linux_nat_async_events unconditionally. + (sigchld_handler): Adjust. + (linux_nat_async_mask): Don't set SIGCHLD actions here. + (get_pending_events): Adjust. + (linux_nat_async_events): Rewrite to handle enum sigchld_state + instead of a boolean. + (linux_nat_async): Adjust. + (_initialize_linux_nat): Capture default SIGCHLD action into + sigchld_default_action. + +2008-06-28 Vladimir Prus + + * breakpoint.c (moribund_locations): New. + (bpstat_stop_status): Process moribund locations. + (update_global_location_list): Add removed + locations to moribund_locations. + (breakpoint_retire_moribund): New. + * breakpoint.h (struct bp_location): New field + events_till_retirement. + (breakpoint_retire_moribund): Declare. + * thread.c (thread_count): New. + * infrun.c (handle_inferior_event): Call + breakpoint_retire_moribund. + * gdbthread.h (thread_count): Declare. + +2008-06-27 Joseph Myers + + * dfp.c (decimal_convert): Call match_endianness before and after + conversion. + +2008-06-27 Jonathan Larmour + + * remote.c (remote_insert_breakpoint): Ensure that if Z0 + unsupported and we fall back to memory_insert_breakpoint, we + use the unmodified requested address. + +2008-06-27 Joel Brobecker + + * dwarf2read.c (read_attribute_value): Issue a complaint when + adjusting size attribute values of 0xffffffff as zero. + +2008-06-27 Joseph Myers + + * i386-tdep.c (i386_16_byte_align_p): New. + (i386_push_dummy_call): Determine stack space required for + arguments going forwards allowing for 16-byte alignment, then push + arguments going forwards. + +2008-06-27 Pedro Alves + + * infrun.c (start_remote): Don't clear thread list here. + * monitor.c (monitor_open): Include "gdbthread.h". Clear thread + list here. + * remote.c (record_currthread): Upgrade the main thread and its + entry in the thread list if this is the first time we hear about + threads. + (remote_thread_alive): Consider magic_null_ptid or a ptid without + a tid member always alive. + (remote_find_new_threads): Don't update the main thread here. + (remote_start_remote): Clear thread list here. Always add the + main thread. + (extended_remote_attach_1): Add the main thread here. + (extended_remote_mourn_1): Re-add the main thread here. + (extended_remote_create_inferior_1): Add a main thread. + + * Makefile.in (monitor.o): Depend on $(gdbthread_h). + +2008-06-27 Pedro Alves + + Use ptid_t.tid to store thread ids instead of ptid_t.pid. + + * remote.c (magic_null_ptid, not_sent_ptid, any_thread_ptid): New + globals. + (general_thread, continue_thread): Change type to ptid_t. + (record_currthread): Take a ptid_t parameter instead of an + integer. + (MAGIC_NULL_PID): Delete. + (set_thread): Take a ptid_t parameter and adjust. + (set_general_thread, set_continue_thread): New. + (remote_thread_alive, remote_newthread_step) + (remote_current_thread, remote_find_new_threads) + (remote_threads_info, remote_start_remote, remote_vcont_resume) + (remote_resume_1, remote_wait, extended_remote_create_inferior_1) + (threadalive_test, remote_pid_to_str) + (remote_get_thread_local_address): Adjust. + (_initialize_remote): Initialize magic_null_ptid, not_sent_ptid + and any_thread_ptid. + +2008-06-26 Jan Kratochvil + + * configure.ac (--enable-tui): AC_MSG_ERROR for explicit --enable-tui. + * configure: Regenerated. + +2008-06-26 Joel Brobecker + + * dwarf2read.c (read_attribute_value): Treat size attribute + values of 0xffffffff as if the attribute value was zero. + +2008-06-26 Vladimir Prus + + * linux-nat.c: Add description of overall logic. + +2008-06-26 Daniel Jacobowitz + + * Makefile.in (GNULIB_H): Use GNULIB_STDINT_H. + (gdb_stdint_h, gdb_stdint.h, stamp-int): Delete. Remove + all dependencies on $(gdb_stdint_h). + (distclean): Do not delete gdb_stdint.h. + * acinclude.m4: Do not use stdint.m4. + * configure.ac: Set GNULIB_STDINT_H. Remove tests for stdint.h, + uintptr_t, and gdb_stdint.h. + * defs.h: Include . + * gdb_thread_db.h: Assume stdint.h is already included. + * breakpoint.c, findcmd.c, hppa-tdep.c, inf-ptrace.c, proc-service.c, + rs6000-nat.c, spu-linux-nat.c, target.c, win32-nat.c: Do not + include gdb_stdint.h. + * configure, config.in: Regenerate. + +2008-06-26 Joseph Myers + + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Handle passing + decimal floating-point values in GPRs for soft-float. + (do_ppc_sysv_return_value): Handle returning decimal + floating-point values in GPRs for soft-float. + +2008-06-26 Vladimir Prus + + * target.c (target_read_until_error): New. + * target.h (target_read_until_error): Declare. + * mi/mi-main.c (mi_cmd_data_read_memory): Use + target_read_until_error. + +2008-06-25 Jan Kratochvil + + Fix a memory leak found by Hui Zhu . + * c-exp.y (parse_number): Move the S and SAVED_CHAR initialization + after the DECFLOAT detection to fix a memory leak. Remove the + redundant NUM initialization. Protect the DECFLOAT detection memory + access before the P block. Restore the P memory content for the + DECFLOAT detection. + +2008-06-25 Vladimir Prus + + Kill the return value for all MI command functions. + * mi/mi-cmds.h (enum mi_cmd_result): Remove. + (mi_cmd_argv_ftype): Change return type to void. + + * mi/mi-main.c: Adjust all function that implement + MI commands to return nothing. + (struct captured_mi_execute_command_actions): + Remove the rc field. + (mi_cmd_execute): Return nothing. + (mi_execute_async_cli_command): Return nothing. + (mi_cmd_exec_interrupt): Don't print ^done here. + (mi_cmd_target_select): Don't print ^connected here. + (captured_mi_execute_command): Don't check for MI_CMD_DONE. + Special-case -target-select and output ^connected, not ^done. + + * mi/mi-cmd-break.c: Adjust. + * mi/mi-cmd-disas.c: Adjust. + * mi/mi-cmd-env.c: Adjust. + * mi/mi-cmd-file.c: Adjust. + * mi/mi-cmd-stack.c: Adjust. + * mi/mi-cmd-target.c: Adjust. + * mi/mi-cmd-var.c: Adjust. + * mi/mi-interp.c: Adjust. + * mi/mi-symbol-cmds.c: Adjust. + +2008-06-25 Vladimir Prus + + Emit ^running via observer. + * mi/mi-interp.c (mi_cmd_interpreter_exec): Do no print + ^running here. + (mi_on_resume): Print ^running if not previously output. + * mi/mi-main.c (running_result_record_printed): New. + (captured_mi_execute_command): Reset + running_result_record_printed. Use running_result_record_printed + to decide if we should skip ^done. + (mi_execute_async_cli_command): Don't print ^running here. + * mi/mi-main.h (current_token, running_result_record_printed): + Declare. + +2008-06-24 Michael Snyder + + * infrun.c (_initialize_infrun): White space and typo fix. + +2008-06-23 Christopher Faylor + + * win32-nat.c (safe_symbol_file_add_stub): Remove unused variable. + (do_initial_win32_stuff): Fix problem with inability to set breakpoints + when first loading DLL with "dll" command. + +2008-06-19 Pierre Muller + + * gnu-nat.c (proc_string): Use capital T for "Thread". + +2008-06-19 Pierre Muller + + * win32-nat.c (win32_pid_to_str): Use capital T for "Thread". + +2008-06-18 Joel Brobecker + + * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if + the target cannot run. + +2008-06-18 Joel Brobecker + + * solib-osf.c (osf_solib_create_inferior_hook): Do nothing if + we're attaching to a running process. + +2008-06-18 Pierre Muller + + * win32-nat.c (handle_load_dll): Give dll name and load address + if debug_events is on. + (handle_unload_dll): Likewise. + +2008-06-14 Vladimir Prus + + Don't suppress *running when doing finish. + * infcall.c (call_function_by_hand): Set both + suppress_resume_observer and suppress_stop_observer. + * infcmd.c (suppress_run_stop_observers): Split into... + (suppress_resume_observer, suppress_stop_observer): ...those. + (finish_command_continuation): Clear suppress_stop_observer. + (finish_command): Set suppress_stop_observer. + * inferior.h (suppress_run_stop_observers): Split into... + (suppress_resume_observer, suppress_stop_observer): ...those. + * infrun.c (normal_stop): Check for suppress_stop_observer. + * thread.c (set_running): Check for suppress_resume_observer. + +2008-06-12 Pedro Alves + Pierre Muller + + * gdbarch.sh (gdbarch_skip_main_prologue): New. + * gdbarch.h, gdbarch.c: Regenerate. + * i386-tdep.h (i386_skip_main_prologue): Declare. + * i386-tdep.c (i386_skip_main_prologue): New. + * i386-cygwin-tdep.c (i386_cygwin_init_abi): Register + i386_skip_main_prologue as gdbarch_skip_main_prologue gdbarch callback. + * symtab.c (find_function_start_sal): When pc points at the "main" + function, call gdbarch_skip_main_prologue. + +2008-06-11 Daniel Jacobowitz + + * value.c (value_primitive_field): Fetch lazy register values. + +2008-06-11 Pedro Alves + + * NEWS: Mention support removal of undocumented S AA p PID stop + reply packet. + + * remote.c (remote_wait): Remove undocumented S AA p PID support. + +2008-06-10 Stan Shebs + + * MAINTAINERS: Update my affiliation and address. + +2008-06-10 Andreas Schwab + + * top.c (print_gdb_version): Don't print final newline. + +2008-06-10 Vladimir Prus + + Implement *running. + * Makefile.in: Update dependencies. + * gdbthread.h (struct thread_info): New field + running_. + (set_running, is_running): New. + * thread.c (set_running, is_running): New. + * inferior.h (suppress_normal_stop_observer): Rename to... + (suppress_run_stop_observers): ..this. + * infcmd.c (suppress_normal_stop_observer): Rename to... + (suppress_run_stop_observers): ..this. + (finish_command_continuation, finish_command): Adjust. + * infcall.c (call_function_by_hand): Adjust. + * infrun.c (normal_stop): Call set_running. + * target.c (target_resume): New. Call set_running. + * target.h (target_resume): Convert from macro to + a function. + + * mi/mi-interp.c (mi_on_resume): New. + (mi_interpreter_init): Register mi_on_resume. + +2008-06-10 Vladimir Prus + + Use observers to report stop events in MI. + * mi/mi-interp.c (mi_on_normal_stop): New. + (mi_interpreter_init): Register mi_on_normal_stop. + (mi_interpreter_exec_continuation): Remove. + (mi_cmd_interpreter_exec): Don't register the above. + * mi/mi-main.c (captured_mi_execute_command): Don't care + about sync_execution. + (mi_execute_async_cli_command): Don't install continuation. Don't + print *stopped. + (mi_exec_async_cli_cmd_continuation): Remove. + +2008-06-10 Vladimir Prus + + Suppress normal stop observer when it's problematic. + * inferior.h (suppress_normal_stop_observer): New. + * infcall.c (call_function_by_hand): Disable stop events when + doing function calls. + * infmcd.c (suppress_normal_stop_observer): New. + (finish_command_continuation): Call normal_stop observer + explicitly. + (finish_command): Disable stop events inside proceed. + * infrun.c (normal_stop): Don't call normal stop observer if + suppressed of if multi-step is in progress. + +2008-06-10 Vladimir Prus + + Remove stale code. + * infrun.c (finish_command): Don't pass cleanup + to continuation. + (finish_command_continuation): Don't grab cleanup from + the passed data, as we don't use, and cannot, use it anyway. + +2008-06-10 Vladimir Prus + + Introduce common cleanup for restoring integers. + * defs.h (make_cleanup_restore_integer): New declaration. + (struct cleanup): New field free_arg. + (make_my_cleanup_2): New. + * utils.c (restore_integer_closure, restore_integer) + (make_cleanup_restore_integer): New. + (make_my_cleanup): Initialize the free_arg field and + renamed to make_my_cleanup_2. + (do_my_cleanups): Call free_arg. + (discard_cleanups): Call free_arg. + * breakpoint.c (restore_always_inserted_mode): Remove. + (update_breakpoints_after_exec): Use make_cleanup_restore_integer. + +2008-06-09 Doug Evans + + * remote.c (remote_wait): Include beginning of malformed packet + in error output. + +2008-06-09 Tom Tromey + + * completer.c (complete_line): Don't special-case + expression_completer. + (expression_completer): Only pass last word to + location_completer. + * c-exp.y (yylex): Check 'token', not 'operator'. + +2008-06-09 Daniel Jacobowitz + + * configure.ac (build_warnings): Add -Wno-format for mingw. + * configure: Regenerated. + +2008-06-07 Daniel Jacobowitz + + * NEWS: Make indentation consistent. Move exec tracing entry out + of remote packet list. + +2008-06-06 Tom Tromey + + * value.h (evaluate_subexpression_type, extract_field_op): + Declare. + * printcmd.c (_initialize_printcmd): Use expression_completer for + 'p', 'inspect', 'call'. + * parser-defs.h (parse_field_expression): Declare. + * parse.c: Include exceptions.h. + (in_parse_field, expout_last_struct): New globals. + (mark_struct_expression): New function. + (prefixify_expression): Return int. + (prefixify_subexp): Return int. Use expout_last_struct. + (parse_exp_1): Update. + (parse_exp_in_context): Add 'out_subexp' argument. Handle + in_parse_field. + (parse_field_expression): New function. + * expression.h (parse_field_expression): Declare. + (in_parse_field): Likewise. + * eval.c (evaluate_subexpression_type): New function. + (extract_field_op): Likewise. + * completer.h (expression_completer): Declare. + * completer.c (expression_completer): New function. + (count_struct_fields, add_struct_fields): New functions. + * c-exp.y (yyparse): Redefine. + (COMPLETE): New token. + (exp): New productions. + (saw_name_at_eof, last_was_structop): New globals. + (yylex): Return COMPLETE when needed. Recognize in_parse_field. + (c_parse): New function. + * breakpoint.c (_initialize_breakpoint): Use expression_completer + for watch, awatch, and rwatch. + * Makefile.in (parse.o): Depend on exceptions_h. + +2008-06-06 Paul Pluzhnikov + + PR gdb/1147 + * gdb/valopts.c (find_overload_match): Handle references + to pointers. + +2008-06-06 Paul N. Hilfinger + + * ada-lang.c (ada_value_assign): Correct big-endian case to take into + account the bitsize of the 'from' operand. + +2008-06-06 Pedro Alves + + * annotate.h (annotate_thread_changed): Declare. + +2008-06-06 Nick Roberts + + * annotate.c (annotate_thread_changed): New function. + * thread.c (thread_command) : Use it. + * infrun.c (normal_stop): Use it. + +2008-06-05 Vladimir Prus + Nathan Sidwell + Joseph Myers + + * acinclude.m4: Include ../config/acx.m4. + * configure.ac: Use ACX_PKGVERSION and ACX_BUGURL. + * configure, config.in: Regenerate. + * main.c (print_gdb_help): Use REPORT_BUGS_TO for bug-reporting + address. + * top.c (print_gdb_version): Use PKGVERSION and REPORT_BUGS_TO. + +2008-06-05 Pedro Alves + + Replace 'target async' by 'maintenance set remote-async' and + 'target remote' combination. + + * remote.c (remote_async_wait): Merge into remote_wait, and + remove. + (remote_async_permitted, remote_async_permitted_set): New + variables. + (set_maintenance_remote_async_permitted) + (show_maintenance_remote_async_permitted): New functions. + (remote_async_ops, extended_async_remote_ops): Delete. + (remote_async_open, extended_remote_async_open): Delete. + (remote_open_1): Drop async_p parameter. Update callers. Replace + async_p with remote_async_permitted checks. + (extended_async_remote_attach): Delete. + (remote_resume, remote_async_resume): Merge and leave remote_resume. + (remote_async_terminal_inferior): Rename to... + (remote_terminal_inferior): ... this, and add + remote_async_termitted check. + (remote_async_terminal_ours): Rename to... + (remote_terminal_ours): ... this, and add remote_async_termitted + check. + (remote_wait, remote_async_wait): Merge and leave remote_wait + only. + (remote_kill, remote_async_kill): Merge and leave remote_kill + only. + (remote_async_mourn, extended_async_remote_mourn): Delete. + (extended_remote_create_inferior_1): Drop async_p parameter. + Update callers. Always use extended_remote_ops. + (extended_remote_async_create_inferior): Delete. + (remote_return_zero): Delete. + (init_remote_ops): Register remote_can_async_p, remote_async, + remote_async_mask, remote_terminal_inferior and + remote_terminal_ours. + (remote_can_async_p, remote_is_async_p): Check for + remote_async_permitted. + (init_remote_async_ops, init_extended_async_remote_ops): Remove. + (set_remote_cmd): Don't add async and extended-async targets. + (_initialize_remote): Add set/show remote-async maintenance + commands. + +2008-06-05 Pedro Alves + + * remote.c (kill_kludge): Delete. + (remote_wait, remote_async_wait): Don't set it. + (remote_kill, remote_async_kill): Don't do anything with it. + +2008-06-05 Pedro Alves + + * linux-thread-db.c (thread_db_wait): Don't trim event ptid. + +2008-06-05 Aleksandar Ristovski + + * bcache.c (bcache_data): Call deprecated_bcache_added function. + (deprecated_bcache_added): New function name. Body of function + bcache_data is used here with the addition of 'added' argument. + * bcache.h (deprecated_bcache_added): New function. + * symfile.c (add_psymbol_to_bcache): New helper function, takes part of + work from add_psymbol_to_list - initialises partial symbol and stashes + it in objfile's cache. + (append_psymbol_to_list): New helper function, takes other part of + work from add_psymbol_to_list - adds partial symbol to the given list. + (add_psymbol_to_list): Call helper functions instead of doing work + here. If adding to global list, do not duplicate partial symbols in the + partial symtab. + +2008-06-05 Aleksandar Ristovski + + * breakpoint.c (print_exception_catchpoint): Put 'exception' back to + 'exception caught|thrown' message. + +2008-06-05 Jan Kratochvil + + * Makefile.in: Update dependencies. + * dwarf2expr.c: New include "gdb_assert.h". + (new_dwarf_expr_context): Initialize MAX_RECURSION_DEPTH. + (dwarf_expr_eval): Sanity check the RECURSION_DEPTH count. + (execute_stack_op): Error out on too large RECURSION_DEPTH. + Increase/decrease RECURSION_DEPTH around the function. + +2008-06-05 Daniel Jacobowitz + + * remote.c (get_offsets): Handle a single segment. + * symfile.c (symfile_map_offsets_to_segments): Allow more bases + than segments. + +2008-06-03 Daniel Jacobowitz + + * solib-svr4.c (struct lm_info): Add lm_addr. + (main_lm_addr): New. + (svr4_default_sos): Set lm_addr. + (svr4_current_sos): Set lm_addr and main_lm_addr. + (svr4_fetch_objfile_link_map): Rewrite. + (svr4_clear_solib): Clear main_lm_addr. + +2008-06-03 Michael Snyder + Joseph Myers + + * mips-tdep.c (mips_eabi_return_value): Replace stub that always + returned RETURN_VALUE_STRUCT_CONVENTION with a real function. + +2008-06-02 Roman Zippel + + * m68klinux-tdep.c (m68k_linux_pc_in_sigtramp): Fix incorrect test. + +2008-06-02 Roman Zippel + + * m68k-tdep.c (m68k_analyze_prologue): Fix length of lea insn. + +2008-06-01 Joel Brobecker + + * rs6000-aix-tdep.c (rs6000_convert_from_func_ptr_addr): Do not + treat pointers in data space as function descriptors if the + target address is also in the data space. + +2008-05-30 Joel Brobecker + + * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Set + the trad-frame register value for the SP register. + +2008-05-29 Mark Kettenis + + * sparcnbsd-tdep.c, sparcobsd-tdep.c: Update for unwinder changes. + +2008-05-28 Joel Brobecker + + * ia64-tdep.c (ia64_convert_from_func_ptr_addr): Improve the heuristic + that identifies function descriptors outside of the .opd section. + +2008-05-28 Aleksandar Ristovski + + * breakpoint.c (print_exception_catchpoint): In CLI add 'Temporary' for + temporary catchpoints. In MI add missing fields 'reason', 'disp', + 'bkptno'. + (print_mention_exception_catchpoint): Add 'Temporary' for temporary + catchpoints. + (handle_gnu_v3_exceptions): Use tempflag. + +2008-05-28 Vladimir Prus + + Refactor varobj_update interface. + * varobj.c (varobj_update): Report changes as vector. Also + return not just a list of varobj, but a list of special structures + that tell what exactly has changed. + * varobj.h (enum varobj_update_error): Rename to + varobj_scope_status. + (struct varobj_update_result_t): New. + (varobj_update): Adjust prototype. + * mi/mi-cmd-var.c: Adjust for changes. + +2008-05-28 Vladimir Prus + + * varobj.c (varobj_update): Fix comment typo. + Fix indentation. + +2008-05-26 Joel Brobecker + + Set the symtab field of symbols read from ECOFF debugging entries. + * mdebugread.c (add_symbol): Add new parameter symtab. + (parse_symbol): Update calls to add_symbol throughout. + +2008-05-27 Andreas Schwab + + * symtab.h (enum address_class): Remove LOC_REGPARM and + LOC_COMPUTED_ARG. + (struct symbol): Add is_argument. + (SYMBOL_IS_ARGUMENT): Define. + + * ada-lang.c (ada_add_block_symbols): Use SYMBOL_IS_ARGUMENT. + * buildsym.c (finish_block): Likewise. + * stack.c (print_frame_args, print_block_frame_locals) + (print_frame_arg_vars): Likewise. + * symtab.c (lookup_block_symbol): Likewise. + * tracepoint.c (add_local_symbols): Likewise. + * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. + + * coffread.c (process_coff_symbol): Set SYMBOL_IS_ARGUMENT. + * dwarf2read.c (new_symbol): Likewise. + * mdebugread.c (parse_symbol): Likewise. + * stabsread.c (define_symbol): Likewise. + + * ada-exp.y (select_possible_type_sym): Don't handle LOC_REGPARM + and LOC_COMPUTED_ARG. + * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. + * ax-gdb.c (gen_var_ref): Likewise. + * eval.c (evaluate_subexp_for_address): Likewise. + * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. + * m2-exp.y (yylex): Likewise. + * printcmd.c (address_info): Likewise. + * symmisc.c (print_symbol, print_partial_symbols): Likewise. + * tracepoint.c (collect_symbol, scope_info): Likewise. + +2008-05-24 Carlos Eduardo Seo + + * gdbarch.sh: Added new gdbarch struct + core_regset_sections. + * gdbarch.c: Refreshed. + * gdbarch.h: Refreshed. + * regset.h (core_regset_section): Declared. + * linux-nat.c (linux_nat_do_thread_registers): Added + support for the new gdbarch struct core_regset_sections. + * utils.c (host_address_to_string): New function. + * defs.h (host_address_to_string): New prototype. + * i386-linux-tdep.c (i386_regset_rections): New register + sections list for i386. + (i386_linux_init_abi): Initialized new gdbarch struct + core_regset_sections. + * Makefile.in: Updated to reflect dependency changes. + * ppc-linux-tdep.c (ppc_regset_sections): Register + sections list for ppc. + (ppc_linux_init_abi): Initialized new gdbarch struct + core_regset_sections + +2008-05-24 Andreas Schwab + + * linespec.c (decode_objc): Save current language around call to + get_selected_block. + +2008-05-23 Joel Brobecker + + * valprint.h (get_array_bounds): Renames get_array_low_bound. + * valprint.c (get_array_bounds): Renames get_array_low_bound. + Return the proper bound value if the array index type is an + enumerated type. Compute the high bound if requested. + (val_print_array_elements): Handle the case when the array + element has a null size. + * ada-valprint.c (print_optional_low_bound): Add handling + for empty arrays or arrays of zero-size elements. + (ada_val_print_array): New function, extracted out from + ada_val_print_1 case TYPE_CODE_ARRAY, and enhanced to + handle empty arrays and arrays of zero-size elements. + (ada_val_print_1)[case TYPE_CODE_ARRAY]: Replace extracted-out + code by call to ada_val_print_array. + (ada_value_print): Remove handling of null array. The handling + was incomplete and is now better handled by ada_val_print_array. + +2008-05-23 Markus Deuling + + * annotate.c (annotate_source, annotate_frame_begin): Replace + deprecated_print_address_numeric with paddress. + * cli/cli-cmds.c (list_command, edit_command): Likewise. + * tui/tui-stack.c (tui_make_status_line): Likewise. + + * defs.h (deprecated_print_address_numeric): Remove. + * printcmd.c (deprecated_print_address_numeric): Remove. + * maint.c (maint_print_section_info): Fix comment. + +2008-05-23 Markus Deuling + + * valprint.c (print_hex_chars, print_octal_chars, print_decimal_chars, + print_binary_chars, print_char_chars): Add byte_order parameter and + replace gdbarch_byte_order. + (print_decimal_chars): Replace START_P, NOT_END_P and NEXT_P by their + expressions and remove them. Remove unused TWO_TO_FOURTH. + (val_print_type_code_int): Introduce gdbarch_byte_order to get at the + endianness. Update call to print_hex_chars. + * valprint.h (print_hex_chars, print_octal_chars, print_decimal_chars, + print_binary_chars, print_char_chars): Add byte_order parameter. + * printcmd.c (print_scalar_formatted): Introduce gdbarch_byte_order to + get at the endianness. Update print_*_char calls to use byte_order. + +2008-05-22 Ulrich Weigand + + * symtab.h (struct symbol): Make "aux_value" member a void pointer + instead of a union. + (SYMBOL_LOCATION_BATON): Update. + +2008-05-22 Ulrich Weigand + + * symtab.h (enum address_class): Remove LOC_BASEREG and + LOC_BASEREG_ARG. + (struct symbol): Remove "basereg" member of "aux_value" union. + (SYMBOL_BASEREG): Remove. + + * ada-exp.y (select_possible_type_sym): Do not handle LOC_BASEREG + or LOC_BASEREG_ARG. + * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. + (ada_add_block_symbols): Likewise. + * ax-gdb.c (gen_var_ref): Likewise. + * buildsym.c (finish_block): Likewise. + * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. + * m2-exp.y (yylex): Likewise. + * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. + * printcmd.c (address_info): Likewise. + * stack.c (print_frame_args, print_block_frame_locals): Likewise. + (print_frame_arg_vars): Likewise. + * symmisc.c (print_symbol): Likewise. + * symtab.c (lookup_block_symbol): Likewise. + * tracepoint.c (collect_symbol, add_local_symbols): Likewise. + (scope_info): Likewise. + +2008-05-22 Ulrich Weigand + + * symtab.h (enum address_class): Remove LOC_LOCAL_ARG. + + * ada-exp.y (select_possible_type_sym): Do not handle LOC_LOCAL_ARG. + * ada-lang.c (resolve_subexp, symtab_for_sym): Likewise. + (ada_add_block_symbols): Likewise. + * ax-gdb.c (gen_var_ref): Likewise. + * buildsyms.c (finish_block): Likewise. + * findvar.c (symbol_read_needs_frame, read_var_value): Likewise. + * m2-exp.y (yylex): Likewise. + * mi/mi-cmd-stack.c (list_args_or_locals): Likewise. + * printcmd.c (address_info): Likewise. + * stack.c (print_frame_args, print_frame_arg_vars): Likewise. + * symmisc.c (print_symbol, print_partial_symbols): Likewise. + * symtab.c (lookup_block_symbol): Likewise. + * tracepoint.c (collect_symbol, add_local_symbols): Likewise. + (scope_info): Likewise. + +2008-05-22 Ulrich Weigand + + * symtab.h (enum address_class): Remove LOC_INDIRECT and + LOC_HP_THREAD_LOCAL_STATIC. + + * findvar.c (symbol_read_needs_frame, read_var_value): Do not + handle LOC_INDIRECT or LOC_HP_THREAD_LOCAL_STATIC. + (read_var_value): Likewise. + * buildsym.c (finish_block): Likewise. + * objfiles.c (objfile_relocate): Likewise. + * printcmd.c (address_info): Likewise. + * symmisc.c (print_symbol, print_partial_symbols): Likewise. + * tracepoint.c (scope_info): Likewise. + +2008-05-21 Markus Deuling + Maxim Grigoriev + + * xtensa-tdep.c (xtensa_read_register): Remove. + (xtensa_frame_cache): Get rid of xtensa_read_register. Pass extra + argument litbase to call0_frame_cache(). + (call0_track_op, call0_analyze_prologue) + (call0_frame_cache): Use extra argument litbase. + +2008-05-21 Joel Brobecker + + * infcmd.c (_initialize_infcmd): Add new "fin" alias for "finish". + +2008-05-21 Ulrich Weigand + + * frame.h (SIZEOF_FRAME_SAVED_REGS): Remove. + +2008-05-21 Ulrich Weigand + + * alpha-mdebug-tdep.c: Include "trad-frame.h". + (struct alpha_mdebug_unwind_cache): Change type of SAVED_REGS to + struct trad_frame_saved_reg *. + (alpha_mdebug_frame_unwind_cache): Allocate SAVED_REGS using + trad_frame_alloc_saved_regs. Update accesses. Record previous + value of SP as being vfp. + (alpha_mdebug_frame_prev_register): Use trad_frame_get_prev_register. + * Makefile.in (alpha-mdebug-tdep.o): Update dependencies. + +2008-05-21 Markus Deuling + + * score-tdep.c (score_print_insn): Get the current endianess from + disassemble_info instead of gdbarch_byte_order. + +2008-05-21 Pedro Alves + + * frame.c (get_prev_frame_1): Build frame id before setting + this_frame->prev_p, not after. + +2008-05-21 Nick Roberts + + * annotate.c (annotate_new_thread): New function for new-thread + annotation. + * annotate.h: (annotate_new_thread): New extern. + * thread.c (add_thread_with_info): Use it. + * Makefile.in (thread.o): Add dependency on annotate.h. + +2008-05-20 Joel Brobecker + + * win32-nat.c (win32_wait): Block the control-c event while + waiting for a debug event. + +2008-05-19 Pedro Alves + + * symtab.h (lookup_symbol_in_language): Update comment. + * symtab.c (lookup_symbol_aux_block): Update comment. + * ada-lang.c (ada_lookup_symbol_list): Update comment. + +2008-05-19 Ulrich Weigand + + * symtab.h (lookup_symbol_in_language): Remove SYMTAB parameter. + (lookup_symbol): Likewise. + * symtab.c (lookup_symbol_in_language): Remove SYMTAB parameter. + (lookup_symbol): Likewise. + (search_symbols): Update. + + * linespec.c (find_methods, collect_methods): Update. + (add_matching_methods, add_constructors): Update. + (decode_compound, decode_dollar, decode_variable): Update. + (lookup_prefix_sym): Update. + + (symbol_found): Remove SYM_SYMTAB parameter. + Use SYMBOL_SYMTAB (sym) instead. + + * gdbtypes.c (lookup_typename): Update. + (lookup_struct, lookup_union, lookup_enum): Update. + (lookup_template_type): Update. + (check_typedef): Update. + * language.c (lang_bool_type): Update. + * mdebugread.c (parse_procedure): Update. + * mi/mi-cmd-stack.c (list_args_or_locals): Update. + * parse.c (write_dollar_variable): Update. + * printcmd.c (address_info): Update. + * source.c (select_source_symtab): Update. + * stack.c (print_frame_args, print_frame_arg_vars): Update. + * valops.c (find_function_in_inferior): Update. + (value_struct_elt_for_reference): Update. + * value.c (value_static_field, value_fn_field): Update. + + * alpha-mdebug-tdep.c (find_proc_desc): Update. + * arm-tdep.c (arm_skip_prologue): Update. + * mt-tdep.c (mt_skip_prologue): Update. + * xstormy16-tdep.c (xstormy16_skip_prologue): Update. + + * ada-lang.h (struct ada_symbol_info): Remove SYMTAB member. + * ada-lang.c (ada_add_block_symbols): Remove SYMTAB parameter. + (add_defn_to_vec): Likewise. + (ada_add_block_symbols): Likewise. + (lookup_cached_symbol, cache_symbol): Likewise. + (standard_lookup): Update. + (ada_lookup_symbol_list): Update. + + * c-valprint.c (c_val_print): Update. + * cp-support.c (cp_lookup_rtti_type): Update. + * jv-lang.c (java_lookup_class, get_java_object_type): Update. + * objc-lang.c (lookup_struct_typedef, find_imps): Update. + * p-valprint.c (pascal_val_print): Update. + * scm-lang.c (scm_lookup_name): Update. + + * c-exp.y: Update. + * f-exp.y: Update. + * jv-exp.y: Update. + * m2-exp.y: Update. + * objc-exp.y: Update. + * p-exp.y: Update. + +2008-05-19 Ulrich Weigand + + * language.h (struct language_defn): Remove SYMTAB parameter from + la_lookup_symbol_nonlocal callback function pointer. + + * ada-lang.h (ada_lookup_encoded_symbol): Remove SYMTAB parameter. + (ada_lookup_encoded_symbol): Likewise. + * ada-lang.c (ada_lookup_encoded_symbol): Remove SYMTAB parameter. + Always call fixup_symbol_section. + (ada_lookup_symbol): Remove SYMTAB parameter. + (ada_lookup_symbol_nonlocal): Likewise. + * ada-exp.y (write_object_renaming): Update. + (find_primitive_type): Likewise. + + * cp-support.h (cp_lookup_symbol_nonlocal): Remove SYMTAB parameter. + (cp_lookup_symbol_namespace): Likewise. + * cp-namespace.c (lookup_namespace_scope): Remove SYMTAB parameter. + (lookup_symbol_file): Likewise. + (lookup_possible_namespace_symbol): Likewise. + (cp_lookup_symbol_nonlocal): Likewise. + (cp_lookup_symbol_namespace): Likewise. + (cp_lookup_nested_type): Update. + + * scm-valprint.c (scm_inferior_print): Update. + * valops.c (value_maybe_namespace_elt): Update. + + * solist.h (struct target_so_ops): Remove SYMTAB parameter from + lookup_lib_global_symbol callback function pointer. + (solib_global_lookup): Remove SYMTAB parameter. + * solib.c (solib_global_lookup): Remove SYMTAB parameter. + * solib-svr4.c (elf_lookup_lib_symbol): Likewise. + + * symtab.h (basic_lookup_symbol_nonlocal): Remove SYMTAB parameter. + (lookup_symbol_static): Likewise. + (lookup_symbol_global): Likewise. + (lookup_symbol_aux_block): Likewise. + (lookup_global_symbol_from_objfile): Likewise. + * symtab.c (lookup_symbol_aux): Remove SYMTAB parameter. + (lookup_symbol_aux_local): Likewise. + (lookup_symbol_aux_block): Likewise. + (lookup_symbol_aux_symtabs): Likewise. + (lookup_symbol_aux_psymtabs): Likewise. + (lookup_global_symbol_from_objfile): Likewise. + (basic_lookup_symbol_nonlocal): Likewise. + (lookup_symbol_static): Likewise. + (lookup_symbol_global): Likewise. + + (lookup_symbol_in_language): Do not pass SYMTAB to lookup_symbol_aux. + +2008-05-17 Pedro Alves + + * remote.c (init_extended_remote_ops): Fix typo. + +2008-05-16 Pedro Alves + + * NEWS: Mention new DICOS x86 target configuration. + +2008-05-16 Pedro Alves + Ulrich Weigand + + * minsyms.c (lookup_minimal_symbol_by_pc_name): New function. + * symtab.h (lookup_minimal_symbol_by_pc_name): Add prototype. + + * symtab.c (fixup_section): Remove prototype. Add ADDR parameter; + use it instead of ginfo->value.address. Look up minimal symbol by + address and name. Assume OBJFILE is non-NULL. + (fixup_symbol_section): Ensure we always have an objfile to look + into. Extract and pass to fixup_section the symbol's address that + will match the minimal symbol's address. + (fixup_psymbol_section): Likewise. + + (find_pc_sect_psymtab): Fall back to non-addrmap case when debugging + overlays and the addrmap returned the wrong section. + + * dwarf2read.c (var_decode_location): Set SYMBOL_CLASS before + calling fixup_symbol_section. + +2008-05-16 Ulrich Weigand + + * minsyms.c: Include "target.h". + (find_solib_trampoline_target): Handle minimal symbols pointing + to function descriptors as well. + * Makefile.in (minsyms.o): Update dependencies. + + * ppc-linux-tdep.c (ppc64_standard_linkage): Rename to ... + (ppc64_standard_linkage1): ... this. Fix optional instructions. + (PPC64_STANDARD_LINKAGE_LEN): Rename to ... + (PPC64_STANDARD_LINKAGE1_LEN): ... this. + (ppc64_standard_linkage2, ppc64_standard_linkage3): New. + (PPC64_STANDARD_LINKAGE2_LEN, PPC64_STANDARD_LINKAGE3_LEN): New. + (ppc64_standard_linkage_target): Rename to ... + (ppc64_standard_linkage1_target): ... this. + (ppc64_standard_linkage2_target, ppc64_standard_linkage3_target): New. + (ppc64_skip_trampoline_code): Support three variants of standard + linkage stubs. Call find_solib_trampoline_target to handle + glink stubs. + +2008-05-16 Ulrich Weigand + + * ppc-linux-tdep.c (ppc_linux_init_abi): Do not install + ppc64_sysv_abi_adjust_breakpoint_address. + * ppc-sysv-tdep.c (ppc64_sysv_abi_adjust_breakpoint_address): Remove. + * ppc-tdep.h (ppc64_sysv_abi_adjust_breakpoint_address): Remove. + +2008-05-16 Ulrich Weigand + + * ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Remove. + (ppc_linux_init_abi): Install find_solib_trampoline_target instead + of ppc_linux_skip_trampoline_code. + +2008-05-15 Daniel Jacobowitz + + * gdbarch.sh: Delete dwarf_reg_to_regnum. + * gdbarch.c, gdbarch.h: Regenerated. + * amd64-tdep.c, arm-tdep.c, h8300-tdep.c, hppa-linux-tdep.c, + hppa-tdep.c, i386-tdep.c, m32c-tdep.c, m68k-tdep.c, mips-tdep.c, + s390-tdep.c, xtensa-tdep.c: Do not set dwarf_reg_to_regnum. + +2008-05-15 Pedro Alves + + * linux-nat.c (trap_ptid): Delete. + (linux_nat_detach, linux_nat_wait, linux_nat_mourn_inferior): + Adjust. + * linux-thread-db.c (thread_db_wait): Adjust. + +2008-05-15 Joel Brobecker + + * linespec.c (decode_line_1): Fix a couple of comments. + +2008-05-15 Alan Modra + + * dbxread.c: Formatting. + (INTERNALIZE_SYMBOL): Init n_other. + (set_namestring): Take pointer to nlist arg rather than struct + copy. Update all callers. + +2008-05-15 Andreas Schwab + + * Makefile.in (dwarf2loc.o): Remove $(addrmap_h). + (dwarf2read.o): Add $(addrmap_h). + +2008-05-14 Ulrich Weigand + + * ppc-linux-tdep.c (ppc_linux_convert_from_func_ptr_addr): Rename ... + (ppc64_linux_convert_from_func_ptr_addr): ... to this. No longer try + to handle ppc32 PLT entries. + (ppc_linux_init_abi): Install ppc64_linux_convert_from_func_ptr_addr + only on ppc64. + +2008-05-14 Daniel Jacobowitz + + * elfread.c (elf_symtab_read): Create trampolines for @plt symbols. + * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Renamed from + lookup_minimal_symbol_by_pc_section. Prefer trampolines if requested. + (lookup_minimal_symbol_by_pc_section): Use + lookup_minimal_symbol_by_pc_section_1. + (lookup_solib_trampoline_symbol_by_pc): Likewise. + +2008-05-13 Joel Brobecker + + * findcmd.c: Add #include "gdb_stdint.h". + * Makefile.in (findcmd.o): Update dependencies. + +2008-05-11 David S. Miller + + * sparc-linux-tdep.c (sparc32_linux_init_abi): Remove + long double size override, Linux does use 128-bit now. + + * sparc-linux-tdep.c (PSR_SYSCALL): Define. + (sparc_linux_write_pc): New function. + (sparc32_linux_init_abi): Register it. + * sparc64-linux-tdep.c (TSTATE_SYSCALL): Define. + (sparc64_linux_write_pc): New function. + (sparc64_linux_init_abi): Register it. + + * sparc-linux-tdep.c, sparc64-linux-tdep.c: Use + dwarf2_append_unwinders(), not dwarf2_frame_sniffer. + +2008-05-11 Ulrich Weigand + + * 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 + + * 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 + + * NEWS: Mention gdbserver bi-arch capability. + +2008-05-09 Doug Evans + + 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 + + * 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 + + * alpha-mdebug-tdep.c, alpha-osf1-tdep.c, alpha-tdep.c: + Update for unwinder changes. + +2008-05-08 Joel Brobecker + + * 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 + + * remote.c (extended_remote_attach_1): Call target_find_description. + +2008-05-08 Daniel Jacobowitz + + * remote.c (extended_remote_create_inferior_1): Clean up + before marking the target running. + +2008-05-08 Joel Brobecker + + * hppa-tdep.h, hppa-tdep.c, hppa-hpux-tdep.c: Update for unwinder + changes. + +2008-05-07 Joel Brobecker + + * 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 + + * cp-support.c (mangled_name_to_comp): Initialize storage. + (unqualified_name_from_comp): Likewise. + +2008-05-07 Jie Zhang + + * 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 + + * 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 + + * 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 + + * inf-loop.c (inferior_event_handler): Run all continuations and + print any language change before running the breakpoint commands. + +2008-05-06 Joel Brobecker + + * 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 + + * 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 + + * xtensa-tdep.c: Update for unwinder changes. + +2008-05-05 Andreas Schwab + + 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 + + * infcmd.c (step_1): Put thread id on the stack to avoid possible + NULL dereferencing. + +2008-05-05 Luis Machado + + * symfile.c (reread_symbols): Update objfile's entry point. + +2008-05-05 Aleksandar Ristovski + Joel Brobecker + + * 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 + + * top.c (command_line_handler_continuation): Remove. + (execute_command): Do not install the above. + +2008-05-05 Vladimir Prus + + * 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 + + * 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 + + * dwarf2read.c (dwarf2_ranges_read, read_partial_die): Initialize + locals. + +2008-05-04 Pedro Alves + + * 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 + + 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 + + * 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 + + * symfile.c (reread_symbols): Reload EXEC_BFD on its change. + +2008-05-04 Ulrich Weigand + + * 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 + + * dwarf2loc.c (dwarf_expr_frame_base): Error out on missing + SYMBOL_LOCATION_BATON. + +2008-05-04 Vladimir Prus + + * 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 + + * symfile.c (add_symbol_file_command): Use paddress rather than + hex_string to print the address. + +2008-05-03 Ulrich Weigand + + * 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 + + * 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 + Thiago Jung Bauermann + + * cli/cli-decode.c (lookup_cmd_1): Fix indentation. + * doublest.c (convert_typed_floating): Fix typo in comment. + * dwarf2-frame.c (dwarf2_frame_cache): Likewise. + * frame-unwind.h (frame_sniffer_ftype): Likewise. + * frame.c (frame_unwind_address_in_block): Likewise. + * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Likewise. + * symtab.h (struct symbol): Likewise. + * tramp-frame.h (struct trad_frame_cache): Likewise. + * value.c (allocate_repeat_value): Likewise. + +2008-05-03 Ulrich Weigand + + * infrun.c (handle_inferior_event): Do not insert breakpoints at + TARGET_WAITKIND_LOADED events during startup (i.e. in the shell). + +2008-05-03 Pedro Alves + + * parse.c (parse_exp_in_context): Don't override + expression_context_pc if get_selected_block returned a valid + block. + +2008-05-03 Daniel Jacobowitz + + * alpha-tdep.h (ALPHA_REGISTER_BYTES): Delete. + * arm-tdep.h (STATUS_REGISTER_SIZE): Delete. + * breakpoint.c (args_for_catchpoint_enable, current_exception_event): + Delete. + * c-typeprint.c (c_type_print_base): Delete handling of template + instantiations. + * cp-support.h (METHOD_PTR_IS_VIRTUAL, METHOD_PTR_FROM_VOFFSET) + (METHOD_PTR_TO_VOFFSET): Delete. + * defs.h (QUIT_FIXME): Delete. + * f-lang.h (DEFAULT_DOTMAIN_NAME_IN_MF77, DEFAULT_MAIN_NAME_IN_MF77) + (DEFAULT_DOTMAIN_NAME_IN_XLF_BUGGY, DEFAULT_DOTMAIN_NAME_IN_XLF): Delete. + * gdbtypes.h (struct cplus_struct_type): Delete is_inlined, + ninstantiations, and instantiations. + (TYPE_INSTANTIATIONS, TYPE_NINSTANTIATIONS, TYPE_INSTANTIATION) + (TYPE_FN_FIELD_INLINED): Delete. + * srec.h (SREC_BINARY): Delete. + * symtab.c (symbol_init_demangled_name): Delete. + * symtab.h (SYMBOL_INIT_DEMANGLED_NAME, symbol_init_demangled_name) + (SYMBOL_OBJFILE, struct exception_event_record, CURRENT_EXCEPTION_KIND) + (CURRENT_EXCEPTION_CATCH_SAL, CURRENT_EXCEPTION_CATCH_LINE) + (CURRENT_EXCEPTION_CATCH_FILE, CURRENT_EXCEPTION_CATCH_PC) + (CURRENT_EXCEPTION_THROW_SAL, CURRENT_EXCEPTION_THROW_LINE) + (CURRENT_EXCEPTION_THROW_FILE, CURRENT_EXCEPTION_THROW_PC): Delete. + * target.h (enum thread_control_capabilities): Delete tc_switch. + (target_can_switch_threads): Delete. + +2008-05-03 Daniel Jacobowitz + + * Makefile.in (objfiles.o): Update. + * exec.c (exec_set_section_address): Support p->addr != 0. + * objfiles.c (objfile_relocate): Update exec_ops section + addresses. + * symfile.c (place_section): Move exec_set_section_address call... + (default_symfile_offsets): ...to here. + +2008-05-03 Ulrich Weigand + + * Makefile.in (ppc_linux_tdep_h): New macro. + (powerpc_32l_c, powerpc_altivec32_c, powerpc_altivec32l_c): Likewise. + (powerpc_64l_c, powerpc_altivec64_c, powerpc_altivec64l_c): Likewise. + (powerpc_e500l_c): Likewise. + (ppc-linux-nat.o): Update dependencies. + (ppc-linux-tdep.o): Update dependencies. + (rs6000-tdep.o): Update dependencies. + + * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Remove. + (ppc_linux_svr4_fetch_link_map_offsets): Remove. + (ppc_linux_gregset, ppc_linux_fpregset): Move to ppc-linux-tdep.h + (ppc_supply_reg, ppc_collect_reg): Add prototypes. + (tdesc_powerpc_e500): Remove. + + * rs6000.c: Include "features/rs6000/powerpc-altivec32.c" + and "features/rs6000/powerpc-altivec64.c". + (ppc_supply_reg, ppc_collect_reg): Make global. + (variants): Use tdesc_powerpc_32 for "powerpc" and + tdesc_powerpc_altivec64 for "powerpc64". + (_initialize_rs6000_tdep): Initialize AltiVec descriptions. + + * ppc-linux-tdep.h: New file. + + * ppc-linux-tdep.c: Include "ppc-linux-tdep.c". + Include "features/rs6000/powerpc-32l.c". + Include "features/rs6000/powerpc-altivec32l.c". + Include "features/rs6000/powerpc-64l.c". + Include "features/rs6000/powerpc-altivec64l.c". + Include "features/rs6000/powerpc-e500l.c". + (ppc_linux_supply_gregset): New function. + (ppc_linux_collect_gregset): Handle orig_r3 and trap registers. + (ppc32_linux_gregset): Use ppc_linux_supply_gregset. + (ppc64_linux_gregset): Likewise. + (ppc_linux_sigtramp_cache): Handle orig_r3 and trap registers. + (ppc_linux_trap_reg_p): New function. + (ppc_linux_write_pc): New function. + (ppc_linux_core_read_description): New function. + (ppc_linux_init_abi): Install ppc_linux_write_pc and + ppc_linux_core_read_description. Install orig_r3 and trap + registers if present in the target description. + (_initialize_ppc_linux_tdep): Initialize Linux target descriptions. + + * ppc-linux-nat.c: Include "ppc-linux-tdep.h". + (PT_ORIG_R3, PT_TRAP): Define if necessary. + (ppc_register_u_addr): Handle orig_r3 and trap registers. + (fetch_ppc_registers): Likewise. + (store_ppc_registers): Likewise. + (store_register): Likewise. + (ppc_linux_read_description): Check whether AltiVec is supported. + Check whether inferior is 32-bit or 64-bit. Return the appropriate + Linux target description. + + * features/Makefile (WHICH): Use rs6000/powerpc-32l and + rs6000/powerpc-altivec32l instead of rs6000/powerpc-32. + Use rs6000/powerpc-64l and rs6000/powerpc-altivec64l instead + of rs6000/powerpc-64. Use rs6000/powerpc-e500l instead of + rs6000/powerpc-e500. Update -expedite variables accordingly. + + * features/rs6000/power-spe.xml: Use regnum 73 for "acc". + * features/rs6000/powerpc-32.xml: Do not include power-altivec.xml. + * features/rs6000/powerpc-64.xml: Do not include power-altivec.xml. + * features/rs6000/powerpc-e500.c: Regenerate. + * features/rs6000/powerpc-32.c: Regenerate. + * features/rs6000/powerpc-64.c: Regenerate. + + * features/rs6000/power-linux.xml: New file. + * features/rs6000/power64-linux.xml: New file. + * features/rs6000/powerpc-32l.xml: New file. + * features/rs6000/powerpc-altivec32l.xml: New file. + * features/rs6000/powerpc-64l.xml: New file. + * features/rs6000/powerpc-altivec64l.xml: New file. + * features/rs6000/powerpc-e500l.xml: New file. + * features/rs6000/powerpc-32l.c: New (generated) file. + * features/rs6000/powerpc-altivec32l.c: New (generated) file. + * features/rs6000/powerpc-64l.c: New (generated) file. + * features/rs6000/powerpc-altivec64l.c: New (generated) file. + * features/rs6000/powerpc-e500l.xml: New (generated) file. + + * regformats/reg-ppc.dat: Remove. + * regformats/reg-ppc64.dat: Remove. + * regformats/rs6000/powerpc-32.dat: Remove. + * regformats/rs6000/powerpc-64.dat: Remove. + * regformats/rs6000/powerpc-e500.dat: Remove. + * regformats/rs6000/powerpc-32l.dat: New (generated) file. + * regformats/rs6000/powerpc-altivec32l.dat: New (generated) file. + * regformats/rs6000/powerpc-64l.dat: New (generated) file. + * regformats/rs6000/powerpc-altivec64l.dat: New (generated) file. + * regformats/rs6000/powerpc-e500l.dat: New (generated) file. + +2008-05-03 Pedro Alves + + * thread.c (delete_thread): Call observer_notify_thread_exit. + * mi/mi-interp.c (mi_interpreter_init): Register mi_thread_exit as + thread_exit observer. + (mi_thread_exit): New. + +2008-05-03 Thiago Jung Bauermann + + * breakpoint.c (create_exception_catchpoint): Remove prototype + for already deleted function. + * breakpoint.h (ep_is_exception_catchpoint): Likewise. + * frame.h (show_stack_frame): Remove prototype. + * stack.c (show_stack_frame): Remove empty, unused function. + * source.c (symtab_to_fullname, print_source_lines): Small fix + in comment. + * value.c (show_values): Update comments to mention "show values" + command instead of "info history". + +2008-05-02 Ulrich Weigand + + * linespec.c: Include "target.h". + (minsym_found): Handle minimal symbols pointing to function + descriptors. Use find_function_start_pc. + * minsyms.c (msymbol_objfile): New function. + * parse.c (write_exp_msymbol): Handle minimal symbols pointing + to function descriptors. + * symtab.c (fixup_section): Only use minimal symbol at the same + address to determine section of a symbol. + (find_function_start_pc): New function. + (find_function_start_sal): Use it. + * symtab.h (msymbol_objfile): Add prototype. + (find_function_start_pc): Likewise. + * value.c: Include "objfiles.h". + (value_fn_field): Handle minimal symbols pointing to function + descriptors. + * Makefile.in (linespec.o): Update dependencies. + (value.o): Likewise. + +2008-05-02 Joel Brobecker + + * ada-lang.c (unwrap_value): Handle the case where the "F" field + inside a PAD type is a bitfield. + +2008-05-02 Ulrich Weigand + + * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Handle + TYPE_CODE_BOOL and TYPE_CODE_CHAR the same as TYPE_CODE_INT. + Handle TYPE_CODE_REF the same as TYPE_CODE_PTR. + Handle TYPE_CODE_METHOD the same as TYPE_CODE_FUNC. + Allow typedefs when checking for function pointer arguments. + Right-align small structs passed on the stack. + (ppc64_sysv_abi_return_value): Handle TYPE_CODE_BOOL and + TYPE_CODE_CHAR the same as TYPE_CODE_INT. + Handle TYPE_CODE_REF the same as TYPE_CODE_PTR. + +2008-05-02 Daniel Jacobowitz + + * Makefile.in (arm-tdep.o): Update. + * arm-tdep.c (arm_objfile_data_key, struct arm_mapping_symbol) + (struct arm_per_objfile, arm_compare_mapping_symbols): New. + (arm_pc_is_thumb): Use mapping symbols. + (arm_objfile_data_cleanup, arm_record_special_symbol): New. + (arm_gdbarch_init): Call set_gdbarch_record_special_symbol. + (_initialize_arm_tdep): Initialize arm_objfile_data_key. + * elfread.c (elf_symtab_read): Use gdbarch_record_special_symbol. + * gdbarch.sh: Add record_special_symbol. + * gdbarch.c, gdbarch.h: Regenerated. + * objfiles.c (struct objfile_data): Add cleanup member. + (register_objfile_data_with_cleanup): New function, from + register_objfile_data. + (register_objfile_data): Use it. + (objfile_free_data): Call clear_objfile_data. + (clear_objfile_data): Call cleanup functions. + * objfiles.h (register_objfile_data_with_cleanup): Declare. + +2008-05-02 Daniel Jacobowitz + + * objfiles.c (init_entry_point_info): Handle shared libraries. + +2008-05-02 Daniel Jacobowitz + + * arm-tdep.c (arm_prologue_this_id): Compare pc, not func, to + lowest_pc. + +2008-05-02 Jim Blandy + Pedro Alves + + Implement displaced stepping. + + * gdbarch.sh (max_insn_length): New 'variable'. + (displaced_step_copy, displaced_step_fixup) + (displaced_step_free_closure, displaced_step_location): New + functions. + (struct displaced_step_closure): Add forward declaration. + * gdbarch.c, gdbarch.h: Regenerated. + + * arch-utils.c: #include "objfiles.h". + (simple_displaced_step_copy_insn) + (simple_displaced_step_free_closure) + (displaced_step_at_entry_point): New functions. + * arch-utils.h (simple_displaced_step_copy_insn) + (simple_displaced_step_free_closure) + (displaced_step_at_entry_point): New prototypes. + + * i386-tdep.c (I386_MAX_INSN_LEN): Rename to... + (I386_MAX_MATCHED_INSN_LEN): ... this. + (i386_absolute_jmp_p, i386_absolute_call_p) + (i386_ret_p, i386_call_p, i386_breakpoint_p, i386_syscall_p) + (i386_displaced_step_fixup): New functions. + (struct i386_insn, i386_match_insn): Update. + (i386_gdbarch_init): Set gdbarch_max_insn_length. + * i386-tdep.h (I386_MAX_INSN_LEN): New. + (i386_displaced_step_fixup): New prototype. + * i386-linux-tdep.c (i386_linux_init_abi): Include "arch-utils.h". + Register gdbarch_displaced_step_copy, + gdbarch_displaced_step_fixup, gdbarch_displaced_step_free_closure, + and gdbarch_displaced_step_location functions. + + * infrun.c (debug_displaced): New variable. + (show_debug_displaced): New function. + (struct displaced_step_request): New struct. + (displaced_step_request_queue, displaced_step_ptid) + (displaced_step_gdbarch, displaced_step_closure) + (displaced_step_original, displaced_step_copy) + (displaced_step_saved_copy, can_use_displaced_stepping): New + variables. + (show_can_use_displaced_stepping, use_displaced_stepping) + (displaced_step_clear, cleanup_displaced_step_closure) + (displaced_step_dump_bytes, displaced_step_prepare) + (displaced_step_clear_cleanup, write_memory_ptid) + (displaced_step_fixup): New functions. + (resume): Call displaced_step_prepare. + (proceed): Call read_pc once, and remember the value. If using + displaced stepping, don't remove breakpoints. + (handle_inferior_event): Call displaced_step_fixup. Add some + debugging output. When we try to step over a breakpoint, but get + a signal to deliver to the thread instead, ensure the step-resume + breakpoint is actually inserted. If a thread hop is needed, and + displaced stepping is enabled, don't remove breakpoints. + (init_wait_for_inferior): Call displaced_step_clear. + (_initialize_infrun): Add "set debug displaced" command. Add + "maint set can-use-displaced-stepping" command. Clear + displaced_step_ptid. + * inferior.h (debug_displaced): Declare variable. + (displaced_step_dump_bytes): Declare function. + + * Makefile.in (arch-utils.o, i386-linux-tdep.o): Update + dependencies. + +2008-05-02 Daniel Jacobowitz + + * arm-tdep.c (arm_mode_strings, arm_fallback_mode_string) + (arm_force_mode_string, arm_show_fallback_mode) + (arm_show_force_mode): New. + (arm_pc_is_thumb): Honor fallback-mode and force-mode. Use + arm_frame_is_thumb. + (_initialize_arm_tdep): Add "set arm fallback-mode" + and "set arm force-mode". + * NEWS: Document new commands. + +2008-05-02 Andrew Stubbs + + * main.h (batch_silent): Declare. + * event-top.c: Include main.h. + (gdb_setup_readline): Remove extern batch_silent declaration. + * infrun.c (normal_stop): Don't print source location when running in + --batch-silent mode. + * Makefile.in (event-top.o): Add main.h dependency. + +2008-05-02 Andreas Schwab + + * target.h (struct target_ops): Add + to_watchpoint_addr_within_range. + (target_watchpoint_addr_within_range): New function. + * target.c (update_current_target): Inherit + to_watchpoint_addr_within_range, defaulting to + default_watchpoint_addr_within_range. + (default_watchpoint_addr_within_range): New function. + (debug_to_watchpoint_addr_within_range): New function. + (setup_target_debug): Set to_watchpoint_addr_within_range. + * ppc-linux-nat.c (ppc_linux_watchpoint_addr_within_range): + New function. + (_initialize_ppc_linux_nat): Set to_watchpoint_addr_within_range. + * breakpoint.c (watchpoints_triggered): Use + target_watchpoint_addr_within_range. + +2008-05-01 Pedro Alves + + * configure.tgt: Add i[34567]86-*-dicos* and x86_64-*-dicos*. + (i[34567]86-*-dicos*, x86_64-*-dicos*): + Set gdb_osabi to GDB_OSABI_DICOS. + + * defs.h (enum gdb_osabi): Add GDB_OSABI_DICOS. + * osabi.c (gdb_osabi_name): Add "DICOS". + + * i386-dicos-tdep.c: New file. + + * Makefile.in (ALL_TARGET_OBS): Add i386-dicos-tdep.o. + (ALLDEPFILES): Add i386-dicos-tdep.c. + (i386-dicos-tdep.o): New rule. + +2008-05-01 Pedro Alves + + * linux-nat.c (linux_nat_switch_fork): Reinit GDB's thread list + and register the fork's PTID as a thread. + +2008-05-01 Aleksandar Ristovski + + PR gdb/1665 + * breakpoint.c (create_breakpoint): Add breakpoint_ops argument and + assign its value to the breakpoint created. + (create_breakpoints): Add breakpoint_ops argument and pass it + to create_breakpoint call. + (break_command_really): Add breakpoint_ops argument and pass/assign + appropriately. + (break_command_1): Pass NULL as ops argument. + (set_breakpoint): Pass NULL as ops argument. + (print_one_exception_catchpoint): Print if no loc available. + (handle_gnu_v3_exceptions): Call generic breakpoint code to insert + catch and throw catchpoints. + +2008-05-01 Aleksandar Ristovski + + PR gdb/2343 + * corelow.c (core_open): Use gdbarch_target_signal_from_host to + translate signal numeric value from the target to GDB's enum + target_signal. + * gdbarch.c, gdbarch.h: Regenerated. + * gdbarch.sh: Added two new functions target_signal_from_host and + target_signal_to_host. + * target.h (default_target_signal_from_host, + default_target_signal_to_host): New functions - declarations. + * signals/signals.c (struct gdbarch): New declaration. + (default_target_signal_to_host, default_target_signal_from_host): New + functions. + +2008-05-01 Daniel Jacobowitz + Pedro Alves + + Based on work by Jan Kratochvil and Jeff + Johnston . + + * NEWS: Mention attach to stopped process fix. + * infcmd.c (detach_command, disconnect_command): Discard the thread + list. + * infrun.c (handle_inferior_event): Do not ignore non-SIGSTOP while + attaching. Use signal_stop_state. + (signal_stop_state): Check stop_soon. + * linux-nat.c (kill_lwp): Declare earlier. + (pid_is_stopped, linux_nat_post_attach_wait): New. + (lin_lwp_attach_lwp): Use linux_nat_post_attach_wait. Update + comments. + (linux_nat_attach): Use linux_nat_post_attach_wait. + (detach_callback, linux_nat_detach): Improve handling for signalled + processes. + (linux_nat_pid_to_str): Always print out the LWP ID if it differs + from the process ID. + * Makefile.in (infcmd.o): Update. + +2008-05-01 Daniel Jacobowitz + + * arm-linux-tdep.h (ARM_CPSR_REGNUM): Delete definition. + * arm-tdep.c (arm_frame_is_thumb): New. + (arm_pc_is_thumb): Clarify comment. + (thumb_analyze_prologue): Remove PC special case. + (thumb_scan_prologue): Take a block_addr argument. Use it for + find_pc_partial_function. Remove unused variables. + (arm_scan_prologue): Use arm_frame_is_thumb. Use the block address + for find_pc_partial_function. Remove PC special case. + (arm_prologue_prev_register): Add special handling for PC and CPSR. + (arm_dwarf2_prev_register, arm_dwarf2_frame_init_reg): New. + (arm_get_next_pc): Use arm_frame_is_thumb. + (arm_write_pc): Use CPSR_T instead of 0x20. + (arm_gdbarch_init): Call dwarf2_frame_set_init_reg. + * arm-tdep.h (enum gdb_regnum): Add ARM_CPSR_REGNUM. + (CPSR_T): Define. + * dwarf2-frame.c (dwarf2_frame_prev_register): Handle + DWARF2_FRAME_REG_FN. + * dwarf2-frame.h (enum dwarf2_frame_reg_rule): Add + DWARF2_FRAME_REG_FN. + (struct dwarf2_frame_state_reg): Add FN to loc union. + +2008-05-01 Nick Roberts + + * exec.c (print_section_info): Add missing '\n'. + +2008-05-01 Vladimir Prus + + * thread.c (add_thread): Move observer call to ... + (add_thread_silent): ... here. + +2008-04-30 Ulrich Weigand + + * rs6000-tdep.c: Update for unwinder changes. + * ppcobsd-tdep.c: Likewise. + +2008-04-30 Ulrich Weigand + + * s390-tdep.c: Update for unwinder changes. + +2008-04-30 Ulrich Weigand + + * spu-tdep.c: Update for unwinder changes. + +2008-04-30 Daniel Jacobowitz + + * hppanbsd-tdep.c, m68kbsd-tdep.c, mn10300-linux-tdep.c, + ppc-linux-tdep.c, ppcnbsd-tdep.c, sparc-linux-tdep.c, + sparc64-linux-tdep.c: Update for unwinder changes. + +2008-04-30 Daniel Jacobowitz + + * mipsnbsd-tdep.c, mips64obsd-tdep.c, mips-linux-tdep.c: Update + for unwinder changes. + * mips-tdep.c: Likewise. + (mips_stub_frame_cache): Unwind the ABI stack pointer, not the + raw one. + +2008-04-30 Daniel Jacobowitz + + * arm-linux-tdep.c, arm-tdep.c, armobsd-tdep.c: Update for + unwinder changes. + +2008-04-30 Daniel Jacobowitz + + Update i386 and amd64 ports for unwinder changes. + + * amd64-tdep.c (amd64_frame_cache): Expect this_frame. + (amd64_frame_this_id, amd64_frame_prev_register): Update signature. + (amd64_frame_unwind): Use default_frame_sniffer. + (amd64_frame_sniffer): Delete. + (amd64_sigtramp_frame_cache): Expect this_frame. + (amd64_sigtramp_frame_this_id, amd64_sigtramp_frame_prev_register) + (amd64_sigtramp_frame_sniffer): Update signature. + (amd64_sigtramp_frame_unwind): Add amd64_sigtramp_frame_sniffer. + (amd64_frame_base_address): Expect this_frame. + (amd64_dummy_id): Renamed from amd64_unwind_dummy_id. Expect + this_frame. + (amd64_init_abi): Use set_gdbarch_dummy_id and + frame_unwind_append_unwinder. + * i386-tdep.c (i386_frame_cache): Expect this_frame. + (i386_frame_this_id, i386_frame_prev_register): Update signature. + (i386_frame_unwind): Use default_frame_sniffer. + (i386_frame_sniffer): Delete. + (i386_sigtramp_frame_cache): Expect this_frame. + (i386_sigtramp_frame_this_id, i386_sigtramp_frame_prev_register) + (i386_sigtramp_frame_sniffer): Update signature. + (i386_sigtramp_frame_unwind): Use i386_sigtramp_frame_sniffer. + (i386_frame_base_address): Update signature. + (i386_dummy_id): Rename from i386_unwind_dummy_id. Expect this_frame. + (i386_push_dummy_call): Update comment. + (i386_sigtramp_p, i386_svr4_sigtramp_p, i386_svr4_sigcontext_addr): + Expect this_frame. + (i386_gdbarch_init): Use set_gdbarch_dummy_id, dwarf2_append_unwinders, + and frame_unwind_append_unwinder. + * amd64-linux-tdep.c, amd64-sol2-tdep.c, amd64fbsd-tdep.c, + amd64nbsd-tdep.c, amd64obsd-tdep.c, i386-linux-tdep.c, + i386-nto-tdep.c, i386bsd-tdep.c, i386-sol2-tdep.c, i386obsd-tdep.c, + i386nbsd-tdep.c: Update for unwinder changes. + +2008-04-30 Daniel Jacobowitz + + * trad-frame.c (struct trad_frame_cache): Rename next_frame to this_frame. + (trad_frame_cache_zalloc, trad_frame_alloc_saved_regs): Expect + this_frame. + (trad_frame_get_prev_register, trad_frame_get_register): Update signature. + * trad-frame.h (trad_frame_cache_zalloc, trad_frame_get_register) + (trad_frame_alloc_saved_regs, trad_frame_get_prev_register): Update + signature. + * tramp-frame.c (tramp_frame_cache, tramp_frame_start): Expect + this_frame. + (tramp_frame_this_id, tramp_frame_prev_register, tramp_frame_sniffer): + Update signature. + * tramp-frame.h (struct tramp_frame): Update signature of init. + * Makefile.in (trad-frame.o): Update. + +2008-04-30 Daniel Jacobowitz + + * dwarf2-frame.c (read_reg): Expect this_frame in the baton. + (execute_stack_op): Put this_frame in the baton. + (execute_cfa_program): Take this_frame. + (struct dwarf2_frame_ops): Update comment for signal_frame_p. + (dwarf2_frame_default_init_reg, dwarf2_frame_init_reg) + (dwarf2_frame_signal_frame_p, dwarf2_frame_cache) + (dwarf2_frame_this_id): Adjust to work on this_frame. + (dwarf2_signal_frame_this_id): Delete. + (dwarf2_frame_prev_register): Update signature. Use new frame + unwind methods. + (dwarf2_frame_sniffer): Update signature. Expect this_frame. + (dwarf2_frame_unwind, dwarf2_signal_frame_unwind): Add + dwarf2_frame_sniffer. + (dwarf2_append_unwinders): New. + (dwarf2_frame_base_address, dwarf2_frame_base_sniffer): Expect + this_frame. + * sparc-tdep.c (sparc32_dwarf2_struct_return_p) + (sparc32_dwarf2_frame_init_reg): Expect this_frame. + * cris-tdep.c (cris_dwarf2_frame_init_reg): Likewise. + * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): Likewise. + * s390-tdep.c (s390_dwarf2_frame_init_reg): Likewise. + * sh-tdep.c (sh_dwarf2_frame_init_reg): Likewise. + * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise. + * dwarf2-frame.h (dwarf2_frame_sniffer): Delete declaration. + (dwarf2_append_unwinders): Declare. + (dwarf2_frame_base_sniffer): Update declaration. + * i386-linux-tdep.c (i386_linux_dwarf_signal_frame_p): Expect + this_frame. + +2008-04-30 Daniel Jacobowitz + + Convert frame unwinders to use the current frame and + "struct value". + + * frame.c (frame_debug): Make global. + (get_frame_id): Pass this frame to unwinder routines. + (frame_pc_unwind): Remove unused unwind->prev_pc support. + (do_frame_register_read): Do not discard the return value of + frame_register_read. + (frame_register_unwind): Remove debug messages. Use + frame_unwind_register_value. + (frame_unwind_register_value, get_frame_register_value): New + functions. + (create_new_frame, get_frame_base_address, get_frame_locals_address) + (get_frame_args_address, get_frame_type): Pass this frame to + unwinder routines. + (frame_cleanup_after_sniffer, frame_prepare_for_sniffer): New + functions. + * frame.h: Update comments. + (frame_debug, frame_unwind_register_value, get_frame_register_value) + (frame_prepare_for_sniffer): Declare. + * frame-unwind.h: Update comments and parameter names. + (default_frame_sniffer): Declare. + (frame_prev_register_ftype): Return a struct value *. + (struct frame_unwind): Remove prev_pc member. + (frame_unwind_sniffer_ftype, frame_unwind_append_sniffer): Delete. + (frame_unwind_append_unwinder, frame_unwind_got_optimized) + (frame_unwind_got_register, frame_unwind_got_memory) + (frame_unwind_got_constant, frame_unwind_got_address): Declare. + * frame-base.h: Update comments and parameter names. + * valops.c (value_fetch_lazy): Use get_frame_register_value. Iterate + if necessary. Add debugging output. + * sentinel-frame.c (sentinel_frame_prev_register) + (sentinel_frame_this_id): Update for new signature. + (sentinel_frame_prev_pc): Delete. + (sentinel_frame_unwinder): Remove prev_pc. + * ia64-tdep.c (ia64_libunwind_frame_unwind): Do not initialize + prev_pc. + * libunwind-frame.c (libunwind_frame_unwind): Likewise. + * frame-unwind.c (struct frame_unwind_table_entry): Remove sniffer. + (frame_unwind_append_sniffer): Delete. + (frame_unwind_append_unwinder): New function. + (frame_unwind_find_by_frame): Take this frame. Only use sniffers + from unwinders. Use frame_prepare_for_sniffer. + (default_frame_sniffer, frame_unwind_got_optimized) + (frame_unwind_got_register, frame_unwind_got_memory) + (frame_unwind_got_constant, frame_unwind_got_address): New functions. + * dummy-frame.c (dummy_frame_sniffer): Use gdbarch_dummy_id. + (dummy_frame_prev_register, dummy_frame_this_id): Update for new + signature. + * gdbarch.sh: Replace unwind_dummy_id with dummy_id. + * gdbarch.c, gdbarch.c: Regenerated. + * frame-base.c (default_frame_base_address) + (default_frame_locals_address, default_frame_args_address): Update + for new signature. + (frame_base_find_by_frame): Pass this frame to unwinder routines. + * infcall.c (call_function_by_hand): Update comments. + * Makefile.in (frame-unwind.o): Update dependencies. + +2008-04-30 Daniel Jacobowitz + + * ada-lang.c (ada_value_primitive_packed_val): Only check + value_lazy for memory lvals. + * findvar.c (value_of_register_lazy): New function. + (locate_var_value): Only check value_lazy for memory lvals. + * valarith.c (value_subscripted_rvalue): Likewise. + * valops.c (value_fetch_lazy): Handle both memory and register + lvals. + (search_struct_field, value_slice): Only check value_lazy for memory + lvals. + * value.c (struct value): Update comment for lazy. + (value_primitive_field): Only check value_lazy for memory lvals. + * value.h (value_lazy): Update comment. + (value_of_register_lazy): Declare. + +2008-04-30 Daniel Jacobowitz + + * corefile.c (reopen_exec_file): Close any open files. + +2008-04-29 Joel Brobecker + + * ia64-tdep.c (ia64_memory_remove_breakpoint): Set + show_memory_breakpoints to 1 while reading the instruction bundle. + +2008-04-29 Joel Brobecker + + * gdbarch.sh: Document the return_value method. Explain that + the FUNCTYPE parameter might be NULL. + * gdbarch.h: Regenerated. + * sparc-tdep.c (sparc32_push_dummy_code): Do not pass the function + type when calling using_struct_return, as this is unnecessary + on this target. + +2008-04-28 Joel Brobecker + + * terminal.h (create_tty_session): Fix return type. + +2008-04-26 Vladimir Prus + + * mi/mi-interp.c (mi_new_thread): Quote the thread id. + +2008-04-26 Joel Brobecker + + * breakpoint.c (condition_command, commands_from_control_command) + (break_command_really): Minor reformatting. + +2008-04-25 Pedro Alves + + * dwarf2read.c (dwarf2_const_value): Handle DW_FORM_strp. + +2008-04-25 Pedro Alves + + * amd64-tdep.c (amd64_get_longjmp_target): New. + (amd64_init_abi): Register amd64_get_longjmp_target as + gdbarch_get_longjmp_target callback. + * i386-tdep.c (i386_get_longjmp_target): Remove 64-bit handling. + +2008-04-25 Pedro Alves + + * breakpoint.h (enum bpstat_what_main_action): Delete + BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE. + + * breakpoint.c (clrs): Delete. + (bpstat_what): Update table. + + * infrun.c (handle_inferior_event): Remove + BPSTAT_WHAT_CLEAR_LONGJMP_RESUME_SINGLE handling. + +2008-04-24 Vladimir Prus + + * mi/mi-cmds.h (mi_cmd_args_ftype): Remove. + Adjust all prototypes using mi_cmd_args_ftype to use + mi_cmd_argv_ftype. + (struct mi_cmd): Remove the args_func field. + * mi/mi-cmds.c: Don't provide value for the args_func field. + * mi/mi-main.c (mi_execute_async_cli_command) + (mi_cmd_exec_run, mi_cmd_exec_next, mi_cmd_exec_next_instruction) + (mi_cmd_exec_step, mi_cmd_exec_step_instruction) + (mi_cmd_exec_finish, mi_cmd_exec_until, mi_cmd_exec_return) + (mi_cmd_exec_continue, mi_cmd_exec_interrupt) + (mi_cmd_target_download): Adjust. + (mi_cmd_target_select): Adjust. Pass 0 for from_tty parameter. + (mi_cmd_execute): Do not check for args_func. + (mi_execute_async_cli_command): Adjust. + * mi/mi-parse.c: Don't check for args_func. + +2008-04-24 Vladimir Prus + + * breakpoint.c (bpstat_check_location) + (bpstat_check_watchpoint, bpstat_check_breakpoint_conditions): + New, extracted from bpstat_stop_status. + (bpstat_stop_status): Use the above. + +2008-04-24 Vladimir Prus + + * mi/mi-main.c (last_async_command): Rename to current_token. + (previous_async_command): Remove. + (mi_cmd_gdb_exit): Adjust. + (mi_cmd_exec_interrupt): Don't dance with previous_async_command. + (mi_cmd_target_select): Adjust. + (mi_cmd_execute): Don't set previous_async_command. Free token + here even in async mode. + (mi_execute_async_cli_command): Adjust. + (mi_exec_async_cli_cmd_continuation): Adjust. Do not free the + token. + (mi_load_progress): Adjust. + +2008-04-24 Vladimir Prus + + * infcmd.c (step_1_continuation): Always disable longjmp + breakpoint if we're not going to do another step. + +2008-04-24 Vladimir Prus + + exec_cleanup murder. + * breakpoint.c (until_break_command_continuation): Add + the 'error' parameter. Directly delete the breakoint as + opposed to running cleanups. + (until_break_command): Install continuation only + after starting the target. Don't use exec cleanups, + use ordinary cleanups. Discard cleanups is successfully + started the target in async mode. + (make_cleanup_delete_breakpoint): Remove. + * breakpoint.h (make_cleanup_delete_breakpoint): Remove + declaration. + * defs.h (do_exec_cleanups, make_exec_cleanup): Remove + declarations. + (struct continations): Add the 'error' parameter to the + continuation_hook field. + (add_continuation, do_all_continuations) + (add_intermediate_continuation) + (do_all_intermediate_continuations): Add the 'error' parameter. + * exceptions.c (throw_exception): Don't call do_exec_cleanups. + * inf-loop.c (inferior_event_handler): Instead of calling + discard_all_continuations, use do_all_continuations with 1 as + 'error' parameter. Pass 0 as 'error' parameter in existing uses + of discard_all_continuations. + * infcmd.c (step_1): Do not use exec cleanup. For async case, discard + cleanups. + (step_once): Install continuation only after resuming the target. + (step_1_continuation): Disable longjmp breakpoint on error. + (finish_command_continuation): Add the error parameter. Delete + the finish breakpoint directly, do not use cleanups. + (finish_command): Do not use exec_cleanups. Always setup + continuation. For sync case, immediately run them. + (attach_command_continuation): Add the error parameter. + * infrun.c (fetch_inferior_event): Do not use exec cleanups to + remove step_resume_breakpoint -- adjust delete it directly. + * interps.c (interp_set): Adjust call to do_all_continations. + * mi/mi-interp.c (mi_interpreter_exec_continuation): Do not + do exec cleanups. + * mi/mi-main.c (mi_cmd_target_select): Do not do exec + cleanups. + (mi_cmd_execute): Do not use exec_cleanup. + (mi_execute_async_cli_command): Simplify the string concatenation + logic. Do no use exec cleanup. + (mi_exec_async_cli_cmd_continuation): New parameter error. + Free last_async_command. + * top.c (command_line_handler_continuation): New parameter error. + * utils.c (exec_cleanup_chain, make_exec_cleanup) + (do_exec_cleanups): Remove. + (add_continuation, do_all_continations) + (add_intermediate_continuation) + (do_all_intermediate_continuations): New parameter error. + +2008-04-24 Vladimir Prus + + * breakpoint.h (bp_location_p): New typedef. + Register a vector of bp_location_p. + * breakpoint.c (always_inserted_mode) + (show_always_inserted_mode): New. + (unlink_locations_from_global_list): Remove. + (update_global_location_list) + (update_global_location_list_nothrow): New. + (update_watchpoint): Don't free locations. + (should_insert_location): New. + (insert_bp_location): Use should_insert_location. + (insert_breakpoint_locations): Copied from + insert_breakpoints. + (insert_breakpoint): Use insert_breakpoint_locations. + (bpstat_stop_status): Call update_global_location_list + when disabling breakpoint. + (allocate_bp_location): Don't add to bp_location_chain. + (set_raw_breakpoint) + (create_longjmp_breakpoint, enable_longjmp_breakpoint) + (disable_longjmp_breakpoint, create_overlay_event_breakpoint) + (enable_overlay_breakpoints, disable_overlay_breakpoints) + (set_longjmp_resume_breakpoint) + (enable_watchpoints_after_interactive_call_stop) + (disable_watchpoints_before_interactive_call_start) + (create_internal_breakpoint) + (create_fork_vfork_event_catchpoint) + (create_exec_event_catchpoint, set_momentary_breakpoint) + (create_breakpoints, break_command_1, watch_command_1) + (create_exception_catchpoint) + (handle_gnu_v3_exceptions) + (disable_breakpoint, breakpoint_re_set_one) + (create_thread_event_breakpoint, create_solib_event_breakpoint) + (create_ada_exception_breakpoint): : Don't call check_duplicates. + Call update_global_location_list. + (delete_breakpoint): Don't remove locations and don't + try to reinsert them. Call update_global_location_list. + (update_breakpoint_locations): Likewise. + (restore_always_inserted_mode): New. + (update_breakpoints_after_exec): Temporary disable + always inserted mode. + * Makefile.in: Update dependencies. + + * infrun.c (proceed): Remove breakpoints while stepping + over breakpoint. + (handle_inferior_event): Don't remove or insert + breakpoints. + * linux-fork.c (checkpoint_command): Remove breakpoints + before fork and insert after. + (linux_fork_context): Remove breakpoints before switch + and insert after. + * target.c (target_disconnect, target_detach): Remove + breakpoints from target. + + +2008-04-24 Vladimir Prus + + * breakpoint.c (print_one_breakpoint_location): In MI + mode, report the location string the breakpoint was + originally created with. + +2008-04-23 Maxim Grigoriev + + * Makefile.in (xtensa-tdep.o): Update dependencies. + * configure.tgt (xtensa*): Update dependencies. + * xtensa-tdep.c (arreg_number): Renamed from areg_number. + Local variable areg renamed to arreg. + (areg_number): New function. + (xtensa_pseudo_register_read, xtensa_pseudo_register_write) + (xtensa_extract_return_value, xtensa_store_return_value): areg_number + replaced by arreg_number. + (xtensa_windowed_frame_cache, struct xtensa_frame_cache): New comments. + (xtensa_alloc_frame_cache): Initialize cache->wd.ws. + (xtensa_scan_prologue): New function. + (xtensa_frame_cache): New local fp_regnum. Handle separately the case, + when ENTRY instraction hasn't been executed yet. Get the frame pointer + value based on prologue analysis. Fix the bugs preventing WS and + AR4-AR7/A11 registers from getting right values for intermediate frames, + whose registers have been already spilled. + (xtensa_frame_prev_register): Fix WS register value. Use are_number + and arreg_number appropriately. + (xtensa_gdbarch_init): Set solib_svr4_fetch_link_map_offsets to + svr4_ilp32_fetch_link_map_offsets. + +2008-04-23 Andrew Stubbs + + * printcmd.c: Define USE_PRINTF_I64 and PRINTF_HAS_LONG_LONG on MinGW. + (printf_command): Convert %lld to %I64d when USE_PRINTF_I64 set. + +2008-04-23 Paolo Bonzini + + * acinclude.m4: Add override.m4. + * configure: Regenerate. + +2008-04-22 Jan Kratochvil + + * ada-lang.c (get_selections): Variable PROMPT made non-const and + initialized with a trailing space now. Use PROMPT_ARG of + COMMAND_LINE_INPUT instead of printing it ourselves. + +2008-04-22 Joel Brobecker + + * NEWS: Document support for 64-bit core file. + +2008-04-22 Corinna Vinschen + + * NEWS: Add information on calling convention and new SH CLI options. + + * sh-tdep.c (sh_cc_gcc): New static string. + (sh_cc_renesas): Ditto. + (sh_cc_enum): New static string array. + (sh_active_calling_convention): New static string pointer denoting + active user chosen ABI. + (sh_is_renesas_calling_convention): New function to return function + specific ABI, or user choice if necessary. + (sh_use_struct_convention): Rename first argument and turn around its + meaning. Check for renesas ABI and return accordingly. + (sh_use_struct_convention_nofpu): New function. + (sh_next_flt_argreg): Get function type as third parameter. Check + for renesas ABI and choose floating registers accordingly. + (sh_push_dummy_call_fpu): Check for ABI and choose argument slot and + struct return slot accordingly. + (sh_push_dummy_call_nofpu): Ditto. + (sh_return_value_nofpu): Call sh_use_struct_convention_nofpu from here. + Evaluate ABI and give to sh_use_struct_convention_nofpu. + (sh_return_value_fpu): Evaluate ABI and give to + sh_use_struct_convention. + (show_sh_command): New function. + (set_sh_command): Ditto. + (_initialize_sh_tdep): Initialize `set/show sh calling-convention + CLI command. + + * gdbarch.sh (return_value): Add func_type argument. + * gdbarch.c: Regenerate. + * gdbarch.h: Ditto. + * eval.c (evaluate_subexp_standard): Rename local variable value_type to + val_type so as not to collide with value_type function. Call + using_struct_return with additional function type argument. + * infcall.c (call_function_by_hand): Call using_struct_return and + gdbarch_return_value with additional function type argument. + * infcmd.c (print_return_value): Take addition func_type argument. + Call gdbarch_return_value with additional function type argument. + (finish_command_continuation): Call print_return_value with additional + function type argument. + (finish_command): Ditto. + * sparc-tdep.c (sparc32_push_dummy_code): Call using_struct_return with + additional function type argument. + * stack.c (return_command): Call using_struct_return and + gdbarch_return_value with additional function type argument. + * value.c (using_struct_return): Take additional function type argument. + * value.h (using_struct_return): Accommodate declaration. + * alpha-tdep.c (alpha_return_value): Add func_type argument. + * amd64-tdep.c (amd64_return_value): Ditto. + * arm-tdep.c (arm_return_value): Ditto. + * avr-tdep.c (avr_return_value): Ditto. + * cris-tdep.c (cris_return_value): Ditto. + * frv-tdep.c (frv_return_value): Ditto. + * h8300-tdep.c (h8300_return_value): Ditto. + (h8300h_return_value): Ditto. + * hppa-tdep.c (hppa32_return_value): Ditto. + (hppa64_return_value): Ditto. + * i386-tdep.c (i386_return_value): Ditto. + * ia64-tdep.c (ia64_return_value): Ditto. + * iq2000-tdep.c (iq2000_return_value): Ditto. + * m32c-tdep.c (m32c_return_value): Ditto. + * m32r-tdep.c (m32r_return_value): Ditto. + * m68hc11-tdep.c (m68hc11_return_value): Ditto. + * m68k-tdep.c (m68k_return_value): Ditto. + (m68k_svr4_return_value): Ditto. + * m88k-tdep.c (m88k_return_value): Ditto. + * mep-tdep.c (mep_return_value): Ditto. + * mips-tdep.c (mips_eabi_return_value): Ditto. + (mips_n32n64_return_value): Ditto. + (mips_o32_return_value): Ditto. + (mips_o64_return_value): Ditto. + * mn10300-tdep.c (mn10300_return_value): Ditto. + * mt-tdep.c (mt_return_value): Ditto. + * ppc-linux-tdep.c (ppc_linux_return_value): Ditto. + * ppc-sysv-tdep.c (ppc_sysv_abi_return_value): Ditto. + (ppc_sysv_abi_broken_return_value): Ditto. + (ppc64_sysv_abi_return_value): Ditto. + * ppc-tdep.h (ppc_sysv_abi_return_value): Ditto. + (ppc_sysv_abi_broken_return_value): Ditto. + (ppc64_sysv_abi_return_value): Ditto. + * ppcnbsd-tdep.c (ppcnbsd_return_value): Ditto. + * rs6000-tdep.c (rs6000_return_value): Ditto. + * s390-tdep.c (s390_return_value): Ditto. + * score-tdep.c (score_return_value): Ditto. + * sh-tdep.c (sh_return_value_nofpu): Ditto. + (sh_return_value_fpu): Ditto. + * sh64-tdep.c (sh64_return_value): Ditto. + * sparc-tdep.c (sparc32_return_value): Ditto. + * sparc64-tdep.c (sparc64_return_value): Ditto. + * spu-tdep.c (spu_return_value): Ditto. + * v850-tdep.c (v850_return_value): Ditto. + * vax-tdep.c (vax_return_value): Ditto. + * xstormy16-tdep.c (xstormy16_return_value): Ditto. + * xtensa-tdep.c (xtensa_return_value): Ditto. + + * gdbtypes.h (struct type): Add calling_convention member. + * dwarf2read.c (read_subroutine_type): Add calling convention read + from DW_AT_calling_convention attribute to function type. + +2008-04-22 Markus Deuling + + * eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for + multi_f77_subscript to support values from registers. + * valarith.c (value_subscripted_rvalue): Remove prototype and static. + * value.h (value_subscripted_rvalue): Add prototype. + + * f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION. + Fix output. + * f-valprint.c (f_val_print): Likewise. + +2008-04-21 Craig Silverstein + + * dwarf2read.c (zlib_decompress_section): Define abfd in the + !HAVE_ZLIB_H case. + +2008-04-21 Pedro Alves + + * symfile.c (syms_from_objfile): Don't warn if lowest loadable + section is not a code section. + +2008-04-19 Craig Silverstein + + * NEWS: Add information on compressed debug sections. + +2008-04-19 Vladimir Prus + + * mi/mi-cmd-var.c (varobj_update_one): Print new + value for variable objects that changed type. + +2008-04-19 Vladimir Prus + + * varobj.c (varobj_invalidate): Don't touch floating + varobjs. + +2008-04-19 Mark Kettenis + + * symtab.c: (multiple_symbols_modes, multiple_symbols_ask) + (multiple_symbols_cancel): Remove extra const. + * symtab.h: Likewise. + +2008-04-19 Nick Roberts + + * interps.c (top_level_interpreter): Rename static variable... + (top_level_interpreter_ptr): ...to this. + (top_level_interpreter): New function. + + * interps.h: New extern for top_level_interpreter. + + * linespec.c: Include interps.h and mi/mi-cmds.h. + (decode_line_2): When using MI, always set all breakpoints in menu. + + * Makefile.in (linespec.o, mi-interp.o): Add dependencies. + +2008-04-18 Craig Silverstein + + * configure.ac (AC_SEARCH_LIBS): Add check for zlib. + * config.in, configure: Regenerate. + * dwarf2read.c: Include zlib.h if present. + Modified *_SECTION macros. + (section_is_p): New. + (dwarf2_locate_sections): Use section_is_p instead of strcmp + (dwarf2_resize_section): New. + to determine whether a given section has a given name. + (zlib_decompress_section): New. + (dwarf2_read_section): Read the compressed section if present + in the binary. + * MAINTAINERS: Added myself to section Write After Approval. + +2008-04-18 Thiago Jung Bauermann + + * defs.h (exec_set_section_offsets): Remove prototype. + * exec.c (exec_set_section_offsets): Remove function. + +2008-04-18 Joel Brobecker + + * stabsread.c (cleanup_undefined_types_1): Add instance flags check + in the search for the matching symbol. + +2008-04-17 Marc Khouzam + + * breakpoint.c (update_watchpoint): Always reparse + condition. + +2008-04-17 Joel Brobecker + + * breakpoint.c (print_one_breakpoint_location): Make sure to print + the breakpoint address only once. + +2008-04-17 Dennis Roberts + + * rs6000-tdep.c (rs6000_gdbarch_init): Use the BFD architecture, + rather than a hard-coded architecture, for xcoff executables. + +2008-04-17 Doug Evans + + * buildsym.c (watch_main_source_file_lossage): New fn. + (end_symtab): Call it. + + * source.c (find_and_open_source): Add some comments clarifying + handling of FULLNAME argument. Make static. Remove pointless + xstrdup/xfree. + +2008-04-17 Pedro Alves + + * inf-loop.c (inferior_event_handler): Also run the intermediate + continuations in the INF_EXEC_COMPLETE case. + +2008-04-16 Tom Tromey + + * cli/cli-decode.h (CMD_ASYNC_OK): New define. + (set_cmd_async_ok, get_cmd_async_ok): Declare. + * cli/cli-decode.c (set_cmd_async_ok): New function. + (get_cmd_async_ok): New function. + * cli/cli-cmds.c (init_cli_cmds): Mark "pwd", "help", "info", and + "show" as async-ok. + * top.c (execute_command): Use get_cmd_async_ok. + * infcmd.c: Include cli/cli-decode.h. + (_initialize_infcmd): Mark "interrupt" as async-ok. + * Makefile.in (infcmd.o): Depend on cli_decode_h. + +2008-04-16 Daniel Jacobowitz + + PR gdb/2445 + * exec.c: Correct "arch-utils.h" include. + +2008-04-15 Aleksandar Ristovski + + PR gdb/2424 + * infrun.c (normal_stop) Move breakpoint_auto_delete further down + to allow printing to 'see' real reason of stop. This fixes PR 2424. + * breakpoint.c (bpdisp_texst): New function. The function takes over + the role of bpstats static array in print_one_breakpoint_location. + (print_it_typical): Print "Temporary breakpoint" instead + of just "Breakpoint" when breakpoint is, well, temporary. For mi-like + protocols, print disp field. + (print_one_breakpoint_location): Removed bpdisps static definition. + Call new bpstat_text function to get value for 'disp' field. + (mention): Print "Temporary breakpoint" instead of just "Breakpoint". + +2008-04-15 Daniel Jacobowitz + + * gnulib/Makefile.am, gnulib/m4/gnulib-cache.m4, + gnulib/aux/link-warning.h, gnulib/extra/link-warning.h: Adjust + by rerunning gnulib-tool with --aux-dir=gnulib/extra. + * gnulib/Makefile.in: Regenerate. + +2008-04-14 Daniel Jacobowitz + + * Makefile.in (GNULIB_H): New. Trigger all-lib. + (defs_h): Use $(GNULIB_H). + (all-lib): Depend on gnulib/Makefile. + (gnulib/Makefile): Regenerate gnulib/Makefile and gnulib/.deps. + * config.in, gnulib/Makefile.in: Regenerated. + +2008-04-14 Daniel Jacobowitz + + * Makefile.in (LIBGNU, INCGNU): Define. + (INTERNAL_CFLAGS_BASE): Add INCGNU. + (INTERNAL_LIBS, CLIBS, CDEPS): Add LIBGNU. + (CLEANDIRS): New. + ($(LIBGNU), all-lib): New rules. + (clean, distclean, do-maintainer-clean): Use CLEANDIRS. + * configure.ac: Use gl_EARLY, gl_INIT, and AM_INIT_AUTOMAKE. + Simplify AC_CONFIG_AUX_DIR. Generate gnulib/Makefile. + * gnulib: New directory, from gnulib-tool. + * configure, aclocal.m4: Regenerated. + +2008-04-14 Daniel Jacobowitz + + * linux-thread-db.c (have_threads_callback): Check thread->private. + +2008-04-13 Nick Roberts + Vladimir Prus + + Fix @-varobjs. + * varobj.c (value_of_root): Update the expression for + floating varobjs. + * mi/mi-cmd-var.c (varobj_update_one): If type has changed, + report that. + +2008-04-09 Marc Khouzam + + * mi/mi-cmd-var.c: Include "mi-getopt.h". + (mi_parse_format): New. Factored out from mi_cmd_var_set_format. + (mi_cmd_var_set_format): Use new mi_parse_format. + (mi_cmd_var_evaluate_expression): Support for -f option to specify + format. + * Makefile.in (mi-cmd-var.o): Update dependencies. + + * varobj.h (varobj_get_formatted_value): Declare. + * varobj.c (my_value_of_variable): Added format parameter. + (cplus_value_of_variable): Likewise. + (java_value_of_variable): Likewise. + (c_value_of_variable): Likewise. Evaluate expression based + on format parameter. + (struct language_specific): Add format parameter to function member + *value_of_variable. + (varobj_get_formatted_value): New. + (varobj_get_value): Added format parameter to method call. + +2008-04-08 Joel Brobecker + + * stabsread.c (cleanup_undefined_types_noname): Manually set the + instance flags of the undefined type before calling replace_type. + +2008-04-08 Vladimir Prus + + * target.h (enum strata): Remove the download_stratum. + +2008-04-07 Doug Evans + + * buildsym.h (last_source_file): Add dwarf info to comment. + (last_source_start_addr): Ditto. + +2008-04-07 Pedro Alves + + * alphanbsd-tdep.c: Include "target.h". + * mn10300-tdep.c: Include "target.h". + * Makefile.in (alphanbsd-tdep.o, mn10300-tdep.o): Update. + +2008-04-06 Vladimir Prus + + Fix breakpoint condition that use member variables. + * valops.c (check_field): Remove. + (check_field_in): Rename to check_field. + (value_of_this): Use la_name_of_this. + * value.h (check_field): Adjust prototype. + + * language.h (la_value_of_this): Rename to la_name_of_this. + * language.c (unknown_language_defn): Specify "this" for + name_of_this. + (auto_language_defn): Likewise. + (local_language_defn): Likewise. + * ada-lang.c (ada_language_defn): Adjust comment. + * c-lang.c (c_language_defn): Adjust comment. + (cplus_language_defn): Specify "this" for name_of_this. + (asm_language_defn): Adjust comment. + (minimal_language_defn): Adjust comment. + * f-lang.c (f_language_defn): Specify NULL for name_of_this. + * jv-lang.c (java_language_defn): Specify "this" for name_of_this. + * m2-lang.c (m2_language_defn): Specify "this" for name_of_this. + * objc-lang.c (objc_language_defn): Specify "self" for + name_of_this. + * p-lang.c (pascal_language_defn): Specify "this" for + name_of_this. + * scm-lang.c (scm_language_defn): Specify NULL for name_of_this. + + * symtab.c (lookup_symbol_aux): Lookup "this" in the + proper scope, and check for field in type of "this", without + trying to create a value. + +2008-04-04 Pedro Alves + + * mi/mi-cmds.h (enum mi_cmd_result): Delete MI_CMD_ERROR. + (mi_error_message): Delete declaration. + * mi/mi-interp.c (mi_cmd_interpreter_exec): Call error instead of + returning MI_CMD_ERROR. + * mi/mi-main.c (mi_error_message): Delete. + (mi_cmd_exec_interrupt): + (mi_cmd_thread_select, mi_cmd_thread_list_ids) + (mi_cmd_thread_info): Call error instead of returning + MI_CMD_ERROR. + (mi_cmd_data_list_register_values): Call error instead of + returning MI_CMD_ERROR. Adapt to new get_register interface. + (get_register): Change return typo to void. Call error instead of + returning MI_CMD_ERROR. + (mi_cmd_data_write_register_values): Call error instead of + returning MI_CMD_ERROR. + (mi_cmd_list_features): Return MI_CMD_DONE. + (captured_mi_execute_command): Remove MI_CMD_ERROR handling. + (mi_execute_command): Always print exceptions with -error. + +2008-04-04 Joel Brobecker + + * NEWS: Mention new commands set/show multiple-symbols. + +2008-04-03 Joel Brobecker + + * symtab.c (multiple_symbols_ask, multiple_symbols_all) + (multiple_symbols_cancel): New constants. + (multiple_symbols_modes, multiple_symbols_mode): New static globals. + (multiple_symbols_select_mode): New function. + (_initialize_symtab): Add new set/show multiple-symbols commands. + * symtab.h (multiple_symbols_ask, multiple_symbols_all) + (multiple_symbols_cancel, multiple_symbols_select_mode): Declare. + * ada-lang.c (user_select_syms): Add handling of new multiple-symbols + setting. + * linespec.c (decode_line_2): Likewise. + +2008-04-03 Doug Evans + + * symtab.h (enum free_code): Delete free_contents, unused. + * symmisc.c (free_symtab_block): Delete. + (free_symtab, case free_code): Delete. + +2008-04-01 Aleksandar Ristovski + + * valops.c (value_cast_structs): New function. Cast related + STRUCT types up/down and return cast value. The body of this + function comes mostly from value_cast_pointers. + (value_cast_pointers): Code for actual cast STRUCT-STRUCT moved + to value_cast_structs. Now value_cast_pointers needs only create + appropriate reference after using value_cast_structs for actual + casting. + (value_cast): Handle references. + +2008-04-01 Marc Khouzam + + * MAINTAINERS: Added myself to section Write After Approval. + +2008-03-30 Daniel Jacobowitz + + * ia64-tdep.c (examine_prologue): Correct array access. + +2008-03-28 Aleksandar Ristovski + + * cp-support.c (first_component_command): Return if no arguments. + +2008-03-28 Carlos O'Donell + + * ser-mingw.c (ser_windows_open): Open requested name. + +2008-03-28 Aleksandar Ristovski + + * MAINTAINERS: Added myself. + +2008-03-28 Pedro Alves + + * target.c (find_default_run_target): Allow a NULL `do_mesg' + parameter. If it is NULL, don't call error. + (find_default_can_async_p, find_default_is_async_p): Pass NULL as + `do_mesg' parameter to find_default_run_target. If no target was + found, return 0. + +2008-03-28 Daniel Jacobowitz + + * mips-linux-tdep.c: Update N32/N64 signal frame comments. + (N64_SIGCONTEXT_LO, N64_SIGCONTEXT_PC, N64_SIGCONTEXT_FPCSR): Update. + (N64_SIGCONTEXT_FIR, N64_SIGCONTEXT_CAUSE, N64_SIGCONTEXT_BADVADDR): + Delete. + (mips_linux_n32n64_sigframe_init): Do not record cause or badvaddr. + +2008-03-27 Joel Brobecker + + GDB 6.8 released. + +2008-03-27 Ulrich Weigand + + * features/Makefile (%.dat): Set xmltarget to the base filename + of the XML source, without subdirectory. + * regformats/rs6000/powerpc-32.dat: Regenerate. + * regformats/rs6000/powerpc-64.dat: Regenerate. + * regformats/rs6000/powerpc-e500.dat: Regenerate. + +2008-03-27 Markus Deuling + + * xcoffread.c (scan_xcoff_symtab): Replace current_gdbarch by + objfile arch. + +2008-03-27 Nick Roberts + + * mi/mi-main.c (enum captured_mi_execute_command_actions): + Spell suppress in EXECUTE_COMMAND_SUPPRESS_PROMPT correctly. + +2008-03-26 Ulrich Weigand + + * objfiles.h (struct objfile): New GDBARCH member. + (get_objfile_arch): Add prototype. + * objfiles.c: Include "arch-utils.h". + (allocate_objfile): Look up gdbarch associated with bfd. + (get_objfile_arch): New function. + * Makefile (objfiles.o): Update dependencies. + + * dwarf2-frame.c (decode_frame_entry_1): Replace current_gdbarch + by objfile arch. + * dwarf2loc.c (dwarf_expr_read_reg): Replace current_gdbarch + by frame arch. + (locexpr_describe_location): Replace current_gdbarch by + objfile arch. + * dwarf2read.c (die_type): Replace current_gdbarch by objfile arch. + (dwarf2_add_field): Likewise. + (read_tag_pointer_type): Likewise. + (read_base_type): Likewise. + (new_symbol): Likewise. + + * coffread.c (decode_type): Add OBJFILE argument. Update callers. + (decode_base_type, decode_function_type): Likewise. + (coff_read_struct_type, coff_read_enum_type): Likewise. + (coff_symtab_read): Replace current_gdbarch by objfile arch. + (decode_base_type): Likewise. + (coff_read_enum_type): Likewise. + (coff_read_struct_type): Replace current_objfile by OBJFILE argument. + (coff_read_enum_type): Likewise. + + * dbxread.c (read_dbx_symtab): Replace current_gdbarch by objfile arch. + (end_psymtab): Likewise. + (process_one_symbol): Likewise. + + * mdebugread.c (parse_symbol): Replace current_gdbarch by objfile arch. + (parse_procedure): Likewise. + (parse_partial_symbols): Likewise. + + * somread.c (som_symtab_read): Replace current_gdbarch by objfile arch. + + * stabsread.c (define_symbol): Replace current_gdbarch by objfile arch. + Replace static pcc_promotion_type and pcc_unsigned_promotion_type by + built-in types. + (read_range_type): Replace current_gdbarch by objfile arch. Replace + static range_index_type by built-in type. + (read_one_struct_field): Replace current_gdbarch by objfile arch. + (read_enum_type): Likewise. + + * xcoffread.c (read_xcoff_symtab): Replace current_gdbarch by + objfile arch. + +2008-03-26 Vladimir Prus + + * varobj.h (varobj_floating_p): Declare. + * varobj.c (varobj_floating_p): New. + * mi/mi-cmd-var.c (mi_cmd_var_update): When passed + '@' as the name, update all floating varobjs. + +2008-03-26 Vladimir Prus + + * varobj.c (struct varobj_root): Rename use_selected_frame to + floating, and clarify the meaning. + (varobj_create, varobj_update, new_root_variable): Adjust. + (value_of_root): Don't use type_changed as in variable, + adjust comment. + (c_value_of_root): Adjust. + +2008-03-25 Pedro Alves + + * linux-nat.c (linux_nat_attach): Add the pid we attached to, to + gdb's thread list. + (linux_nat_wait): Add main lwp to gdb's thread list. + * linux-thread-db.c (find_new_threads_callback): Also attach to + already listed threads which thread_db didn't know about yet. + +2008-03-25 Pedro Alves + + * linux-nat.c (drain_queued_events): Fix comment typo. + (linux_nat_attach): In async mode, don't rely on storing a pending + status. Instead place the wait status on the pipe. + (linux_nat_resume): Remove unreacheable shortcut code in async + mode. + (stop_wait_callback): In async mode, don't store pending status. + Instead, cancel breakpoints or resend the signal appropriatelly. + (cancel_breakpoint): New, refactored from + cancel_breakpoints_callback. + (cancel_breakpoints_callback): Call cancel_breakpoint. + (pipe_to_local_event_queue): Remove special token processing. + (linux_nat_wait): Issue an internal error if a pending status is + found in async mode. + +2008-03-24 Daniel Jacobowitz + + * inflow.c (gdb_has_a_terminal): Guard access to our_process_group. + +2008-03-24 Nick Roberts + Vladimir Prus + + * varobj.c (struct varobj_root): New component thread_id. + (varobj_get_thread_id, check_scope): New functions. + (c_value_of_root): Use check_scope. Switch to the + proper thread if necessary. + + * varobj.h (varobj_get_thread_id): New extern. + + * mi/mi-cmd-var.c (print_varobj): Add thread-id field. + +2008-03-23 Daniel Jacobowitz + + PR gdb/544 + * top.c: Revert 2008-03-21 changes. + +2008-03-23 Vladimir Prus + + * thread.c (make_cleanup_restore_current_thread): Make it + globally visible. + * gdbthread.h (make_cleanup_restore_current_thread): Declare. + * varobj.c (varobj_update): Don't save/restore frame. + (c_value_of_root): Save/restore thread and frame here, + using make_cleanup_restore_current_thread. + * Makefile.in: Update dependecies. + +2008-03-23 Vladimir Prus + + * varobj.c (struct varobj_root): Clarify + comment on the frame field. + (varobj_create): Don't set frame if we have no + block. + +2008-03-21 Daniel Jacobowitz + + PR gdb/544 + Suggested by Jan Kratochvil: + * top.c (gdb_rl_operate_and_get_next_completion): Call + rl_redisplay_function. + (gdb_rl_redisplay): New. + (init_main): Set rl_redisplay_function. + +2008-03-21 Thomas Mittelstaedt (tiny change) + + * aix-thread.c (pdc_read_regs): Fix compiler warning. + (pdc_write_regs, aix_thread_resume, fetch_regs_kernel_thread) + (store_regs_kernel_thread): Likewise. + +2008-03-21 Pedro Alves + + Linux native async support. + + * target.h (struct target_ops): Delete to_async_mask_value and add + to_async_mask. + (target_is_async_p, target_async): Formatting. + (target_async_mask_value): Delete. + (target_async_mask): Delete function declaration, and add new + target macro with the same name. + + * target.c (update_current_target): Replace to_async_mask_value by + to_async_mask. Default to_async_mask to return_one. + (target_async_mask): Delete. + (find_default_can_async_p, find_default_is_async_p): New. + (init_dummy_target): register find_default_can_async_p and + find_default_is_async_p on the dummy target. + + * linux-nat.c: Include inf-loop.h, event-loop.h and event-top.h. + (debug_linux_nat_async): New global. + (show_debug_linux_nat_async): New function. + (linux_nat_async_enabled, linux_nat_async_mask_value) + (linux_nat_event_pipe, linux_nat_num_queued_events) + (linux_nat_async_events_enabled): New globals. + (struct waitpid_result): New struct. + (waitpid_queue): New global. + (queued_waitpid, push_waitpid, drain_queued_events): New. + (my_waitpid): Call queued_waitpid. + (linux_child_follow_fork): Disable async events during the call. + (blocked_mask): Delete. + (sync_sigchld_action, async_sigchld_action): New globals. + (lin_lwp_attach_lwp): In sync mode, don't reblock SIGCHLD. In + async mode, block events during the call. + (linux_nat_create_inferior): New. + (linux_nat_attach): In sync mode, restore the mask states. In + async mode, wake the event loop immediatelly. + (detach_callback): Drain all queued events of the lwp we're + detaching from. + (linux_nat_detach): Block async mode, and drain events of the main + process. + (linux_nat_resume): If in async mode, mask async events during the + call. If short circuiting, force event loop to wake up. If + resuming, set target_executing, and register target events in the + event loop. + (pipe_to_local_event_queue, local_event_queue_to_pipe): New. + (linux_nat_wait): In async mode, block events during the call. + Only enable/disable passing SIGINT to the inferior in sync mode. + Get events from local waitpid queue. If no interesting events was + found, return to events loop. Reregister target events in the + event loop on exit. In sync mode, no need to reblock SIGCHLD. + (linux_nat_kill): Disable events on entry. + (linux_nat_mourn_inferior): In sync mode, don't restore the masks + here. Detach async mode from the event loop if there are no more + forks available, otherwise leave it on. + (sigchld_handler): Assure this is called only in sync mode. + (linux_async_permitted, linux_async_permitted_1): New globals. + (set_maintenance_linux_async_permitted) + (show_maintenance_linux_async_permitted): New functions. + (linux_nat_is_async_p, linux_nat_can_async_p) + (linux_nat_async_mask): New. + (linux_nat_event_pipe_pop, linux_nat_event_pipe_push): New. + (get_pending_events, async_sigchld_handler): New. + (linux_nat_async_events): New. + (async_terminal_is_ours): New global. + (linux_nat_terminal_inferior, linux_nat_terminal_ours): New. + (async_client_callback, async_client_context): New. + (linux_nat_async_file_handler, linux_nat_async) + (linux_nat_disable_async, linux_nat_enable_async): New. + (linux_nat_add_target): Register linux_nat_create_inferior, + linux_nat_can_async_p, linux_nat_is_async_p, linux_nat_async, + linux_nat_async_mask, linux_nat_terminal_inferior and + linux_nat_terminal_ours. + (_initialize_linux_nat): Remove local action variable, and update + code that used it to use sync_sigchld_action. Add new + "lin-lwp-async" debug set/show command. Put the "lin-lwp" debug + set/show command in the maintenance class. Add new "linux-async" + maintenance set/show command. Block SIGCHLD by default. Setup + async_sichld_action, and sync_sigchld_action. Install the default + async mode. + (lin_thread_get_thread_signals): Use a local sigset_t for blocking + the cancel signals. + + * linux-thread-db.c (re_check_for_thread_db): New. + (clear_lwpid_callback): Handle TARGET_WAITKIND_IGNORE. + (thread_db_can_async_p, thread_db_is_async_p, thread_db_async) + (thread_db_async_mask): New. + (init_thread_db_ops): Register thread_db_can_async_p, + thread_db_is_async_p, thread_db_async and thread_db_async_mask. + + * remote.c (remote_async_mask_value): New. + (remote_return_zero): New. + (init_remote_ops): Register remote_return_zero as callbacks of + to_can_async_p and to_is_async_p. + (remote_can_async_p, remote_is_async_p, remote_async): Update to + use remote_async_mask_value. + (remote_async_mask): New. + (init_remote_async_ops): Remove to_async_mask_value setting and + register remote_async_mask as to_async_mask callback in + remote_async_ops. + + * Makefile.in (linux-nat.o): Update. + +2008-03-21 Daniel Jacobowitz + + * gdbthread.h (add_thread_with_info): New. + * linux-thread-db.c: Add some documentation. + (GET_LWP, GET_PID, GET_THREAD, is_lwp, is_thread, BUILD_LWP): Delete. + (struct private_thread_info): Remove th_valid and ti_valid. + Replace ti with tid. + (thread_get_info_callback): Do not add TID to the new ptid. Do + not cache th or ti. + (thread_db_map_id2thr, lwp_from_thread): Delete functions. + (thread_from_lwp): Assert that the LWP is set. Do not add TID to the + new PTID. + (attach_thread): Handle an already-existing thread. Use + add_thread_with_info. Cache the th and tid. + (detach_thread): Verify that private was set. Remove verbose + argument and printing. Update caller. + (thread_db_detach): Do not adjust inferior_ptid. + (clear_lwpid_callback, thread_db_resume, thread_db_kill): Delete. + (check_event, find_new_threads_callback): Do not add TID to the new PTID. + (thread_db_wait): Do not use lwp_from_thread. + (thread_db_pid_to_str): Use the cached TID. + (thread_db_extra_thread_info): Check that private is set. + (same_ptid_callback): Delete. + (thread_db_get_thread_local_address): Do not use it or check + is_thread. Check that private is set. Assume that the thread + handle is already cached. + (init_thread_db_ops): Remove to_resume and to_kill. + * thread.c (add_thread_with_info): New. + (add_thread): Use it. + * linux-nat.c (find_thread_from_lwp): Delete. + (exit_lwp): Do not use it. Check print_thread_events. Print before + deleting the thread. + (GET_PID, GET_LWP, BUILD_LWP, is_lwp): Move to... + * linux-nat.h (GET_PID, GET_LWP, BUILD_LWP, is_lwp): ...here. + * inf-ttrace.c (inf_ttrace_wait): Use print_thread_events and + printf_unfiltered for thread exits. + * procfs.c (procfs_wait): Likewise. + +2008-03-21 Chris Demetriou + + * symtab.c (rbreak_command): Quote symbol name before passing + it to break_command. + +2008-03-21 Daniel Jacobowitz + + * eval.c (evaluate_subexp_for_address): Clarify error message. + Use value_must_coerce_to_target. + * infcall.c (value_arg_coerce): Call value_coerce_to_target. + * valops.c (value_assign): Call value_coerce_to_target when + assigning to anything but internalvars. Leave GDB-side arrays + as arrays when assigning to internalvars. + (value_must_coerce_to_target, value_coerce_to_target): New. + (value_coerce_array, value_addr): Call value_coerce_to_target. + (value_array): Create the array in GDB's memory instead of + the inferior's. + * value.h (value_must_coerce_to_target, value_coerce_to_target): + Declare. + +2008-03-21 Daniel Jacobowitz + + * top.c (quit_confirm): Warn that we will kill the program. + +2008-03-19 Pedro Alves + + * inflow.c (terminal_ours_1): Guard access to + inferior_process_group with #ifdef PROCESS_GROUP_TYPE. + +2008-03-18 Ulrich Weigand + Jim Blandy + Daniel Jacobowitz + + * dwarf2expr.h (struct dwarf_expr_context): Add ADDR_SIZE member. + (dwarf2_read_address): Update prototype. + + * dwarf2expr.c (unsigned_address_type): Add ADDR_SIZE parameter. + (signed_address_type): Likewise. + (dwarf2_read_address): Replace BYTES_READ parameter with ADDR_SIZE. + (execute_stack_op): Update calls to unsigned_address_type, + signed_address_type and dwarf2_read_address. Fix implementation + of DW_OP_deref_size. + + * dwarf2loc.h (dwarf2_per_cu_objfile): Add prototype. + (dwarf2_per_cu_addr_size): Likewise. + (struct dwarf2_locexpr_baton): Replace OBJFILE with PER_CU. + (struct dwarf2_loclist_baton): Likewise. + + * dwarf2loc.c (find_location_expression): Update calls to + dwarf2_read_address. Use dwarf2_per_cu_objfile and + dwarf2_per_cu_addr_size to retrieve PER_CU parameters. + (locexpr_describe_location): Likewise. + (dwarf2_evaluate_loc_desc): Replace OBJFILE with PER_CU parameter. + Set ctx->addr_size to dwarf2_per_cu_addr_size (per_cu). + (dwarf2_loc_desc_needs_frame): Add PER_CU parameter. Set ctx->addr_size + to dwarf2_per_cu_addr_size (per_cu). + (locexpr_read_variable): Update dwarf2_evaluate_loc_desc call. + (loclist_read_variable): Likewise. + (locexpr_read_needs_frame): Update dwarf2_loc_desc_needs_frame call. + + * dwarf2read.c (dwarf2_symbol_mark_computed): Set baton->per_cu + instead of baton->objfile. + (dwarf2_per_cu_obfile): New function. + (dwarf2_per_cu_addr_size): Likewise. + + * dwarf2-frame.c (struct comp_unit): Move higher. + (struct dwarf2_cie): Add UNIT and ADDR_SIZE members. + (execute_stack_op): Add ADDR_SIZE parameter; set ctx->addr_size. + (execute_cfa_program): Add FDE parameter. Replace EH_FRAME_P + parameter by using fde->eh_frame_p. Use read_encoded_value + to implement DW_CFA_set_loc. + (struct dwarf2_frame_cache): Add ADDR_SIZE member. + (dwarf2_frame_cache): Set cache->addr_size. Update calls to + execute_stack_op and execute_cfa_program. + (dwarf2_frame_prev_register): Update calls to execute_stack_op. + (size_of_encoded_value): Remove. + (read_encoded_value): Add PTR_LEN and FUNC_BASE parameters. + Remove call to size_of_encoded_value. Implement DW_EH_PE_funcrel. + (add_cie): Set cie->unit backlink. + (decode_frame_entry_1): Set cie->addr_size. Update calls to + read_encoded_value. + (dwarf2_build_frame_info): Allocate UNIT on objfile obstack. + +2008-03-17 Markus Deuling + + * i386-tdep.c (i386_print_insn): Remove unnecessary call to + gdbarch_bfd_arch_info. + +2008-03-17 Joel Brobecker + + * aix-thread.c (pdc_read_regs): Minor reformatting. + +2008-03-17 Vladimir Prus + + * thread.c (print_thread_info): Don't insist + on having current thread if there are no + threads at all. + +2008-03-17 Pedro Alves + + * infcmd.c (attach_command_post_wait) + (attach_command_continuation): New. + (attach_command): Support background async execution, and async + execution in synchronous mode. + +2008-03-17 Daniel Jacobowitz + + * stack.c (print_stack_frame, print_frame): Use RETURN_MASK_ERROR. + * symmisc.c (dump_symtab_1): Likewise. + * wrapper.c (gdb_value_struct_elt): Likewise. + +2008-03-17 Pedro Alves + + * linux-nat.c (linux_nat_filter_event): Fix comment typo. + +2008-03-17 Pedro Alves + + * linux-nat.c (linux_nat_filter_event): New, refactored from + linux_nat_wait. + (linux_nat_wait): Call linux_nat_filter_event. + +2008-03-17 Ulrich Weigand + + * top.c (execute_command): Fix uninitialized variable error. + +2008-03-16 Nick Hudson + + * Makefile.in (amd64nbsd-nat.o): New dependency. + * amd64nbsd-nat.c: Include "nbsd-nat.h". + (_initialize_amd64nbsd_nat): Update target vector to use + nbsd_pid_to_exec_file. + * config/i386/nbsd64.mh (NATDEPFILES): Add nbsd-nat.o. + +2008-03-15 Vladimir Prus + + Remove ignoring leading exec events code. + * fork-child.c (startup_inferior): Do not set + inferior_ignoring_leading_exec_events. + * inf-child.c (inf_child_reported_exec_events_per_exec_call): Remove. + (inf_child_target): Do not set to_reported_exec_events_per_exec_call. + * infrun.c (inferior_ignoring_leading_exec_events): Remove. + (handle_inferior_event): Remove code for ignoring leading exec + events. + * target.c (update_current_target): Do not inherit, or default, + to_reported_exec_events_per_exec_call. + (debug_to_reported_exec_events_per_exec_call): Remove. + (setup_target_debug): Do not set to_reported_exec_events_per_exec_call. + * target.h (target_reported_exec_events_per_exec_call): Remove. + (struct target): Remove the to_reported_exec_events_per_exec_call + field. + +2008-03-15 Vladimir Prus + + Implement -thread-info. + * gdbthread.h (print_thread_info): Declare. + + * thread.c (print_thread_info): New, extracted + from info_threads_command and adjusted to + work for CLI and MI. + (info_threads_command): Use print_thread_info. + * Makefile.in: Update dependencies. + + * mi/mi-cmds.c (mi_cmds): Specify a handler + for -thread-info. + * mi/mi-cmds.h (mi_cmd_thread_info): Declare. + * mi/mi-main.c (mi_cmd_thread_info): New. + (mi_cmd_list_features): Include 'thread-info'. + +2008-03-14 Kevin Buettner + + * mips-tdep.c (mips32_scan_prologue): Use the ABI register size + to decide whether to match instruction patterns using "sw" and "sd". + +2008-03-14 Pedro Alves + + * infcmd.c (jump_command): Postpone disabling stdin until after + the possible query. + +2008-03-14 Pedro Alves + + * inflow.c (gdb_getpgrp): New. + (gdb_has_a_terminal): Use get_getpgrp. + (terminal_ours_1): If attach_flag is set, don't refetch + inferior_process_group. + +2008-03-14 Pedro Alves + + * features/library-list.dtd: Allow "section" elements as children + of "library". Add "section" element and describe its attributes. + + * solib-target.c (struct lm_info): Add section_bases member. + (library_list_start_segment): Error out if seen a section element. + (library_list_start_section): New. + (library_list_end_library): New. + (solib_target_free_library_list): Free section_bases. + (section_attributes): New. + (library_children): Make "segment" optional. Add "section" child. + (library_list_children): Register library_list_end_library. + (solib_target_relocate_section_addresses): Handle section bases. + + * NEWS: Mention new qXfer:libraries:read section offsets support. + +2008-03-14 Vladimir Prus + + * defs.h (do_exec_error_cleanups, discard_exec_error_cleanups) + (make_exec_error_cleanup): Remove declarations. + * utils.c (exec_error_cleanup_chain): Remove. + (do_exec_error_cleanups, discard_exec_error_cleanups) + (make_exec_error_cleanup): Remove. + * event-loop.c (start_event_loop): Adjust call to + async_enable_stdin. + * event-top.c (async_enable_stdin): Remove the paramater dummy. + (async_disable_stdin): Don't register async_enable_stdin via + cleanup. + * inf-loop.c (inferior_event_handler): Don't + call do_exec_error_cleanups. Call async_enable_stdin instead. + * event-loop.c (start_event_loop): Adjust call to + async_enable_stdin. + * tui/tui-interp.c (tui_command_loop): Adjust call to + async_enable_stdin. + +2008-03-14 Vladimir Prus + + Async mode fixes. + * Makefile.in (infcmd.o, inf-loop.o): Update dependencies. + * breakpoint.c (bpstat_do_actions): In async mode, + don't jump to top expecting stop_bpstat to be already + updated. + * event-loop.c (start_event_loop): Call async_enable_stdin + on exception. + * event-top.c (async_enable_stdin): Do nothing if sync_execution + is not set. + (command_handler): Do not setup continuation here. + (command_line_handler_continuation): Move to... + * top.c (command_line_handler_continuation): ... here. + (execute_command): In async mode, register continuation. + Don't check frame's language in running in async mode. + * exceptions.c (throw_exception): Don't do exec_error_cleanups. + * inf-loop.c (complete_execution): Inline into... + (inferior_event_handler): ... here. Clear target_executing before + doing any cleanups. Don't try to show prompt if the target was + resumed. + * infcmd.c (signal_command): Add support for async mode. + (finish_command): Only add continuation if the target was + successfully resumed. + * remote.c (init_async_opts): Register to_get_thread_local_address + handler. + * mi/mi-interp.c (mi_cmd_interpreter_exec): Don't mess + with sync_execution. + * tui/tui-interp.c (tui_command_loop): Call async_enable_stdin + on exception. + +2008-03-14 Daniel Jacobowitz + + * corefile.c (reopen_exec_file): Use exec_bfd_mtime. + * exec.c (exec_bfd_mtime): Define. + (exec_close): Clear it. + (exec_file_attach): Set it. + * gdbcore.h (exec_bfd_mtime): Declare. + * source.c (find_source_lines): Do not use bfd_get_mtime. + +2008-03-14 Vladimir Prus + + * top.c (simplified_command_loop): Remove. + +2008-03-14 Vladimir Prus + + Remove unused remote.c hooks. + * remote.c (deprecated_target_resume_hook) + (deprecated_target_wait_loop_hook): Remove. + (remote_resume): Do not call deprecated_target_resume_hook. + (remote_wait): Do not call deprecated_target_wait_loop_hook. + (remote_async_wait): Likewise. + +2008-03-14 Vladimir Prus + + Implement MI notification for new threads. + * doc/observer.texi (new_thread): Document. + * observer.sh: Forward declare struct thread_info. + * thread.c (add_thread): Notify observer. + + * interps.h (interp_init_ftype): New parameter + top_level. + (interp_set): Likewise. + (top_level_interpreter_data): Declare. + * interps.c (interp_set): New parameter top_level. + Pass it to interpreter's init function. Remember + top level interpreter. + (interpreter_exec_cmd): Adjust. + (top_level_interpreter_data): New. + * main.c (captured_main): Pass 1 for top_level + parameter of interp_set. + * cli/cli-interp.c (cli_interpreter_init): New + parameter top_level. + * tui/tui-interp.c (tui_init): New parameter top_level. + + * mi/mi-interp.c (mi_new_thread): New. + (mi_interpreter_init): If top level, register + observer for new threads. + + * Makefile.in (mi-interp.o, thread.o): Update dependencies. + +2008-03-14 Pedro Alves + + * top.c (execute_command): Disable break and stop + commands in async mode. + +2008-03-14 Pedro Alves + + revert: + 2008-03-14 Pedro Alves + * inf-loop.c (inferior_event_handler): Don't include remote.h. + Call target_stop in the INF_QUIT_REQ case. + * Makefile.in (inf-loop.o): Update. + +2008-03-14 Pedro Alves + + * inf-loop.c (inferior_event_handler): Don't include remote.h. + Call target_stop in the INF_QUIT_REQ case. + * Makefile.in (inf-loop.o): Update. + +2008-03-14 Pedro Alves + + * top.c (execute_command): Enable break, info and interrupt + commands in async mode. + +2008-03-13 Vladimir Prus + Daniel Jacobowitz + + * breakpoint.h (breakpoint_restore_shadows): New + declaration. + * breakpoint.c (breakpoint_restore_shadows): New. + (read_memory_nobpt): Delete. + * gdbcore.h (read_memory_nobpt): Delete declaration. + * target.c (memory_xfer_partial): Call + breakpoint_restore_shadows. + (restore_show_memory_breakpoints) + (make_show_memory_breakpoints_cleanup): New. + (show_memory_breakpoints): New. + * target.h (make_show_memory_breakpoints_cleanup): Declare. + * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): + Make sure we see memory breakpoints when checking if + breakpoint is still there. + * alpha-tdep.c, alphanbsd-tdep.c, frame.c, frv-tdep.c, + hppa-linux-tdep.c, hppa-tdep.c, i386-linux-nat.c, i386-tdep.c, + m68klinux-tdep.c, mips-tdep.c, mn10300-tdep.c, s390-tdep.c, + sparc-tdep.c: Use target_read_memory instead of read_memory_nobpt. + +2008-03-12 Pedro Alves + + * thread.c (add_thread): Use printf_unfiltered to print. + +2008-03-12 Joel Brobecker + + * sol-thread.c: Replace use of TM_I386SOL2_H by an expression + that is true only on x86-solaris and x86_64-solaris. + * procfs.c: Likewise. Move procfs_find_LDT_entry up together + with proc_get_LDT_entry. + +2008-03-12 Thiago Jung Bauermann + + * configure.ac (AC_CHECK_FUNCS): Add check for setsid. + * config.in, configure: Regenerate. + * fork-child.c (fork_inferior): Call create_tty_session. + * inflow.c (new_tty): Set controlling terminal with TIOCSCTTY. + (create_tty_session): New function. + * terminal.h: Declare create_tty_session. + +2008-03-12 Alan Modra + + PR 5900 + * elfread.c (elf_symtab_read): Make shndx an unsigned int. + * mipsread.c: Include elf/internal.h. + (read_alphacoff_dynamic_symtab): Map external reserved sym_shndx + to internal range. + +2008-03-11 Markus Deuling + + * win32-nat.c (do_win32_fetch_inferior_registers): Use get_regcache_arch + to get at the current architecture and at the target specific vector. + Add target specific vector to I387_FISEG_REGNUM and I387_FOP_REGNUM and + remove define of I387_ST0_REGNUM. + + * amd64-tdep.c (I387_ST0_REGNUM): Remove define. + + (amd64_supply_fxsave, amd64_collect_fxsave): Use get_regcache_arch to + get at the current architecture + (I387_FISEG_REGNUM, I387_FOSEG_REGNUM): Add target specific vector as + parameter. + + * i386-tdep.c: Remove various define's and undef's of I387_ST0_REGNUM, + I387_NUM_XMM_REGS and I387_MM0_REGNUM. + + (I387_NUM_XMM_REGS, I387_XMM0_REGNUM, I387_MXCSR_REGNUM, + I387_ST0_REGNUM, I387_FCTRL_REGNUM, I387_MM0_REGNUM, + (I387_FSTAT_REGNUM): Add target specific vector as parameter. + + (i386_register_name, i386_dbx_reg_to_regnum): Use gdbarch_tdep to get + at the target specific vector. + + (i386_get_longjmp_target): Use get_frame_arch to get at the current + architecture. Use gdbarch_tdep to get at the target specific vector. + + (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as parameter and + update caller. Use gdbarch_tdep to get at the target specific vector. + + (i386_register_to_value: Use get_frame_arch to get at the current + architecture. + + * i386-tdep.h (i386_fp_regnum_p, i386_fpc_regnum_p): Add gdbarch as + parameter. + + * i387-tdep.c (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, + I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM + I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_ST0_REGNUM, FSAVE_ADDR, + FXSAVE_ADDR, I387_XMM0_REGNUM): Add target specific vector as parameter. + + (I387_ST0_REGNUM, I387_NUM_XMM_REGS): Remove various define's and + undef's. + + (i387_convert_register_p, i387_register_to_value, + i387_value_to_register): Update call for i386_fp_regnum_p. + + * i387-tdep.h: Remove comment. + (I387_ST0_REGNUM, I387_NUM_XMM_REGS, I387_MM0_REGNUM): Add define. + (I387_FCTRL_REGNUM, I387_FSTAT_REGNUM, I387_FTAG_REGNUM, + I387_FISEG_REGNUM, I387_FIOFF_REGNUM, I387_FOSEG_REGNUM, + I387_FOOFF_REGNUM, I387_FOP_REGNUM, I387_XMM0_REGNUM, + I387_MXCSR_REGNUM): Add target specific vector as parameter. + +2008-03-10 Daniel Jacobowitz + + * Makefile.in (fork-child.o): Update. + * NEWS: Document "set exec-wrapper" and the gdbserver --wrapper + argument. Gather all gdbserver features together. + * fork-child.c (exec_wrapper): New variable. + (fork_inferior): Use it. + (startup_inferior): Skip an extra trap if using "set exec-wrapper". + (unset_exec_wrapper_command, _initialize_fork_child): New. + +2008-03-10 Hidetaka Takano + + * source.c (directory_command): Modify the determination of + condition of terminal "from_tty". + +2008-03-10 Matt Rice + + * dwarf2read.c (set_cu_language): Add DW_LANG_ObjC. + +2008-03-10 Hidetaka Takano + + * spu-tdep.c (info_spu_event_command): Insert a '\0' to the end + of the data passing to strtoulst function. + (info_spu_signal_command): Likewise. + +2008-03-08 Vladimir Prus + + * mi/mi-interp.c (mi_command_loop): Remove + commented-out code. + +2008-03-07 Joel Brobecker + + * remote.c (extended_remote_attach_1): Make local variable pid an int + instead of a pid_t. + +2008-03-07 Joel Brobecker + + * solib-svr4.c (svr4_same_1): New function, originally extracted + from svr4_same and expanded to handle the sparc64 case. + (svr4_same): Move up and reimplement using svr4_same_1. + (enable_break): Use svr4_same_1 to do shared library name comparisons. + +2008-03-07 Ramana Radhakrishnan + + * MAINTAINERS: Move self to Paper trail. + +2008-03-05 Daniel Jacobowitz + + * Makefile.in (mingw-hdep.o, posix-hdep.o, remote-fileio.o): Update. + * event-loop.c (call_async_signal_handler): New. + * event-loop.h (call_async_signal_handler) + (gdb_call_async_signal_handler): Declare. + (mark_async_signal_handler): Add comments. + * event-top.c (handle_sigint): Use gdb_call_async_signal_handler. + * mingw-hdep.c (sigint_event, sigint_handler): New. + (gdb_select): Use them. Wait for the readline signal handler + to finish. + (gdb_call_async_signal_handler, _initialize_mingw_hdep): New functions. + * posix-hdep.c (gdb_call_async_signal_handler): New function. + * remote-fileio.c (sigint_fileio_token, async_remote_fileio_interrupt): + New. + (remote_fileio_ctrl_c_signal_handler): Use + gdb_call_async_signal_handler. + (initialize_remote_fileio): Initialize sigint_fileio_token. + * remote.c (initialize_sigint_signal_handler, handle_remote_sigint): Do + not initialize tokens here. + (handle_remote_sigint_twice): Likewise. Reinstall + handle_remote_sigint. + (async_remote_interrupt_twice): Just call interrupt_query. + (cleanup_sigint_signal_handler): Do not delete tokens. + (remote_interrupt, remote_interrupt_twice): Use + gdb_call_async_signal_handler. + (interrupt_query): Reinstall the default signal handler. + (_initialize_remote): Initialize tokens here. + +2008-03-04 Joel Brobecker + + * features/rs6000/power-core.xml, features/rs6000/power64-core.xml, + features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml: + Change the type of the lr register to code_ptr. + * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c, + features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c, + features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c, + features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c, + features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c, + features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c, + features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c: Regenerate. + +2008-03-03 James E. Wilson + + * MAINTAINERS: Update my email address. + +2008-03-03 Keith Seitz + + From Dave Murphy : + * configure.ac: Set tcl configdir to win under mingw. + * configure: Regenerate. + +2008-03-03 Daniel Jacobowitz + + * breakpoint.c (fetch_watchpoint_value): New function. + (update_watchpoint): Set and clear val_valid. Use + fetch_watchpoint_value. Handle unreadable values on the + value chain. Correct check for user-requested array watchpoints. + (breakpoint_init_inferior): Clear val_valid. + (watchpoint_value_print): New function. + (print_it_typical): Use it. Do not free or clear old_val. Print + watchpoints even if old_val == NULL. + (watchpoint_check): Use fetch_watchpoint_value. Check for values + becoming readable or unreadable. + (watch_command_1): Use fetch_watchpoint_value. Set val_valid. + (do_enable_watchpoint): Likewise. + * breakpoint.h (struct breakpoint): Update comment for val. Add + val_valid. + * NEWS: Mention watchpoints on inaccessible memory. + +2008-02-29 Daniel Jacobowitz + + * Makefile.in (i386-nat.o): Update. + * amd64-linux-nat.c (_initialize_amd64_linux_nat): Call + i386_use_watchpoints. + * i386-linux-nat.c (_initialize_i386_linux_nat): Call + i386_use_watchpoints. + * i386-nat.c (i386_stopped_data_address): Take two arguments. + (i386_stopped_by_watchpoint): Update call. + (i386_can_use_hw_breakpoint, i386_use_watchpoints): New. + * config/i386/nm-i386.h: Conditionalize definitions on + ! I386_WATCHPOINTS_IN_TARGET_VECTOR. + (i386_use_watchpoints): Declare. + (i386_stopped_data_address): Update. + * config/i386/nm-linux.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define. + * config/i386/nm-linux64.h (I386_WATCHPOINTS_IN_TARGET_VECTOR): Define. + +2008-02-29 Joel Brobecker + + GDB 6.8 branch created (branch timestamp: 2008-02-26 10:00 UTC) + * version.in: Bump version to 6.8.50.20080229-cvs. + +2008-02-28 Markus Deuling + + * f-typeprint.c (f_print_type): Handle NULL pointer in VARSTRING + properly. + +2008-02-28 Tom Tromey + + * infcmd.c (notice_args_read): Print result of get_inferior_args. + +2008-02-28 Daniel Jacobowitz + + * infcmd.c (kill_if_already_running): Make static. Use + target_require_runnable. + * target.c (target_require_runnable): New. + * target.h (target_require_runnable): Declare. + +2008-02-28 Daniel Jacobowitz + + * frame.c (reinit_frame_cache): Only annotate if frames were + previously valid. + +2008-02-28 Ulrich Weigand + + * regformats/reg-ppc.dat: Rename "ps" to "msr". + * regformats/reg-ppc64.dat: Likewise. + +2008-02-28 Ulrich Weigand + + * features/Makefile (%.dat): Emit xmltarget statement. + + * regformats/regdat.sh: Support xmltarget and xmlarch statments. + Generate code to set gdbserver_xmltarget in init_registers_${name}. + + * regformats/arm-with-iwmmxt.dat: Regenerate. + * regformats/mips64-linux.dat: Regenerate. + * regformats/mips-linux.dat: Regenerate. + * regformats/rs6000/powerpc-32.dat: Regenerate. + * regformats/rs6000/powerpc-64.dat: Regenerate. + * regformats/rs6000/powerpc-e500.dat: Regenerate. + + * regformats/reg-arm.dat: Add xmlarch statement. + * regformats/reg-i386.dat: Likewise. + * regformats/reg-i386-linux.dat: Likewise. + * regformats/reg-x86-64-linux.dat: Likewise. + * regformats/reg-spu.dat: Likewise. + +2008-02-27 Daniel Jacobowitz + + * remote.c (remote_wait, remote_async_wait): Stop if we receive + an error. + +2008-02-27 Daniel Jacobowitz + + * utils.c (debug_timestamp): New. + (vfprintf_unfiltered): Print timestamps if requested. + (show_debug_timestamp): New. + (initialize_utils): Register "set debug timestamp". + * NEWS: Mention "set debug timestamp". Add GDB 6.8 section. + +2008-02-27 Joel Brobecker + + * breakpoint.c (skip_prologue_sal): New function. + (resolve_sal_pc): Adjust SAL past prologue if the SAL was + computed from a line number. + +2008-02-27 Joel Brobecker + + * features/rs6000/power-core.xml, features/rs6000/power64-core.xml + features/rs6000/powerpc-601.xml, features/rs6000/rs6000.xml: + Set PC register type to "code_ptr". + * features/rs6000/powerpc-32.c, features/rs6000/powerpc-403.c, + features/rs6000/powerpc-403gc.c, features/rs6000/powerpc-505.c, + features/rs6000/powerpc-601.c, features/rs6000/powerpc-602.c, + features/rs6000/powerpc-603.c, features/rs6000/powerpc-604.c, + features/rs6000/powerpc-64.c, features/rs6000/powerpc-7400.c, + features/rs6000/powerpc-750.c, features/rs6000/powerpc-860.c, + features/rs6000/powerpc-e500.c, features/rs6000/rs6000.c: + Regenerate. + +2008-02-27 Ulrich Weigand + + * regformats/regdat.sh: Rename init_registers function in + generated file to init_registers_${name}. + + * regformats/reg-crisv32.dat: Set "name" to crisv32. + * regformats/reg-ppc64.dat: Set "name" to ppc64. + * regformats/reg-s390x.dat: Set "name" to s390x. + +2008-02-26 Greg Law + + * regcache.c (registers_changed): Call reinit_frame_cache. + +2008-02-26 Daniel Jacobowitz + + * configure.tgt (sh-*-linux*): Match sh*. Add glibc-tdep.o. + * sh-linux-tdep.c (sh_linux_init_abi): Use glibc_skip_solib_resolver + and svr4_fetch_objfile_link_map. + * Makefile.in (sh-linux-tdep.o): Update. + +2008-02-26 Thiago Jung Bauermann + + * amd64-tdep.c (amd64_classify): Add support for decimal float + types. + * i386-tdep.c (i386_return_value): Make 128-bit decimal float + use the struct return convention. + +2008-02-26 Nick Roberts + + * breakpoint.c (print_one_breakpoint_location): Revert Enb field + to old format. Discard breakpoint address if shared library is + unloaded. + (breakpoint_1): Adjust formatting of table header accordingly. + +2008-02-25 Vladimir Prus + + * remote.c (remote_get_threadlist): If the response + is empty, don't try to parse it. + +2008-02-23 Vladimir Prus + + Unbreak 'target async'. + * serial.c (serial_async): Set the + handler function before enabling async + mode. + +2008-02-22 Daniel Jacobowitz + + * solib-svr4.c (enable_break): Convert r_brk to a code address. + +2008-02-21 Pedro Alves + + * remote.c (extended_remote_attach_1): Set attach_flag. + (extended_remote_create_inferior_1): Clear attach_flag. + +2008-02-20 Daniel Jacobowitz + + * mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets): Set + r_brk_offset. + (mipsnbsd_lp64_fetch_link_map_offsets): Likewise. + * solib-svr4.c (solib_svr4_r_brk): New. + (open_symbol_file_object, svr4_current_sos): Always check the + debug base. + (svr4_fetch_objfile_link_map): Do not set debug_base. + (enable_break): Use r_brk if it is set. + (svr4_ilp32_fetch_link_map_offsets): Set r_brk_offset. + (svr4_lp64_fetch_link_map_offsets): Likewise. + * solib-svr4.h (struct link_map_offsets): Add r_brk_offset. + +2008-02-20 Markus Deuling + Mark Kettenis + + * alpha-tdep.c (alpha_heuristic_unwind_cache): Replace saved_regs by + trad_frame_saved_reg. + (trad-frame.h): New include. + + (alpha_heuristic_frame_unwind_cache): Use trad_frame_alloc_saved_regs + instead of frame_obstack_zalloc. + (alpha_heuristic_frame_prev_register): Use trad_frame_get_prev_register. + + * Makefile.in (alpha-tdep.o): Add dependency to trad_frame_h. + +2008-02-20 Markus Deuling + + * rs6000-tdep.c (gdb_print_insn_powerpc): Get the current endianess + from disassemble_info instead of gdbarch_byte_order. + + * mips-tdep.c (gdb_print_insn_mips): Likewise. + * arm-tdep.c (gdb_print_insn_arm): Likewise. + +2008-02-20 Markus Deuling + + * gdbarch.sh (memory_insert_breakpoint, memory_remove_breakpoint): Add + gdbarch as parameter. + + * gdbarch.{c,h}: Regenerate. + + * ppc-tdep.h (ppc_linux_memory_remove_breakpoint): Add gdbarch as + parameter. + * mem-break.c (default_memory_insert_breakpoint) + (default_memory_remove_breakpoint): Likewise. + * target.h (default_memory_remove_breakpoint) + (default_memory_insert_breakpoint): Likewise. + + * ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Add gdbarch as + parameter. Replace current_gdbarch by gdbarch. + * m32r-tdep.c (m32r_memory_insert_breakpoint) + (m32r_memory_remove_breakpoint): Likewise. + +2008-02-19 Daniel Jacobowitz + + * MAINTAINERS: Add Vladimir Prus as MI maintainer. + +2008-02-19 Joel Brobecker + + * NEWS: Add entry describing Add support improvements. + +2008-02-18 Markus Deuling + + * m68klinux-nat.c (getfpregs_supplies): Replace gdbarch_fp0_regnum by + M68K_FP0_REGNUM. + +2008-02-18 Markus Deuling + + * sentinel-frame.c (sentinel_frame_prev_register): Do not call + register_offset_hack anymore. + + * regcache.{c,h} (register_offset_hack): Remove. + +2008-02-18 Markus Deuling + + * hppa-tdep.h (find_global_pointer): Add gdbarch as parameter. + + * hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer): Likewise. Replace + current_gdbarch by gdbarch. + (hppa64_hpux_find_global_pointer): Likewise. + * hppa-tdep.c (hppa_find_global_pointer): Likewise. + (hppa32_push_dummy_call, hppa64_push_dummy_call): Update call for + find_global_pointer. + + * hppabsd-tdep.c (hppabsd_find_global_pointer): Add gdbarch as + parameter. + * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise. + + * hppa-linux-nat.c (hppa_linux_register_addr): Use ARRAY_SIZE instead + of gdbarch_num_regs. + + * hppa-hpux-tdep.c (hppa_hpux_sr_for_addr): Add gdbarch as parameter and + replace current_gdbarch by gdbarch. + (hppa_hpux_push_dummy_code): Update call for hppa_hpux_sr_for_addr. + +2008-02-18 Markus Deuling + + * rs6000-nat.c (exec_one_dummy_insn, regmap): Add gdbarch as parameter + and replace current_gdbarch by gdbarch. + + (store_register): Update call for exec_one_dummy_insn. + (fetch_register, store_register): Update call of regmap. + + * ppcnbsd-nat.c (getregs_supplies, getfpregs_supplies): Add gdbarch as + parameter and replace current_gdbarch by gdbarch. + + (ppcnbsd_store_inferior_registers): Use get_regcache_arch to get at + the current architecture. Update call for getregs_supplies and + getfpregs_supplies. + (ppcnbsd_fetch_inferior_registers): Likewise. + + * ppcobsd-nat.c (getfpregs_supplies): Add gdbarch as parameter and + replace current_gdbarch by gdbarch. + (ppcobsd_fetch_registers, ppcobsd_store_registers): Use + get_regcache_arch to get at the current architecture. Update call for + getfpregs_supplies. + +2008-02-18 Markus Deuling + + * arch-utils.c (gdbarch_from_bfd): Remove unnecessary {old,new}_gdbarch + variables. + +2008-02-15 Markus Deuling + + * mips-linux-tdep.c (mips_linux_init_abi): Remove internal error. + +2008-02-14 Vladimir Prus + + * NEWS: Mention pending breakpints in MI. + +2008-02-14 Markus Deuling + + * Makefile.in (ALL_TARGET_OBS): Remove dependency to xtensa-linux-nat.o. + +2008-02-13 Markus Deuling + + Add script to build and test GDB using enable-targets=all. + + * gdb_buildall.sh: New file. + +2008-02-11 Maxim Grigoriev + + * NEWS (New native configurations): Xtensa GNU/Linux. + (New targets): Xtensa GNU/Linux. + * Makefile.in (ALL_TARGET_OBS): Add xtensa-linux-nat.o and + xtensa-linux-tdep.o + (ALLDEPFILES): Add xtensa-linux-tdep.c and xtensa-linux-nat.c + (xtensa-linux-nat.o, xtensa-linux-tdep.o): New dependencies. + * configure.tgt (xtensa*-*-linux*): New entry. + * xtensa-config.c (xtensa_tdep): New variable. + (xtensa_config_byte_order, xtensa_config_tdep): Removed. + (rmap): Change format based on new macro XTREG. + (XTENSA_CONFIG_INSTANTIATE): Use new macro defined in xtensa-tdep.h. + * xtensa-linux-nat.c: New. + * xtensa-linux-tdep.c: New. + * xtensa-xtregs.c: New. + * xtensa-tdep.h (xtensa_elf_gregset_t): Update. + (XTENSA_ELF_NGREG, XTREG, XTREG_END, XTENSA_GDBARCH_TDEP_INSTANTIATE) + (XCHAL_NUM_CONTEXTS, XCHAL_HAVE_EXCEPTIONS): New macros. + (xtensa_register_t): New field coprocessor. + (XTENSA_REGISTER_FLAGS_PRIVILEGED): Name spelling corrected. + * xtensa-tdep.c (xtensa_config_tdep, xtensa_config_byte_order): Removed. + (xtensa_pseudo_register_read, xtensa_pseudo_register_write): + Update to handle privileged registers. + (xtensa_supply_gregset) Remove exccause and excvaddr registers. + (xtensa_push_dummy_call): Set windowstart register correctly. + (call0_analyze_prologue): Initialize xtensa_default_isa. + (xtensa_derive_tdep): New. + (xtensa_gdbarch_init): Get rid of xtensa_config_byte_order and + xtensa_config_tdep, use XCHAL_HAVE_BE and xtensa_tdep instead. + Call xtensa_derive_tdep(). + * config/xtensa/linux.mh: New. + * regformats/reg-xtensa.dat: New. + +2008-02-09 Aleksandar Ristovski (tiny change) + + * corelow.c (core_open): Use IS_ABSOLUTE_PATH. + (filenames.h): New include. + * Makefile.in (corelow.o): Add dependency for filenames.h. + +2008-02-08 Doug Evans + + * source.c (find_and_open_source): Always rewrite absolute filenames. + +2008-02-07 Doug Evans + + * breakpoint.c: #include "hashtab.h". + (ambiguous_names_p): New fn. + (update_breakpoint_locations): When restoring bp enable status, don't + compare function names if any functions have same name. + * Makefile.in (breakpoint.o): Add hashtab.h dependency. + +2008-02-07 Joel Brobecker + + * ada-lang.c (symbol_completion_add): Make SV parameter a VEC** + instead of just a VEC*. Update use of SV. + (ada_make_symbol_completion_list): Update symbol_completion_add calls. + +2007-02-07 Joel Brobecker + + * NEWS: Put all new commands since gdb-6.7 together. + +2007-02-07 Joel Brobecker + + * ada-lang.c: #include "vec.h". + (struct string_vector, new_string_vector, string_vector_append): + Delete. + (char_ptr): New typedef. + (DEF_VEC_P (char_ptr)): New VEC type. + (symbol_completion_add): Update profile to take the new VEC type + instead of the old string_vector structure. Update code accordingly. + (ada_make_symbol_completion_list): Use the new VEC type instead of + the old string_vector structure, and update the code accordingly. + * Makefile.in (ada-lang.o): Add dependency on vec.h. + +2008-02-06 Pierre Muller + + * p-exp.y: Set current_type in missing places. + (leftdiv_is_integer): New static variable. + Typecast right operand of BINOP_DIV to long_double if both operands + are integers. + +2008-02-06 Maciej W. Rozycki + + * remote-mips.c (set_breakpoint): Rename to... + (mips_set_breakpoint): ... this. + (clear_breakpoint): Rename to... + (mips_clear_breakpoint): ... this. + (common_breakpoint): Rename to... + (mips_common_breakpoint): ... this. + (check_lsi_error): Rename to... + (mips_check_lsi_error): ... this. + +2007-02-05 Joel Brobecker + + * language.h (struct language_defn): Add new field + la_make_symbol_completion_list. + * symtab.c (default_make_symbol_completion_list): Renames + make_symbol_completion_list. + (make_symbol_completion_list): New function. + * symtab.h (default_make_symbol_completion_list): Add declaration. + * langauge.c (unknown_language): Set la_make_symbol_completion_list. + (auto_language, local_language): Likewise. + * objc-lang.c (objc_language_defn): Likewise. + * scm-lang.c (scm_language_defn): Likewise. + * m2-lang.c (m2_language_defn): Likewise. + * f-lang.c (f_language_defn): Likewise. + * jv-lang.c (java_language_defn): Likewise. + * p-lang.c (pascal_language_defn): Likewise. + * c-lang.c (c_language_defn, cplus_language_defn, asm_language_defn) + (minimal_language_defn): Likewise. + * ada-lang.c (struct string_vector): New structure. + (new_string_vector, string_vector_append, ada_unqualified_name) + (add_angle_brackets, symbol_completion_match, symbol_completion_add) + (ada_make_symbol_completion_list): New functions. + (ada_language_defn): Set la_make_symbol_completion_list. + * ada-lang.h (ada_make_symbol_completion_list): Remove declaration, + this function is static. + +2008-02-05 Kevin Buettner + + * mn10300-tdep.c (mn10300_push_dummy_call): Adjust stack pointer + to account for call site optimizations. + +2008-02-05 Andrzej Zaborowski + + * tracepoint.c (read_actions): Handle end-of-text indicator + in action list properly. (Committed by Jim Blandy) + +2008-02-05 Jim Blandy + + * ax-gdb.c (gen_expr): Yield ordinary error if asked to trace a + pseudoregister, not an internal error. + Reported by: Andrzej Zaborowski + +2008-02-04 Vladimir Prus + + * varobj.c (c_value_of_variable): Use xstrdup. + +2008-02-04 Vladimir Prus + + Update stored rendition of varobj value when format changes. + * varobj.c (varobj_set_display_format): Recomputed + print_value. + (c_value_of_variable): Return print_value. + +2008-02-03 Doug Evans + + * eval.c (evaluate_subexp_standard): Fix type of result of mixed + integer/float division operations when EVAL_AVOID_SIDE_EFFECTS. + * valops.c (value_one): New function. + * value.h (value_one): Declare. + + Fix argument promotion for binary arithmetic ops for C. + * valarith.c (unop_result_type): New fn. + (binop_result_type): New fn. + (value_binop): Move result type computation to binop_result_type. + (value_pos, value_neg, value_complement): Move result type + computation to unop_result_type. + + PR 2384 + * gdbtypes.c (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno. + Return basetype, fieldno if found. All callers updated. + Don't cache TYPE_VPTR_FIELDNO, TYPE_VPTR_BASETYPE if from different + objfile. + * gdbtypes.h (get_vptr_fieldno): Renamed from fill_in_vptr_fieldno. + * symfile.h (fill_in_vptr_fieldno): Delete. + +2008-02-02 Doug Evans + + * valarith.c (value_binop): Handle unsigned BINOP_REM division by zero. + + * typeprint.c (*): Whitespace cleanup. + +2008-02-02 Mark Kettenis + Luis Machado + Thiago Jung Bauermann + + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Pass floats that + don't fit into registerson the stack the way GCC does. + +2008-02-01 Joel Brobecker + + * symtab.c (symbol_set_names): Do not add an entry in the demangling + hash table for Ada symbols. Just store the linkage name as is, + and leave the demangled_name as NULL. + +2007-02-01 Joel Brobecker + + * dwarf2read.c (add_partial_symbol): Always store all Ada subprograms + in the global scope. + (new_symbol): Likewise. + +2008-02-01 Vladimir Prus + + * breakpoint.c (break_command_1): Return void. + (break_command_really): Return void. Rethrow + exceptions instead of returning. + (gdb_breakpoint): Remove the error_message parameter. + Return void. Rename to set_breakpoint. + * gdb.h (gdb_breakpoint): Rename and move to... + * breakpoint.h (set_breakpoint): ...here. + * mi/mi-cmb-break.c (mi_cmd_break_insert): Restore + event hooks even if exception is thrown. Adjust to + gdb_breakpoint interface changes. + + +2008-02-01 Thiago Jung Bauermann + + * ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Write 32-bit + float in both first and second word in the doubleword, to support + old and new ABIs. + +2008-02-01 Vladimir Prus + + Properly rethrow exception. This fixes errors + about non-existent functions for -break-insert. + * breakpoint.c (break_command_really): Use throw_exception + for rethrowing. If rethrowing, don't print the exception. + +2008-01-31 Thiago Jung Bauermann + + * NEWS: Mention Decimal Floating Point support. + +2008-01-31 Joel Brobecker + + * std-regs.c (value_of_builtin_frame_pc_reg): Change the returned + value type to builtin_type_void_func_ptr. + +2008-01-31 Andreas Krebbel + + * s390-tdep.c (is_float_singleton, is_float_like, + alignment_of, s390_return_value): Make checks for + TYPE_CODE_FLT to match TYPE_CODE_DECFLOAT as well. + +2008-01-31 Luis Machado + Thiago Jung Bauermann + + * infcmd.c (default_print_registers_info): Also print hex + raw contents for TYPE_CODE_DECFLOAT registers. + * ppc-tdep.h (gdbarch_tdep): Add ppc_dl0_regnum member. + * rs6000-tdep.c (IS_DFP_PSEUDOREG): New macro. + (rs6000_register_name): Add support for DFP pseudo-registers. + (rs6000_pseudo_register_type): Likewise. + rs6000_pseudo_register_reggroup_p): Likewise. + (ppc_pseudo_register_read): New function. + (ppc_pseudo_register_write): Likewise. + (rs6000_pseudo_register_read): Likewise. + (rs6000_pseudo_register_write): Likewise. + (e500_pseudo_register_read): Move checks to + rs6000_pseudo_register_read. + (e500_pseudo_register_write): Move checks to + rs6000_pseudo_register_write. + (rs6000_gdbarch_init): Initialize tdep->ppc_dl0_regnum. Install + rs6000_pseudo_register_read and rs6000_pseudo_register_write + in gdbarch if SPE or DFP is available. Adjust gdbarch's + num_pseudo_regs to account for DFP pseudo regs. + +2008-01-31 Thiago Jung Bauermann + + * ppc-tdep.h (struct gdbarch_tdep): Remove ppc_ev31_regnum member. + * rs6000-tdep.c (IS_SPE_PSEUDOREG): New macro. + (spe_register_p, rs6000_register_name, rs6000_pseudo_register_type, + rs6000_pseudo_register_reggroup_p, e500_move_ev_register, + e500_pseudo_register_read, e500_pseudo_register_write): Use + IS_SPE_PSEUDOREG macro. + (rs6000_frame_cache): Remove use of tdep->ppc_ev31_regnum. + (rs6000_gdbarch_init): Remove unnecessary num_sprs local variable. + Remove initialization of tdep->ppc_ev31_regnum. + +2008-01-08 Paul Hilfinger + + * printcmd.c (print_formatted): Handle references as for unformatted + prints. + +2008-01-30 Joel Brobecker + + * eval.c (evaluate_subexp_standard): Add handling of user + registers when in EVAL_AVOID_SIDE_EFFECTS mode. + +2008-01-30 Pierre Muller + + * eval.c (evaluate_subexp_standard): Support + BINOP_INTDIV opcode. + +2008-01-30 Paul N. Hilfinger + + * valarith.c (value_binop): Add floating-point BINOP_MIN and + BINOP_MAX cases. + For BINOP_EXP, use length and signedness of left operand only for + result, as for shifts. + For integral operands to BINOP_EXP, use new integer_pow and + uinteger_pow functions so as to get full range of results. + (integer_pow): New function. + (uinteger_pow): New function. + +2008-01-30 Vladimir Prus + + Use vector for varobj_list_children interface. + * gdb/varobj.c (varobj_list_children): Return vector + of varobjs. + * gdb/varobj.h (varobj_list_children): Adjust + prototype. + (varobj_p): Declare. Declare vector thereof. + * mi/mi-cmd-var.c (mi_cmd_var_list_children): Adjust + for varobj_list_children change. + * Makefile.in (varobj_h): Update dependencies. + +2008-01-30 Thiago Jung Bauermann + + * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Add support for + TYPE_CODE_DECFLOAT arguments. + (ppc64_sysv_abi_push_dummy_call) Likewise. + (get_decimal_float_return_value): New function. + (do_ppc_sysv_return_value): Add support for TYPE_CODE_DECFLOAT return + values by calling get_decimal_float_return_value. + (ppc64_sysv_abi_return_value): Likewise. + +2008-01-30 Nick Roberts + + * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_file): Add field + for preprocessor macro information. Formatting changes. + +2008-01-29 Daniel Jacobowitz + + * remote.c (struct remote_state): Add cached_wait_status. + (remote_exec_file): New variable. + (PACKET_vAttach, PACKET_vRun): New constants. + (extended_remote_restart): Do not query for status. + (struct start_remote_args): New. + (remote_start_remote): Take it as a second argument. Check + whether the target is running. Issue an error for non-running + non-extended targets. Cache the wait status. Set inferior_ptid + here. + (remote_open_1): Prompt to disconnect non-running targets. Make + sure the target is marked running. Do not set inferior_ptid here. + Update call to remote_start_remote. Do not call remote_check_symbols + if the target is not running. + (remote_detach_1): Rename from remote_detach. Take an EXTENDED + argument. Handle a non-running target. + (remote_detach): Use it. + (extended_remote_detach): New. + (remote_disconnect): Fix typo. Use remoute_mourn_1. + (extended_remote_attach_1, extended_remote_attach) + (extended_async_remote_attach): New. + (remote_vcont_resume): Remove unused variable. + (remote_wait, remote_async_wait): Use any cached wait status. + (putpkt_binary, getpkt): Clear any cached wait status. + (extended_remoute_mourn_1): New. + (extended_remote_mourn): Use it. + (extended_async_remote_mourn, extended_remote_run): New. + (extended_remote_create_inferior_1): New. + (extended_remote_create_inferior): Use it. + (extended_remote_async_create_inferior): Likewise. + (remote_xfer_partial): Skip for non-executing targets. + (init_extended_remote_ops): Set to_detach and to_attach. + (init_extended_async_remote_ops): Likewise. Use + extended_async_remote_mourn. + (_initialize_remote): Register vAttach, vRun, and + set remote exec-file. + * NEWS: Mention vAttach, vRun, and gdbserver extended-remote support. + +2008-01-29 Daniel Jacobowitz + + * Makefile.in (symfile.o): Update. + * NEWS: Mention exec tracing support. + * inf-ttrace.c (inf_ttrace_wait): Return TARGET_WAITKIND_EXECD for + exec events. + * infcmd.c (kill_if_already_running, detach_command) + (disconnect_command): Replace SOLIB_RESTART with no_shared_libraries. + * infrun.c (MAY_FOLLOW_EXEC, may_follow_exec): Delete. + (follow_exec): Do not check may_follow_exec. Do not mourn and push + targets. Apply the sysroot path to the loaded executable. Use + no_shared_libraries. + * linux-nat.c (linux_child_follow_fork): Print fork following + messages if verbose. + (kill_wait_callback): Kill again before waiting a second time. + * symfile.c (symbol_file_clear): Replace SOLIB_RESTART with + no_shared_libraries. + +2008-01-29 Joel Brobecker + + * amd64-tdep.c (amd64_classify): Add handling of TYPE_CODE_CHAR. + +2008-01-29 Joel Brobecker + + * nto-tdep.h: Remove #include "defs.h". + * nto-tdep.c: Add #include "defs.h". + * Makefile.in (nto_tdep_h): Update dependencies. + (nto-tdep.o): Likewise. + +2008-01-29 Joel Brobecker + + * infrun.c (wait_for_inferior): Add treat_exec_as_sigtrap parameter + and use it. + (proceed, start_remote): Update call to wait_for_inferior. + * inferior.h (wait_for_inferior): Update declaration. + * fork-child.c, infcmd.c, solib-irix.c, solib-osf.c, solib-sunos.c, + solib-svr4.c, win32-nat.c: Update calls to wait_for_inferior. + * inf-ttrace.c (inf_ttrace_wait): Report TTEVT_EXEC events as + TARGET_WAITKIND_EXECD instead of TARGET_WAITKIND_STOPPED. + +2008-01-29 Aleksandar Ristovski + + * varobj (adjust_value_for_child_access): Added checking for + returned value from gdb_value_ind. + (c_describe_child): Likewise. + (cplus_describe_child): Fixed a typo. + +2008-01-29 Jim Blandy + + * MAINTAINERS: Update my info. + +2008-01-29 Vladimir Prus + + Use multiple locations for hardware watchpoints. + This eliminates the need to traverse value chain, doing + various checks, in three different places. + + * breakpoint.h (struct bp_location): New fields + lengths and watchpoint_type. + (struct breakpoint): Remove the val_chain field. + * breakpoint.c (is_hardware_watchpoint): New. + (free_valchain): Remove. + (update_watchpoint): New. + (insert_bp_location): For hardware watchpoint, just + directly insert it. + (insert_breakpoints): Call update_watchpoint_locations + on all watchpoints. If we have failed to insert + any location of a hardware watchpoint, remove all inserted + locations. + (remove_breakpoint): For hardware watchpoints, directly + remove location. + (watchpoints_triggered): Iterate over locations. + (bpstat_stop_status): Use only first location of + a resource watchpoint. + (delete_breakpoint): Don't call free_valchain. + (print_one_breakpoint): Don't print all + locations for watchpoints. + (breakpoint_re_set_one): Use update_watchpoint for + watchpoints. + +2008-01-29 Vladimir Prus + + Don't reset watchpoint block on solib load. + + * breakpoint.c (insert_bp_location): For watchpoints, + recompute condition. + (breakpoint_re_set_one): Instead of recomputing value + and condition for watchpoints, just reset value and + let insert_breakpoints/insert_bp_location recompute it. + Don't do anything about disabled watchpoint. + +2008-01-29 Pierre Muller + + * valarith.c (value_binop): Handle unsigned integer + division by zero. + +2008-01-28 Kevin Buettner + + * mn10300-tdep.c (mn10300_analyze_prologue): Check for an + instruction pattern that appears frequently in position + independent code. Fix bug in code which looks for "fmov" and + backtracks if no "fmov" is found. + +2008-01-28 Doug Evans + + * dbxread.c (read_dbx_symtab): Fix indentation. + Reformat comments to 80 columns. + Move local var def closer to only use. + +2008-01-28 Daniel Jacobowitz + + * fork-child.c (SHELL_FILE): Remove #ifndef. + (fork_inferior): Remove SHELL_COMMAND_CONCAT. + +2008-01-25 Pierre Muller + + * i386-tdep.c (i386_skip_noop): New function. + (i386_analyze_prologue): Call i386_skip_noop function. + +2008-01-24 Michael Snyder + + * procfs.c (procfs_xfer_partial): Comment, cut/paste error. + * win32-nat.c (win32_xfer_partial): Ditto. + * target.c (default_xfer_partial): Minor whitespace adjustment. + +2008-01-24 Pedro Alves + + * arm-tdep.c (arm_addr_bits_remove): In non 26-bit mode, don't + strip bit 1 even if pc doesn't point to thumb code. + +2008-01-23 Daniel Jacobowitz + + * remote.c (remote_wait): Handle SIGINT between packets. + (remote_async_wait): Likewise. + +2008-01-23 Vladimir Prus + Chris Demetriou + + * thread.c (add_thread_silent): Renamed + from add_thread. + (print_thread_events): New variable definition. + (show_print_thread_events): New function. + (_initialize_thread): Add "set print thread-events" and + "show print thread-events" commands. + (add_thread): Announce new thread. + * gdbthread.h (add_thread_silent): Declare. + (print_thread_events): New variable declaration. + * inf-ttrace.c (inf_ttrace_wait): Don't + inform about new thread, as add_thread is always + called too, and will take care of that. + * infrun.c (handle_inferior_event): Likewise. + * procfs.c (procfs_wait): Likewise. + * remote.c (remote_currthread): Likewise. + * sol-thread.c (sol_thread_wait): Likewise. + * win32-nat.c (get_win32_debug_event): Likewise. + * linux-thread-db.c (attach_thread): Likewise. + Remove the verbose parameter. + (check_event): Make detach_thread be verbose + only if print_thread_events is set. + * linux-nat.c (lin_lwp_attach_lwp): Don't inform + about new thread. This is called only from + linux-thread-db.c:attach_thread, which will take care. + Remove the verbose parameter. + * linux-nat.h (lin_lwp_attach_lwp): Adjust prototype. + +2008-01-23 Nick Roberts + + * mi/mi-cmd-var.c (mi_cmd_var_set_format): Add value field to output. + +2008-01-22 Vladimir Prus + + * breakpoint.c (break_command_really): New parameter + ignore_count. + (break_command_1): Pass 0 as + ignore_count to break_command_really. + (gdb_breakpoint): Pass ignore_count to + break_command_really. + +2008-01-21 Kevin Buettner + + * mn10300-linux-tdep.c (am33_linux_sigframe_cache_init): Find + sigcontext struct via pointer. + (struct sigframe comment): Update to show new field `psc'. + +2008-01-21 Vladimir Prus + + * infrun.c (handle_inferior_event): If + we failed to remove breakpoints, error, + don't try to increment PC by hand. + +2008-01-18 Nick Hudson + + Add NetBSD/hppa target and host support. + + * hppabsd-tdep.c (hppabsd_supply_gregset): Move to ... + (hppabsd_gregset): Move to ... + (hppabsd_regset_from_core_section): Rename + hppaobsd_regset_from_core_section and move to ... + (hppabsd_find_global_pointer): Update comment. + (hppabsd_init_abi): Make global. Do not register + hppabsd_regset_from_core_section. + (hppabsd_core_osabi_sniffer): Rename hppaobsd_core_osabi_sniffer and + move to ... + (_initialize_hppabsd_tdep): Move to ... + * hppaobsd-tdep.c: ... here. New file. + * hppnbsd-tdep.c: New file. + * hppnbsd-nat.c: New file. + * Makefile.in (ALL_TARGET_OBS): Add hppanbsd-tdep.o and hppaobsd-tdep.o. + (ALLDEPFILES): Add hppabsd-nat.c and hppabsd-tdep.c. + (hppabsd-nat.o, hppabsd-tdep.o): New dependencies. + (hppabsd-tdep.o, hppaobsd-tdep.o): Update dependencies. + * configure.host (hppa*-*-netbsd*): New entry. + * configure.tgt (hppa*-*-netbsd*): New entry. + (hppa*-*-openbsd*): Update. + * NEWS (New native configuration): Mention NetBSD/hppa. + (New targets): Mention NetBSD/hppa. + +2008-01-18 Markus Deuling + + * gdbarch.sh (function_list): Add new property bits_big_endian to + gdbarch structure. + * gdbarch.{c,h}: Regenerate. + + * value.c (struct value): Replace BITS_BIG_ENDIAN by + gdbarch_bits_big_endian (comment). + (unpack_field_as_long, modify_field): Likewise. + * value.h: Likewise (comment). + * valops.c (value_slice): Likewise. + * valarith.c (value_subscript, value_bit_index): Likewise. + * gdbtypes.h (field): Likewise (comment). + * eval.c (evaluate_subexp_standard): Likewise. + * dwarf2read.c (dwarf2_add_field): Likewise. + * ada-lang.c (decode_packed_array, ada_value_primitive_packed_val) + (move_bits, ada_value_assign, value_assign_to_component): Likewise. + + * defs.h (BITS_BIG_ENDIAN): Remove. + +2008-01-18 Markus Deuling + + * jv-exp.y (yylex): Replace DEPRECATED_STREQN with the appropriate + function calls. + * m2-exp.y (yylex): Likewise. + * objc-exp.y (yylex): Likewise. + + * defs.h (DEPRECATED_STREQN): Remove. + +2008-01-17 H.J. Lu + + * MAINTAINERS: Update my email address. + +2008-01-17 Jim Blandy + + * README: Mention gdbserver/README. + +2008-01-17 Pierre Muller + + * valarith.c (value_binop): Handle BINOP_INTDIV + for unsigned and signed integers. + +2008-01-17 Ulrich Weigand + + * s390-tdep.c (s390_gdbarch_init): Set default long double + type to 128-bit IEEE quad. + +2008-01-17 Joel Brobecker + + * hpux-thread.c (hpux_thread_resume): Delete commented-out code. + +2008-01-16 Mark Kettenis + + * auxv.c (fprint_target_auxv): Add support for AT_SUN_AUXFLAGS. + + * dfp.c, dfp.h: Rename decimal_to_double to decimal_to_doublest. + * value.c: All callers changed. + +2008-01-16 Markus Deuling + + * rs6000-nat.c (add_vmap, vmap_ldinfo, vmap_exec): Replace + DEPRECATED_STREQ by its expression. + * coffread.c (coff_locate_sections, coff_symtab_read): Likewise. + * xcoffread.c (read_xcoff_symtab, read_symbol_lineno, find_linenos) + (scan_xcoff_symtab): Likewise. + * hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Likewise. + * f-lang.c (find_common_for_function): Likewise. + * objc-exp.y (parse_number): Likewise. + + * defs.h (DEPRECATED_STREQ): Remove. + +2008-01-16 Markus Deuling + + * mn10300-tdep.h (AM33_MODE): Add gdbarch as parameter. + * mn10300-tdep.c (set_reg_offsets, mn10300_analyze_prologue): Use + get_frame_arch to get at the current_architecture. Update AM33_MODE + call. + (mn10300_analyze_prologue): Add gdbarch as parameter. Update caller. + (mn10300_frame_unwind_cache): Use get_frame_arch to get at the current + architecture. + (set_reg_offsets, mn10300_analyze_prologue): Fix indentation. + +2008-01-16 Markus Deuling + + * amd64-nat.h (amd64_native_gregset_supplies_p): Add gdbarch as + parameter. + * amd64-nat.c (amd64_native_gregset_supplies_p): Likewise. + + (amd64_native_gregset_reg_offset): Add gdbarch as parameter. Replace + current_gdbarch by gdbarch. Update caller. + + * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers) + (amd64_linux_store_inferior_registers): Use get_regcache_arch to get at + the current architecture. Update calls of + amd64_native_gregset_supplies_p. + * amd64bsd-nat.c (amd64bsd_fetch_inferior_registers) + (amd64bsd_store_inferior_registers): Likewise. + +2008-01-16 Markus Deuling + + * ppc-linux-nat.c (ppc_register_u_addr): Add gdbarch as parameter. + Replace current_gdbarch by gdbarch. Update caller. + +2008-01-16 Markus Deuling + + * dbxread.c (repeated_header_complaint, dbx_symfile_init) + (read_dbx_dynamic_symtab, function_outside_compilation_unit_complaint) + (read_dbx_symtab, end_psymtab, dbx_psymtab_to_symtab_1) + (dbx_psymtab_to_symtab, read_ofile_symtab, process_one_symbol) + (stabsect_build_psymtabs): Fix indentation. + +2008-01-15 Michael Snyder + + * corelow.c (core_xfer_partial): Comment, cut/paste error. + +2008-01-14 Pierre Muller + + * win32-nat.c (win32_create_inferior): Restore code calling + CloseHandle on ProcessInformation structure. + +2008-01-13 Nick Hudson + + * configure.ac: Check for void * as 3 argument of ptrace. + * configure: regenerate. + +2008-01-11 Markus Deuling + + * alpha-tdep.c (alpha_heuristic_proc_start) + (alpha_sigtramp_register_address): Add gdbarch as parameter. Replace + current_gdbarch by gdbarch. + + (alpha_heuristic_frame_unwind_cache): Use get_frame_arch to get at the + current architecture by frame_info. Update alpha_heuristic_proc_start + call. + + (alpha_sigtramp_frame_this_id, alpha_sigtramp_frame_prev_register): Use + get_frame_arch to get at the current architecture by frame_info. Update + alpha_sigtramp_register_address call. + + * arm-tdep.c (thumb_scan_prologue): Add gdbarch as parameter and replace + current_gdbarch by gdbarch. Update caller. + (convert_to_extended, convert_from_extended): Add endianess parameter + for comparison. Update caller. + (arm_extract_return_value, arm_store_return_value): Use + get_regcache_arch to get at the current architecture. + + * cris-tdep.c (cris_register_size): Add gdbarch as parameter. Replace + current_gdbarch by gdbarch. Update caller. + (cris_gdb_func, move_to_preg_op, none_reg_mode_move_from_preg_op): Add + gdbarch as parameter. Update caller. Replace current_gdbarch by gdbarch. + + * h8300-tdep.c (E_PSEUDO_CCR_REGNUM, E_PSEUDO_EXR_REGNUM, BINWORD): Add + gdbarch as parameter. Update caller. + (h8300_init_frame_cache): Add gdbarch as parameter. Replace + current_gdbarch by gdbarch. Update caller. + + * hppa-tdep.c (skip_prologue_hard_way): Add gdbarch as parameter and + update caller. Replace current_gdbarch by gdbarch. + + * m32c-tdep.c (m32c_skip_trampoline_code): Use get_frame_arch to get at + the current architecture. Replace current_gdbarch by gdbarch. + * m68hc11-tdep.c (m68hc11_frame_unwind_cache): Likewise. + (STACK_CORRECTION, USE_PAGE_REGISTER): Replace M6811_TDEP by its + expression. Add gdbarch as parameter and replace current_gdbarch with + it. Update caller. + (M6811_TDEP): Remove. + (m68hc11_frame_prev_register): Use get_frame_arch to get at the current + architecture. + (m68hc11_scan_prologue): Add gdbarch as parameter. Replace + current_gdbarch by gdbarch. Update caller. + + * m68k-tdep.c (m68k_analyze_prologue): Add gdbarch as parameter and + update caller. + (m68k_analyze_register_saves): Likewise. Also replace current_gdbarch + by gdbarch. + + * rs6000-tdep.c (skip_prologue): Add gdbarch as parameter and update + caller. Relace current_gdbarch by gdbarch. + (altivec_register_p, spe_register_p): Likewise. + * ppc-tdep.h (altivec_register_p, spe_register_p): Add gdbarch as + parameter. + * ppc-linux-nat.c (fetch_register, store_register): Update caller of + altivec_register_p and spe_register_p. + + * score-tdep.c (score_fetch_inst): Add gdbarch as parameter. Update + caller. Replace current_gdbarch by gdbarch. + (score_analyze_prologue): use get_frame_arch to get at the current + architecture. + + * sparc-tdep.h (sparc_analyze_prologue): Add gdbarch as parameter. + * sparc-tdep.c (sparc_analyze_prologue): Likewise. Replace + current_gdbarch by gdbarch. Update caller. + (sparc_frame_cache): Use get_frame_arch to get at the current + architecture. + * sparce64-tdep.c (sparc64_skip_prologue): Update call of + sparc_analyze_prologue. + + * mn10300-tdep.c (mn10300_dwarf2_reg_to_regnum): Add gdbarch as + parameter. + +2008-01-11 Markus Deuling + + * exec.c: #include "arch-utils.h" + (print_section_info): Use gdbarch_from_bfd to get at the + current architecture. Replace current_gdbarch. Fix indention. Replace + deprecated_print_address_numeric by paddress. + * Makefile.in (exec.o) Add dependency to arch-utils.h. + + * valprint.c (val_print_string): Replace + deprecated_print_address_numeric. + * tracepoint.c (trace_mention, scope_info): Likewise. + * symmisc.c (dump_msymbols, dump_psymtab, dump_symtab_1, print_symbol) + (print_symbol, print_partial_symbols, maintenance_info_psymtabs) + (maintenance_check_symtabs): Likewise. + * symfile.c (list_overlays_command): Likewise. + * stack.c (frame_info, print_block_frame_labels): Likewise. + * printcmd.c (print_address, print_address_demangle) + (address_info): Likewise. + * corefile.c (memory_error): Likewise. + * infcmd.c (jump_command): Likewise. + * breakpoint.c (insert_bp_location, describe_other_breakpoints) + (mention, delete_breakpoint): Likewise. + * c-valprint.c (print_function_pointer_address, c_val_print): Likewise. + * dwarf2read.c (dump_die): Likewise. + * ada-valprint.c (ada_val_print_1): Likewise. + * f-valprint.c (f_val_print): Likewise. + * linux-fork.c (info_forks_command): Likewise. + * m32r-com.c (m32r_load_section, m32r_load) + (m32r_upload_command): Likewise. + + * ui-out.c (ui_out_field_core_addr): Remove unnecessary comment. + +2008-01-11 Markus Deuling + + * gdbarch.sh (skip_prologue): Add gdbarch + as parameter. + * gdbarch.{c,h}: Regenerate. + + * alpha-tdep.c (alpha_skip_prologue): Add gdbarch as parameter. + * amd64-tdep.c (amd64_skip_prologue): Likewise. + * avr-tdep.c (avr_skip_prologue): Likewise. + * cris-tdep.c (cris_skip_prologue): Likewise. + * frv-tdep.c (frv_skip_prologue): Likewise. + * h8300-tdep.c (h8300_skip_prologue): Likewise. + * hppa-tdep.c (hppa_skip_prologue): Likewise. + * i386-tdep.c (i386_skip_prologue): Likewise. + * ia64-tdep.c (ia64_skip_prologue): Likewise. + * iq2000-tdep.c (iq2000_skip_prologue): Likewise. + * m32r-tdep.c (m32r_skip_prologue): Likewise. + * m68hc11-tdep.c (m68hc11_skip_prologue): Likewise. + * m68k-tdep.c (m68k_skip_prologue): Likewise. + * m88k-tdep.c (m88k_skip_prologue): Likewise. + * mep-tdep.c (mep_skip_prologue): Likewise. + * mips-tdep.c (mips_skip_prologue): Likewise. + * mn10300-tdep.c (mn10300_skip_prologue): Likewise. + * mt-tdep.c (mt_skip_prologue): Likewise. + * rs6000-tdep.c (rs6000_skip_prologue): Likewise. + * score-tdep.c (score_skip_prologue): Likewise. + * sh64-tdep.c (sh64_skip_prologue): Likewise. + * sh-tdep.c (sh_skip_prologue): Likewise. + * sparc64-tdep.c (sparc64_skip_prologue): Likewise. + * sparc-tdep.c (sparc32_skip_prologue): Likewise. + * spu-tdep.c (spu_skip_prologue): Likewise. + * v850-tdep.c (v850_skip_prologue): Likewise. + * vax-tdep.c (vax_skip_prologue): Likewise. + * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise. + * xtensa-tdep.c (xtensa_skip_prologue): Likewise. + + * arm-tdep.c (arm_skip_prologue): Add gdbarch as parameter. Replace + current_gdbarch by gdbarch. + * m32c-tdep.c (m32c_skip_prologue): Likewise. + * s390-tdep.c (s390_skip_prologue): Likewise. + +2008-01-10 Doug Evans + + * defs.h (struct continuation_arg): Fix typo in comment. + * target.c (target_translate_tls_address): Fix comment spelling error. + +2008-01-09 Thiago Jung Bauermann + + * doublest.h (DOUBLEST_PRINT_FORMAT): Remove % from string. + (DOUBLEST_SCAN_FORMAT): Likewise. + * dfp.c (decimal_from_floating): Use DOUBLEST_PRINT_FORMAT. + * ada-lex.l (processReal): Prepend "%" to use of DOUBLEST_SCAN_FORMAT. + * c-exp.y (parse_number): Likewise. + * jv-exp.y (parse_number): Likewise. + * objc-exp.y (parse_number): Likewise. + * p-exp.y (parse_number): Likewise. + +2008-01-09 Joel Brobecker + + * gdbtypes.c (create_array_type): Add handling of null Ada arrays. + (check_typedef): Likewise. + +2008-01-09 Luis Machado + + * printcmd.c (printf_command): Add seen_big_h, seen_big_d and + seen_double_big_d, treat the new H, D, and DD modifiers as length + modifiers. + +2008-01-08 Joel Brobecker + + * dwarf2read.c (read_enumeration_type): Add comment. + +2008-01-08 Thiago Jung Bauermann + + * config.in: Regenerate. + +2008-01-08 Joel Brobecker + + * ada-lang.c (ada_convert_actual): Renames convert_actual. + Make non-static. + (ada_convert_actuals): Delete. + * ada-lang.h (ada_convert_actual): Add declaration. + (ada_convert_actuals): Remove declaration. + * infcall.c: #include "ada-lang.h". + (value_arg_coerce): Add new parameter sp. Update function + documetnation. Add handling of Ada function call parameters. + * Makefile.in (infcall.o): Update dependencies. + +2008-01-08 Paul Hilfinger + + * ada-lang.c (ensure_lval): Fix value lval kind. + (convert_actual): Add handling for arguments passed by reference. + +2008-01-08 Doug Evans + + * dbxread.c (read_dbx_symtab): Fix indentation. + +2008-01-07 Thiago Jung Bauermann + + * Makefile.in (dfp.o): Depend on expression.h, gdbtypes.h and value.h. + (valarith.o): Depend on dfp.h. + (valops.o): Likewise. + * dfp.c: Include expression.h, gdbtypes.h, value.h and dfp.h. + (set_decnumber_context): New function. + (decimal_check_errors): Likewise. + (decimal_from_number): Likewise. + (decimal_to_number): Likewise. + (decimal_from_string): Use set_decnumber_context and + decimal_check_errors. + (decimal_from_integral): New function. + (decimal_from_floating): Likewise. + (decimal_to_double): Likewise. + (promote_decimal): Likewise. + (decimal_binop): Likewise. + (decimal_is_zero): Likewise. + (decimal_compare): Likewise. + (decimal_convert): Likewise. + * dfp.h (decimal_from_integral): New prototype. + (decimal_from_floating): Likewise. + (decimal_to_double): Likewise. + (decimal_binop): Likewise. + (decimal_is_zero): Likewise. + (decimal_compare): Likewise. + (decimal_convert): Likewise. + * eval.c (evaluate_subexp_standard): Remove expect_type argument from + call to value_from_decfloat. + * valarith.c: Include dfp.h. + (value_args_as_decimal): New function. + (value_binop): Add if block to handle TYPE_CODE_DECFLOAT values. + (value_logical_not): Likewise. + (value_equal): Likewise. + (value_less): Likewise. + (value_pos): Likewise. + (value_neg): Formatting fix. + * valops.c: Include dfp.h. + (value_cast): Add if block to handle TYPE_CODE_DECFLOAT values. + * value.c (unpack_long): Add case to handle TYPE_CODE_DECFLOAT. + (unpack_double): Add if block to handle TYPE_CODE_DECFLOAT. + (value_from_decfloat): Remove expect_type argument. + * value.h (value_from_decfloat): Update prototype. + +2008-01-07 Vladimir Prus + + Ignore change in name of dynamic linker during + execution on Solaris. This also unbreaks pending breakpoints. + + * solist.h (struct target_so_ops): New field same. + * solib-svr4.c (svr4_same): New. + (_initialize_svr4_solib): Register svr4_same. + * solib.c (update_solib_list): Use ops->same, if available. + +2008-01-06 Christopher Faylor + + * win32-nat.c (win32_make_so): Use cygwin-style path to avoid warnings + when using MS-DOS paths. + +2008-01-05 Pedro Alves + + * NEWS: Mention --pid and --core command line behaviour changes. + +2008-01-05 Pedro Alves + + * main.c (captured_main): Remove 'count' varible and the + ALIGN_STACK_ON_ENTRY block that used it. Error out if --core and + --pid options were issued simultaneously. If an explicit pid + option was passed, don't fallback to core file. Detect extra + arguments better in the presence of explicit pid or core + arguments. + +2008-01-05 Joel Brobecker + + * ada-lang.c (ada_which_variant_applies): Correctly compute + the value of the discriminant when the variant record is packed. + +2008-01-04 Joel Brobecker + + * ada-lang.c (is_name_suffix): Handle middle-name numeric suffixes + that are used to differentiate homonyms. + +2008-01-04 Jerome Guitton + + * ada-lang.c (decode_packed_array_type): Avoid a seg fault + when the type is an anonymous pointer type. + (ada_check_typedef): Avoid a seg fault when the type is null. + * ada-typeprint.c (print_array_type): Add support for pointer + to packed arrays. + +2008-01-04 Paul N. Hilfinger + + * ada-exp.y: Allow '{type} ADDRESS' notation on left of assignment. + +2008-01-04 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp): Evaluate tagged types in + EVAL_NORMAL mode when noside is EVAL_AVOID_SIDE_EFFECTS. + +2008-01-04 Joel Brobecker + + * ada-exp.y (chop_separator): New function. + (write_selectors): Rewrite to re-use chop_separator. + (ada_nget_field_index, get_symbol_field_type): New functions. + (write_var_or_type): Add support for "ptype TYPENAME.FIELD" + expressions. + +2008-01-03 Thiago Jung Bauermann + + * symtab.c (find_pc_sect_line): Use SYMBOL_VALUE_ADDRESS instead + of SYMBOL_VALUE when working with function symbols. + +2008-01-03 Joel Brobecker + + * ada-lang.c (resolve_subexp): Add handling of OP_REGISTER + expressions. These expressions do not need to be rewriten. + +2008-01-03 Joel Brobecker + + * dwarf2read.c (read_enumeration_type): Flag type as stub if + the given die is a declaration. + +2008-01-03 Joel Brobecker + + * ada-lang.c (ada_array_bound_from_type): Make non-static. + Handle properly the case when the index type is an enumerated type. + Do not return the subtype of the bounds type, just return the + bounds type directly - this is not needed and is more consistent + with what we do for arrays when no XA parallel type exists. + +2008-01-03 Joel Brobecker + + * ada-lang.c (static_unwrap_type): Add forward declaration. + (template_to_static_fixed_type): Fields of dynamic types sometimes + also need to be unwrapped. Take this into account. + (ada_to_fixed_type_1): Renamed from ada_to_fixed_type. + (ada_to_fixed_type): New wrapper around ada_to_fixed_type_1. + * ada-typeprint.c (ada_print_type): Get the typename from + the original type, not the base type. + +2008-01-03 Jerome Guitton + + * ada-lang.c (ada_value_struct_elt, to_fixed_array_type) + (to_fixed_array_type, ada_to_fixed_value_create, unwrap_value): + Update calls to ada_to_fixed_type. + (ada_template_to_fixed_record_type_1): Ditto, but without looking + for the tag. + (ada_to_fixed_type): Add check_tag parameter; do not look for + tag if null. When looking for a tag, use a fixed record type. + * ada-lang.h (ada_to_fixed_type): Add check_tag parameter. + * ada-valprint.c (printable_val_type, ada_value_print): Update + calls to ada_to_fixed_type. + +2008-01-03 Luis Machado + + * doublest.c (convert_floatformat_to_doublest): Call + floatformat_to_doublest instead of floatformat_to_double and use + DOUBLEST variables. + (convert_doublest_to_floatformat): Call floatformat_from_doublest + instead of floatformat_from_double and use DOUBLEST variables. + +2008-01-03 Nick Hudson + + * MAINTAINERS (Write After Approval): Add self. + +2008-01-03 Joel Brobecker + + * symfile.c (set_initial_language): Make non-static. + * symfile.h (set_initial_language): Add declaration. + * language.c: #include "symfile.h". + (set_language): Call set_initial_language if the frame language + could not be determined. + +2008-01-03 Paul N. Hilfinger + + * eval.c (evaluate_subexp_for_address): Provide frame address to + locate_var_value only if it will be needed. + +2008-01-02 Jan Kratochvil + + * linux-nat.c (linux_child_follow_fork): Call also CHECK_FOR_THREAD_DB. + +2008-01-02 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp): Modify the value returned + when noside is EVAL_AVOID_SIDE_EFFECTS to be an lval_memory. + This is needed to make sure that any other treatment applied + to the resulting value does not fail for spurious reason, + such as trying to take the address of this value. + +2008-01-02 Joel Brobecker + + * ada-lang.c (ada_value_equal): Dereference reference types when + comparing arrays. + +2008-01-01 Daniel Jacobowitz + + Updated copyright notices for most files. + +2008-01-01 Christopher Faylor + + * win32-nat.c (psapi_module_handle): Remove static. + (get_module_name): Rename from psapi_get_dll_name. Revamp slightly to + return first module found if base_address is zero. Don't initialize + psapi function pointers here. Convert to cygwin paths when + appropriate. + (win32_pid_to_exec_file): Use Cygwin's /proc interface to determine + executable name. Use get_module_name when that fails or when + !__CYGWIN__. + (_initialize_psapi): New function. Initialize psapi stuff before it is + needed or issue a warning if it is not found. Move psapi_module_handle + here. + +2008-01-01 Joel Brobecker + + * ada-lang.c (ada_remove_trailing_digits): New function. + (ada_remove_po_subprogram_suffix): New function. + (ada_decode): Improve. Move the description of the algorithm + directly inside the code, instead of in the function global + description. + +2008-01-01 Joel Brobecker + + * ada-valprint.c (ada_val_print_1) [TYPE_CODE_REF]: Ignore deref_ref + and always print the dereferenced value. + +2008-01-01 Joel Brobecker + + * ada-lang.c (ada_evaluate_subexp, case BINOP_SUB): Add handling + of the case where the first argument is a reference. + (ada_evaluate_subexp, case BINOP_ADD): Likewise. + +2008-01-01 Joel Brobecker + + Implement support for Ada interface types. + + * ada-lang.c (ada_is_dispatch_table_ptr_type): New function. + (ada_is_ignored_field): Ignore fields that are a dispatch table + of a tagged type. + +2008-01-01 Joel Brobecker + + * top.c (print_gdb_version): Update copyright year. + +2008-01-01 Joel Brobecker + + * ChangeLog-2007: New ChangeLog rotation. + * ChangeLog: Reset for 2008. + * config/djgpp/fnchange.lst: Add entries for ChangeLog-2006 and + ChangeLog-2007. + +For older changes see ChangeLog-2007. + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +coding: utf-8 +End: -- cgit v1.1