blob: 5d1f62119ec56aaa84e78854cca30aae95ba34b2 [file] [log] [blame]
2011-12-30 Doug Evans <>
* dwarf2read.c (read_typedef): Guard against self-referential typedefs.
2011-12-28 Jan Kratochvil <>
* (max_insn_length): Extend the comment by unit.
* gdbarch.h: Regenerate.
2011-12-28 Joel Brobecker <>
* varobj.c (varobj_update): Minor reformatting, putting the function
name at the start of the next line.
2011-12-27 Doug Evans <>
* dwarf2read.c (struct dwarf2_cu): Delete members first_fn, last_fn,
(struct function_range): Delete.
(initialize_cu_func_list, add_to_cu_func_list): Delete. All callers
(check_cu_functions): Ditto.
2011-12-27 Mark Kettenis <>
* inf-ptrace.c [PT_IO && PIOD_READ_AUXV]
(inf_ptrace_xfer_partial): Implement TARGET_OBJECT_AUXV.
(inf_ptrace_auxv_parse): New function.
(inf_ptrace_target): Initialize to_auxv_parse field.
2011-12-27 Joel Brobecker <>
* ada-lang.c (should_use_wild_match): New function.
(ada_lookup_simple_minsym): Use should_use_wild_match.
Minor simplification. Add comment.
(ada_lookup_symbol_list): Use should_use_wild_match.
Minor simplification.
2011-12-27 Joel Brobecker <>
* py-finishbreakpoint.c (bpfinishpy_init): Replace call to
sprintf by call to xsnprintf.
2011-12-27 Joel Brobecker <>
* linespec.c (struct collect_minsyms) [list_mode]: New field.
(add_minsym): Ignore data symbols if not in list mode.
(search_minsyms_for_name): Set local.list_mode.
2011-12-27 Joel Brobecker <>
* utils.c (gdb_realpath): Add better support for Windows hosts.
2011-12-23 Kevin Pouget <>
Introduce gdb.FinishBreakpoint in Python.
* NEWS: Add entry for FinishBreakpoint.
* (SUBDIR_PYTHON_OBS): Add py-finishbreakpoint.o.
(SUBDIR_PYTHON_SRCS): Add python/py-finishbreakpoint.c.
Add build rule for this file.
* infcmd.c (print_return_value): Split to create get_return_value.
(get_return_value): New function based on print_return_value. Handle
case where stop_registers are not set.
* inferior.h (get_return_value): New prototype.
* python/py-breakpoint.c (bppy_pending_object): Make non-static.
(gdbpy_breakpoint_created): Set is_py_finish_bp is necessary.
(struct breakpoint_object): Move to python-internal.h
(gdbpy_breakpoint_created): Initialize is_finish_bp.
(gdbpy_should_stop): Add pre/post hooks before/after calling stop
* python/python-internal.h (breakpoint_object_type): Add as extern.
(bppy_pending_object): Likewise.
(typedef struct breakpoint_object) Removed.
(struct breakpoint_object): Moved from py-breakpoint.c.
Add field is_finish_bp.
(BPPY_REQUIRE_VALID): Moved from py-breakpoint.c.
(frame_object_to_frame_info): New prototype.
(gdbpy_initialize_finishbreakpoints): New prototype.
(bpfinishpy_is_finish_bp): Likewise.
(bpfinishpy_pre_stop_hook): Likewise.
(bpfinishpy_post_stop_hook): Likewise.
* python/py-finishbreakpoint.c: New file.
* python/py-frame.c(frame_object_to_frame_info): Make non-static and
accept PyObject instead of frame_object.
(frapy_is_valid): Don't cast to frame_object.
(frapy_name): Likewise.
(frapy_type): Likewise.
(frapy_unwind_stop_reason): Likewise.
(frapy_pc): Likewise.
(frapy_block): Likewise.
(frapy_function): Likewise.
(frapy_older): Likewise.
(frapy_newer): Likewise.
(frapy_find_sal): Likewise.
(frapy_read_var): Likewise.
(frapy_select): Likewise.
* python/python.c (gdbpy_is_stopped_at_finish_bp): New noop function.
(_initialize_python): Add gdbpy_initialize_finishbreakpoints.
* python/python.h: Include breakpoint.h
(gdbpy_is_stopped_at_finish_bp): New prototype.
2011-12-22 Tom Tromey <>
PR python/12533:
* value.h (release_value_or_incref): Declare.
* value.c (struct value) <released>: New field.
(free_all_values, release_value, value_release_to_mark): Update
(release_value_or_incref): New function.
* python/py-value.c (valpy_new): Use release_value_or_incref.
(value_to_value_object): Likewise.
* varobj.c (install_new_value): Move value_incref earlier.
2011-12-22 Tom Tromey <>
* value.c (struct value) <modifiable, lazy, optimized_out,
initialized, stack>: Now bitfields. Move to top.
<reference_count>: Move earlier.
2011-12-21 Tom Tromey <>
* minsyms.h: Rearrange. Document header and all functions.
* minsyms.c: Move some comments to minsyms.h.
2011-12-21 Tom Tromey <>
* symtab.h: Include minsyms.h.
(prim_record_minimal_symbol, prim_record_minimal_symbol_full)
(prim_record_minimal_symbol_and_info, msymbol_hash_iw)
(msymbol_hash, SYMBOL_HASH_NEXT, msymbol_objfile)
(lookup_minimal_symbol, lookup_minimal_symbol_text)
(lookup_minimal_symbol_by_pc_name, lookup_minimal_symbol_by_pc)
(iterate_over_minimal_symbols, lookup_minimal_symbol_and_objfile)
(make_cleanup_discard_minimal_symbols, install_minimal_symbols)
(msymbols_sort): Move to minsyms.h.
* objfiles.c (terminate_minimal_symbol_table): Move to minsyms.c.
* minsyms.c (terminate_minimal_symbol_table): Move from
* minsyms.h: New file.
2011-12-21 Tom Tromey <>
* hppa-hpux-tdep.c (hppa64_hpux_search_dummy_call_sequence): Use
(hppa_hpux_find_dummy_bpaddr): Likewise.
* jit.c (jit_object_close_impl): Use
2011-12-21 Tom Tromey <>
* elfread.c (elf_symtab_read): Put the filename in the filename
2011-12-21 Tom Tromey <>
* symtab.h (struct minimal_symbol) <filename>: Now const.
2011-12-21 Ulrich Weigand <>
PR tdep/12797
* arm-tdep.c (arm_return_value): Handle complex types.
2011-12-21 Andreas Schwab <>
* ppc-linux-nat.c (create_watchpoint_request): Only use ranged
watchpoints when supported.
2011-12-21 Jan Kratochvil <>
* symfile.c (objfilep): New typedef and new DEF_VEC_P.
(reread_symbols): Remove variable reread_one, new variables
new_objfiles, all_cleanups and ix. Use new_objfiles instead of
reread_one. Push changed objfiles to new_objfiles, call
observer_notify_new_objfile for them later.
2011-12-21 Joel Brobecker <>
* psymtab.c (expand_symtabs_matching_via_partial): Match
the partial symbols using their SYMBOL_SEARCH_NAME.
* symfile.h (struct quick_symbol_functions): Udate the
documentation of expand_symtabs_matching.
* dwarf2read.c (write_psymbols): Use SYMBOL_SEARCH_NAME instead
of SYMBOL_NATURAL_NAME in index entry.
2011-12-21 Joel Brobecker <>
* linespec.c (locate_first_half): Add handling of Ada operators
when the current language is Ada.
2011-12-21 Joel Brobecker <>
* objfiles.c (insert_section_p): Do not detect overlay sections
if overlay debugging is off.
2011-12-21 Joel Brobecker <>
* ada-lang.c (is_name_suffix): Add handling of "TKB" suffixes.
Update function documentation.
* dictionary.c (dict_hash): Ignore "TKB" suffixes in hash
2011-12-20 Pedro Alves <>
Jan Kratochvil <>
* linux-nat.c (add_lwp): Don't call linux_nat_new_thread on the
first LWP.
* amd64-linux-nat.c (update_debug_registers_callback): Instantiate
`lwp->arch_private' if NULL.
(amd64_linux_prepare_to_resume): Do nothing if `lwp->arch_private'
is NULL.
* i386-linux-nat.c (update_debug_registers_callback): Instantiate
`lwp->arch_private' if NULL.
(i386_linux_prepare_to_resume): Do nothing if `lwp->arch_private'
is NULL.
2011-12-19 Doug Evans <>
* python/py-auto-load.c (info_auto_load_scripts): Pass address of
scripts vector to collect_matching_scripts.
(collect_matching_scripts): Update.
2011-12-19 Jan Kratochvil <>
* symfile.c (reread_symbols): Move free_objfile_separate_debug,
preserve_values, sym_finish and clear_objfile_data calls before BFD
close. Move free_objfile_separate_debug as the very first call. New
comment on the ordering.
2011-12-19 Ulrich Weigand <>
* s390-tdep.c (s390_push_dummy_call): Set addressing mode bit
in return PSWA.
2011-12-19 Tom Tromey <>
* symtab.h (add_minsym_to_hash_table): Don't declare.
* minsyms.c (add_minsym_to_hash_table): Now static.
2011-12-19 Joel Brobecker <>
* elfread.c (elf_symtab_read): Ignore undefined symbols with
nonzero addresses if they do not correspond to a .plt section
when one is available in the objfile.
2011-12-17 Andreas Schwab <>
* cp-name-parser.y (cp_merge_demangle_parse_infos): Don't use
2011-12-17 Mark Kettenis <>
* amd64obsd-tdep.c (amd64obsd_init_abi): Don't set
(amd64obsd_core_init_abi): New function that sets
(_initialize_amd64obsd_tdep): Use amd64obsd_core_init_abi for
traditional core dumps.
2011-12-17 Mark Kettenis <>
* amd64obsd-tdep.c (amd64obsd_sigtramp_p): Detect new signal
trampoline to be introduced in OpenBSD 5.0.
2011-12-17 Jan Kratochvil <>
Fix build regression from the PR threads/10729 fix.
* s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint): Use LP,
not LP->PTID.
2011-12-16 Andrey Smirnov <>
* mi/mi-main.c (mi_cmd_list_thread_groups): Rename `optind' and
`optarg' to `oind' and `oarg', respectively(-Wshadow).
(mi_cmd_data_read_memory): Ditto.
(mi_cmd_data_read_memory_bytes): Ditto.
(mi_cmd_data_write_memory): Ditto.
2011-12-16 Andrey Smirnov <>
* mi/mi-getopt.c (mi_getopt): Rename `optind' and `optarg' to
`oind' and `oarg', respectively(-Wshadow).
(mi_valid_noargs): Ditto.
2011-12-16 Andrey Smirnov <>
* mi/mi-cmd-var.c (print_varobj): Rename `optind' and `optarg' to
`oind' and `oarg', respectively(-Wshadow).
2011-12-16 Andrey Smirnov <>
* mi/mi-cmd-target.c (mi_cmd_target_file_get): Rename `optind' and
`optarg' to `oind' and `oarg', respectively(-Wshadow).
(mi_cmd_target_file_put): Ditto.
(mi_cmd_target_file_delete): Ditto.
2011-12-16 Andrey Smirnov <>
* mi/mi-cmd-env.c (mi_cmd_env_path): Rename `optind' and
`optarg' to `oind' and `oarg', respectively(-Wshadow).
(mi_cmd_env_dir): Ditto.
2011-12-16 Andrey Smirnov <>
* mi/mi-cmd-disas.c (mi_cmd_disassemble): Rename `optind' and
`optarg' to `oind' and `oarg', respectively(-Wshadow).
2011-12-16 Andrey Smirnov <>
* mi/mi-cmd-break.c (mi_cmd_break_insert): Rename `optind' and
`optparg' to `oind' and `oarg', respectively(-Wshadow).
(mi_cmd_break_watch): Ditto.
2011-12-16 Tom Tromey <>
* linespec.c (collect_symbols): Call maybe_add_address after
calling symbol_to_sal.
(minsym_found): Call maybe_add_address here.
(search_minsyms_for_name): Don't call maybe_add_address.
2011-12-16 Tom Tromey <>
* linespec.c (struct collect_info) <objfile>: Remove field.
(decode_objc): Update.
(find_method): Update.
(decode_variable): Update.
(struct minsym_and_objfile): New.
(struct collect_minsyms): New.
(classify_mtype): New function.
(compare_msyms): Likewise.
(add_minsym): Likewise.
(check_minsym): Remove.
(search_minsyms_for_name): Sort minsyms and apply only those with
top priority.
2011-12-16 Tom Tromey <>
* cli/cli-cmds.c (filter_sals): Filter out sals with NULL symtab.
2011-12-16 Pedro Alves <>
* inf-loop.c: Include top.h.
(inferior_event_handler): Call check_frame_language.
* top.c (check_frame_language_change): New, factored out from ...
(execute_command): ... this. Use check_frame_language_change.
* top.h (check_frame_language_change): Declare.
2011-12-16 asmwarrior <> (obvious fix)
* windows-nat.c (cygwin_get_dr, cygwin_get_dr7): Add missing
2011-12-16 Doug Evans <>
* NEWS: Add entry for stdio gdbserver.
2011-12-16 Phil Muldoon <>
* python/python.c: Define python_excp_enums.
(eval_python_from_control_command): Do not call gdbpy_print_stack.
(python_command): Ditto.
(gdbpy_print_stack): Rewrite to use new enum constants.
(maint_set_python): Remove function.
(maint_show_python): Ditto.
(_initialize_python): Do not add "maint" commands. Add "set/show
python print-stack commands".
* NEWS: Update to reflect removal for "maint set/show
2011-12-15 Doug Evans <>
* exceptions.c (catcher_list_size): New function.
(last_message): Delete.
(exception_messages, exception_messages_size): New static globals.
(throw_it): Use exception_messages array to handle nested calls.
2011-12-15 Tom Tromey <>
* symfile.c (symbol_file_add_with_addrs_or_offsets): Remove bad
do_cleanups call.
2011-12-14 Doug Evans <>
* defs.h (wait_to_die_with_timeout): Declare.
* utils.c: #include "gdb_wait.h".
(sigalrm_handler, wait_to_die_with_timeout): New functions.
* ser-pipe.c: Don't #include "gdb_wait.h".
(pipe_close): Give child a chance to die on its own after closing
its stdin before SIGTERM'ing it.
2011-12-14 Joel Brobecker <>
Tom Tromey <>
* ada-lang.c (add_nonlocal_symbols): Initialize data to
all zeros. Remove setting of data.arg_sym to NULL.
2011-12-14 Pedro Alves <>
PR threads/10729
* linux-nat.c (linux_nat_new_thread): Change parameter to an lwp
(linux_nat_prepare_to_resume): New global.
(lwp_free): New.
(purge_lwp_list): Use it.
(add_lwp): Call linux_nat_new_thread even on the first LWP.
Adjust to interface change.
(delete_lwp): Call lwp_free instead of xfree.
(detach_callback, linux_nat_detach, resume_lwp, linux_nat_resume)
(linux_handle_syscall_trap, linux_handle_extended_wait)
(linux_nat_filter_event, resume_stopped_resumed_lwps): Call
linux_nat_prepare_to_resume before resuming.
(linux_stop_lwp): New.
(linux_nat_set_new_thread): Adjust.
(linux_nat_set_prepare_to_resume): New.
* linux-nat.h (struct arch_lwp_info): Forward declare.
(struct lwp_info) <arch_private>: New field.
(linux_stop_lwp): Declare.
(linux_nat_set_new_thread): Adjust.
(linux_nat_set_prepare_to_resume): New.
(struct i386_debug_reg_state): Move to i386-nat.h.
(dr_mirror): Comment.
(i386_debug_reg_state): New.
(i386_update_inferior_debug_regs): Simplify.
(i386_stopped_data_address): Use the debug register state from the
inferior, not from the local cache.
* i386-nat.h (struct i386_dr_low_type): Delete reset_addr and
unset_status fields. New get_addr and get_control fields.
(DR_FIRSTADDR, DR_LASTADDR, DR_CONTROL): Moved from i386-nat.c.
(struct i386_debug_reg_state): Moved from i386-nat.c.
* amd64-linux-nat.c (struct arch_lwp_info): New.
(amd64_linux_dr): Delete global.
(amd64_linux_dr_get_addr): New.
(amd64_linux_dr_get_control): New.
(amd64_linux_dr_unset_status): Delete.
(amd64_linux_dr_set_addr): Reimplement.
(amd64_linux_dr_reset_addr): Delete.
(update_debug_registers_callback): New.
(amd64_linux_dr_set_control): Reimplement.
(amd64_linux_dr_set_addr): Reimplement.
(amd64_linux_prepare_to_resume): New.
(amd64_linux_new_thread): Change parameter to an lwp pointer.
(_initialize_amd64_linux_nat): No longer install
i386_dr_low.reset_addr and i386_dr_low.unset_status. Install
amd64_linux_dr_get_control as i386_dr_low.get_control. Install
amd64_linux_dr_get_addr as i386_dr_low.get_addr. Install
(DR_CONTROL): Delete.
(struct arch_lwp_info): New.
(i386_linux_dr): Delete global.
(i386_linux_dr_set_control): Reimplement.
(i386_linux_dr_get_addr): New.
(i386_linux_dr_set_addr): Reimplement.
(i386_linux_dr_get_control): New.
(update_debug_registers_callback): New.
(i386_linux_dr_unset_status): Delete.
(i386_linux_dr_set_addr): Reimplement.
(i386_linux_prepare_to_resume): New.
(i386_linux_new_thread): Change parameter to an lwp pointer.
(_initialize_i386_linux_nat): No longer install
i386_dr_low.reset_addr and i386_dr_low.unset_status. Install
i386_linux_dr_get_control as i386_dr_low.get_control. Install
i386_linux_dr_get_addr as i386_dr_low.get_addr. Install
* arm-linux-nat.c (arm_linux_new_thread): Change parameter to an
lwp pointer. Adjust.
* ia64-linux-nat.c (ia64_linux_new_thread): Likewise.
* mips-linux-nat.c (mips_linux_new_thread): Likewise.
* ppc-linux-nat.c (ppc_linux_new_thread): Likewise.
* s390-nat.c (s390_fix_watch_points): Likewise.
* i386-darwin-nat.c (DR_FIRSTADDR, DR_LASTADDR, DR_STATUS)
(DR_CONTROL): Delete.
(i386_darwin_dr_reset_addr): Delete.
(i386_darwin_dr_get_addr): New.
(i386_darwin_dr_get_control): New.
* go32-nat.c
(go32_get_dr7, go32_get_dr): New.
(init_go32_ops): No longer install i386_dr_low.reset_addr.
Install go32_get_dr7 as i386_dr_low.get_control. Install
go32_get_dr as i386_dr_low.get_addr.
* i386bsd-nat.c (i386bsd_dr_get): New.
(i386bsd_dr_reset_addr): Delete.
(i386bsd_dr_get_addr): New.
(i386bsd_dr_get_status): Use i386bsd_dr_get.
(i386bsd_dr_get_control): New.
* i386bsd-nat.h (i386bsd_dr_reset_addr): Delete.
(i386bsd_dr_get_addr): New.
(i386bsd_dr_get_control): New.
* i386fbsd-nat.c (_initialize_i386fbsd_nat): No longer install
i386_dr_low.reset_addr and i386_dr_low.unset_status. Install
i386bsd_dr_get_control as i386_dr_low.get_control. Install
i386bsd_dr_get_addr as i386_dr_low.get_addr.
* windows-nat.c (init_windows_ops): No longer install
i386_dr_low.reset_addr and i386_dr_low.unset_status. Install
cygwin_get_dr7 as i386_dr_low.get_control. Install cygwin_get_dr
as i386_dr_low.get_addr.
(cygwin_get_dr): New.
(cygwin_get_dr7): New.
2011-12-14 Pedro Alves <>
* ia64-tdep.c (ia64_memory_remove_breakpoint): Use
* m32r-tdep.c (m32r_memory_remove_breakpoint): Use
* microblaze-linux-tdep.c
(microblaze_linux_memory_remove_breakpoint): Use
* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Use
2011-12-14 Joel Brobecker <>
* linespec.c (decode_line_internal): Make static.
2011-12-14 Yao Qi <>
* breakpoint.c (create_breakpoint): Set canonical.addr_string
for static tracepoint.
2011-12-13 Joel Brobecker <>
GDB 7.4 branch created (branch timestamp: 2011-12-13 13:00 UTC)
* Bump version to
2011-12-13 Joel Brobecker <>
* NEWS: Create a new section for the next release branch.
Rename the section of the current branch, now that it has
been cut.
2011-12-11 Joel Brobecker <>
* ada-lang.c (ada_exception_support_info_sniffer): Improve
error message.
2011-12-11 Joel Brobecker <>
* ada-lang.c (struct ada_inferior_data) [exception_info]:
New field.
(exception_info): Delete.
(ada_exception_support_info_sniffer): Get exception_support_info
data from our per-inferior data. Adjust code accordingly.
(ada_unhandled_exception_name_addr_from_raise): Likewise.
(ada_exception_name_addr_1, ada_exception_sym_name): Ditto.
(ada_executable_changed_observer): Delete.
(_initialize_ada_language): Remove call to
2011-12-11 Joel Brobecker <>
* ada-lang.c (ada_has_this_exception_support): Raise an error
if we could find the Ada exception hook in the Ada runtime,
but no debugging info for that hook.
2011-12-11 Joel Brobecker <>
* ada-lang.c (ada_has_this_exception_support): New function,
extracted out of ada_exception_sal and ada_exception_sal.
(ada_exception_support_info_sniffer): Simplify by using
(ada_exception_sal): Replace unnecessary checks by assertions.
Minor simplifications.
2011-12-10 Andrey Smirnov <>
* breakpoint.c (update_global_location_list): Remove nested
definition of `b'(-Wshadow).
2011-12-10 Andrey Smirnov <>
* breakpoint.c (insert_breakpoint_locations): Rename `error' to
2011-12-10 Andrey Smirnov <>
* bfd-target.c (target_bfd_reopen): Rename `bfd' to
2011-12-10 Andrey Smirnov <>
* annotate.c (annotate_array_section_begin): Rename `index' to
2011-12-10 Andrey Smirnov <>
* amd64-tdep.c (amd64_get_unused_input_int_reg): Rename `index' to
2011-12-10 Andrey Smirnov <>
* amd64-linux-tdep.c (amd64_canonicalize_syscall): Rename
`syscall' to `syscall_number'(-Wshadow).
2011-12-10 Andrey Smirnov <>
* ada-lang.c (remove_extra_symbols): Rename `remove' to
2011-12-10 Andrey Smirnov <>
* ada-exp.y (write_var_or_type): Rename nested `renaming' to
2011-12-10 Doug Evans <>
* dwarf2read.c (dwarf2_per_cu_data): Rename debug_type_section to
debug_types_section. All uses updated.
(partial_read_comp_unit_head): Rename parameter is_debug_type_section
to is_debug_types_section.
* python/py-auto-load.c (source_section_scripts): Call xfree
instead of free.
2011-12-10 Hui Zhu <>
Yao Qi <>
* tracepoint.c (start_tracing): Clear `inserted' flag.
2011-12-10 Hui Zhu <>
* tracepoint.c (create_tsv_from_upload): Change sprintf to xstrprintf.
2011-12-09 Andrey Smirnov <>
* breakpoint.c (bp_loc_is_permanent): Rename `brk' to
2011-12-09 Andrey Smirnov <>
* breakpoint.c (update_static_tracepoint): Rename nested `sal' and
`marker' variables to `sal2' and `tpmarker' respectively
2011-12-09 Andrew Pinski <>
* linespec.c (hash_address_entry): Use iterative_hash_object on each
field rather than the struct itself.
2011-12-09 Tom Tromey <>
* breakpoint.c (compare_breakpoints): New function.
(clear_command): Remove duplicate breakpoints. Properly clean
2011-12-08 Maciej W. Rozycki <>
Maciej W. Rozycki <>
* mips-tdep.c (mips_skip_mips16_trampoline_code): Sign-extend
address chunks retrieved from decoded lui/addiu pairs.
2011-12-08 Maciej W. Rozycki <>
* mips-tdep.c (extended_offset): Correct calculation.
(unpack_mips16): Correct bitfield positions used for extraction
of the immediate argument; fix sign-extension of same.
(extended_mips16_next_pc): Correct B instruction's offset
calculation. Correct register decoding of the BEQZ and BNEZ
as well as jump-register instructions. Handle compact jumps.
2011-12-08 Tom Tromey <>
* objfiles.h (struct objfile): Remove obsolete comment.
* objfiles.c (build_objfile_section_table): Remove obsolete
2011-12-07 Stan Shebs <>
* MAINTAINERS (Responsible Maintainers): Add Yao Qi as
maintainer of the tic6x target.
2011-12-07 Ulrich Weigand <>
* arm-tdep.h (arm_deal_with_atomic_sequence): Add prototype.
* arm-tdep.c (thumb_deal_with_atomic_sequence_raw): New function.
(arm_deal_with_atomic_sequence_raw): Likewise.
(arm_deal_with_atomic_sequence): Likewise.
(arm_software_single_step): Call it.
* arm-linux-tdep.c (arm_linux_software_single_step): Likewise.
2011-12-07 Ulrich Weigand <>
* s390-tdep.c: Replace "Linux" by "GNU/Linux" in comments
where appropriate.
* s390-tdep.h: Likewise.
2011-12-07 Tristan Gingold <>
* machoread.c (macho_symtab_read): Do not consider N_OPT as
a debugging stab. Improve complaint message.
2011-12-07 Maciej W. Rozycki <>
* mips-tdep.c (mips32_scan_prologue): Only update the immediate
load adjustment if still within the prologue.
2011-12-06 Maciej W. Rozycki <>
* mips-tdep.c (mips32_next_pc): Fix floating point condition
code mask.
2011-12-06 Maciej W. Rozycki <>
* mips-tdep.c (deal_with_atomic_sequence): Fix the handling
of BLTZ* and BGEZ* instructions.
2011-12-06 Maciej W. Rozycki <>
* mips-tdep.c (mips_pc_is_mips16): Reverse the order of checks
performed to determine whether an address refers to standard
MIPS or MIPS16 code.
(mips16_next_pc): Use mips_pc_is_mips16 instead of
2011-12-06 Pedro Alves <>
* breakpoint.c (breakpoint_restore_shadows): Rename to ...
(breakpoint_xfer_memory): ... this. Change prototype. Handle
memory writes too.
* breakpoint.h (breakpoint_restore_shadows): Delete.
(breakpoint_xfer_memory): Declare.
* mem-break.c (default_memory_insert_breakpoint)
(default_memory_remove_breakpoint): Use target_write_raw_memory.
(memory_xfer_partial): Rename to ...
(memory_xfer_partial_1): ... this. Don't mask out breakpoints
(memory_xfer_partial): New.
(target_write_raw_memory): New.
* target.h (target_write_raw_memory): New.
2011-12-06 Doug Evans <>
* linespec.c (decode_dollar): Avoid "may be used uninitialized" warning.
2011-12-06 Joel Brobecker <>
* language.h (struct language_defn): Add new component
* symfile.h (struct quick_symbol_functions): Update the profile
of parameter "name_matcher" for the expand_symtabs_matching
method. Update the documentation accordingly.
* ada-lang.h (ada_name_for_lookup): Add declaration.
* ada-lang.c (ada_name_for_lookup): New function, extracted out
from ada_iterate_over_symbols.
(ada_iterate_over_symbols): Do not encode symbol name anymore.
(ada_expand_partial_symbol_name): Adjust profile.
(ada_language_defn): Add value for la_symbol_name_compare field.
* linespec.c: #include "ada-lang.h".
(iterate_name_matcher): Add language parameter. Replace call
to strcmp_iw by call to language->la_symbol_name_compare.
(decode_variable): Encode COPY if current language is Ada.
* dwarf2read.c (dw2_expand_symtabs_matching): Adjust profile
of name_matcher parameter. Adjust call to name_matcher.
* psymtab.c (expand_symtabs_matching_via_partial): Likewise.
(expand_partial_symbol_names): Update profile of parameter "fun".
* psymtab.h (expand_partial_symbol_names): Update profile of
parameter "fun".
* symtab.c (demangle_for_lookup): Update function documentation.
(search_symbols_name_matches): Add language parameter.
(expand_partial_symbol_name): Likewise.
* c-lang.c (c_language_defn, cplus_language_defn)
(asm_language_defn, minimal_language_defn): Add value for
la_symbol_name_compare field.
* d-lang.c (d_language_defn): Likewise.
* f-lang.c (f_language_defn): Ditto.
* jv-lang.c (java_language_defn): Ditto.
* m2-lang.c (m2_language_defn): Ditto.
* objc-lang.c (objc_language_defn): Ditto.
* opencl-lang.c (opencl_language_defn): Ditto.
* p-lang.c (pascal_language_defn): Ditto.
* language.c (unknown_language_defn, auto_language_defn)
(local_language_defn): Ditto.
2011-12-06 Tom Tromey <>
* linespec.c (iterate_over_all_matching_symtabs): Use
(lookup_prefix_sym, add_matching_symbols_to_info): Likewise.
(find_function_symbols, decode_variable): Remove Ada special
* language.h (struct language_defn) <la_iterate_over_symbols>: New
* language.c (unknown_language_defn, auto_language_defn)
(local_language_defn): Update.
* c-lang.c (c_language_defn, cplus_language_defn)
(asm_language_defn, minimal_language_defn): Update.
* d-lang.c (d_language_defn): Update.
* f-lang.c (f_language_defn): Update.
* jv-lang.c (java_language_defn): Update.
* m2-lang.c (m2_language_defn): Update.
* objc-lang.c (objc_language_defn): Update.
* opencl-lang.c (opencl_language_defn): Update.
* p-lang.c (pascal_language_defn): Update.
* ada-lang.c (ada_iterate_over_symbols): New function.
(ada_language_defn): Update.
2011-12-06 Tom Tromey <>
Joel Brobecker <>
PR breakpoints/13105, PR objc/8341, PR objc/8343, PR objc/8366,
PR objc/8535, PR breakpoints/11657, PR breakpoints/11970,
PR breakpoints/12023, PR breakpoints/12334, PR breakpoints/12856,
PR shlibs/8929, PR shlibs/7393:
* python/py-type.c (compare_maybe_null_strings): Rename from
(check_types_equal): Update.
* utils.c (compare_strings): New function.
* tui/tui-winsource.c (tui_update_breakpoint_info): Update for
location changes.
* tracepoint.c (scope_info): Update.
(trace_find_line_command): Use DECODE_LINE_FUNFIRSTLINE.
* symtab.h (iterate_over_minimal_symbols)
(iterate_over_some_symtabs, iterate_over_symtabs)
(find_pcs_for_symtab_line, iterate_over_symbols)
(demangle_for_lookup): Declare.
(expand_line_sal): Remove.
* symtab.c (iterate_over_some_symtabs, iterate_over_symtabs)
(lookup_symtab_callback): New functions.
(lookup_symtab): Rewrite.
(demangle_for_lookup): New function, extract from
(lookup_symbol_in_language): Use it.
(iterate_over_symbols): New function.
(find_line_symtab): Update.
(find_pcs_for_symtab_line): New functions.
(find_line_common): Add 'start' argument.
(decode_line_spec): Update. Change argument to 'flags', change
(append_expanded_sal): Remove.
(append_exact_match_to_sals): Remove.
(expand_line_sal): Remove.
* symfile.h (struct quick_symbol_functions) <lookup_symtab>:
<map_symtabs_matching_filename>: New field.
* stack.c (func_command): Only look in the current program space.
* source.c (line_info): Set pspace on sal. Check program space in
(select_source_symtab): Use DECODE_LINE_FUNFIRSTLINE.
* solib-target.c: Remove DEF_VEC_I(CORE_ADDR).
* python/python.c (gdbpy_decode_line): Update.
* psymtab.c (partial_map_expand_apply): New function.
(partial_map_symtabs_matching_filename): Rename from
lookup_partial_symbol. Update arguments.
(lookup_symtab_via_partial_symtab): Remove.
(psym_functions): Update.
* objc-lang.h (parse_selector, parse_method): Don't declare.
(find_imps): Update.
* objc-lang.c (parse_selector, parse_method): Now static.
(find_methods): Change arguments. Fill in a vector of symbol
(uniquify_strings): New function.
(find_imps): Change arguments.
* minsyms.c (iterate_over_minimal_symbols): New function.
* linespec.h (enum decode_line_flags): New.
(struct linespec_sals): New.
(struct linespec_result) <canonical>: Remove.
<pre_expanded, addr_string, sals>: New fields.
(destroy_linespec_result, make_cleanup_destroy_linespec_result)
(decode_line_full): Declare.
(decode_line_1): Update.
* linespec.c (struct address_entry, struct linespec_state, struct
collect_info): New types.
(add_sal_to_sals_basic, add_sal_to_sals, hash_address_entry)
(eq_address_entry, maybe_add_address): New functions.
(total_number_of_methods): Remove.
(iterate_name_matcher, iterate_over_all_matching_symtabs): New
(find_methods): Change arguments. Don't canonicalize input.
Simplify logic.
(add_matching_methods, add_constructors)
(build_canonical_line_spec): Remove.
(filter_results, convert_results_to_lsals): New functions.
(decode_line_2): Change arguments. Rewrite for new data
(decode_line_internal): Rename from decode_line_1. Change
arguments. Add cleanups. Update for new data structures.
(linespec_state_constructor, linespec_state_destructor)
(decode_line_full, decode_line_1): New functions.
(decode_indirect): Change arguments. Update.
(locate_first_half): Use skip_spaces.
(decode_objc): Change arguments. Update for new data structures.
Simplify logic.
(decode_compound): Change arguments. Add cleanups. Remove
fallback code, replace with error.
(struct decode_compound_collector): New type.
(collect_one_symbol): New function.
(lookup_prefix_sym): Change arguments. Update.
(compare_symbol_name, add_all_symbol_names_from_pspace)
(find_superclass_methods ): New functions.
(find_method): Rewrite.
(struct symtab_collector): New type.
(add_symtabs_to_list, collect_symtabs_from_filename): New
(symtabs_from_filename): Change API. Rename from
(collect_function_symbols): New function.
(find_function_symbols): Change API. Rename from
find_function_symbol. Rewrite.
(decode_all_digits): Change arguments. Rewrite.
(decode_dollar): Change arguments. Use decode_variable.
(decode_label): Change arguments. Rewrite.
(collect_symbols): New function.
(minsym_found): Change arguments. Rewrite.
(check_minsym, search_minsyms_for_name)
(add_matching_symbols_to_info): New function.
(decode_variable): Change arguments. Iterate over all symbols.
(symbol_found): Remove.
(symbol_to_sal): New function.
(init_linespec_result, destroy_linespec_result)
(cleanup_linespec_result, make_cleanup_destroy_linespec_result):
New functions.
(decode_digits_list_mode, decode_digits_ordinary): New functions.
* dwarf2read.c (dw2_map_expand_apply): New function.
(dw2_map_symtabs_matching_filename): Rename from
dw2_lookup_symtab. Change arguments.
(dwarf2_gdb_index_functions): Update.
* dwarf2loc.c: Remove DEF_VEC_I(CORE_ADDR).
* defs.h (compare_strings): Declare.
* cli/cli-cmds.c (compare_strings): Move to utils.c.
(edit_command, list_command): Use DECODE_LINE_LIST_MODE. Call
(compare_symtabs, filter_sals): New functions.
* breakpoint.h (struct bp_location) <line_number, source_file>:
New fields.
(struct breakpoint) <line_number, source_file>: Remove.
<filter>: New field.
* breakpoint.c (print_breakpoint_location, init_raw_breakpoint)
(momentary_breakpoint_from_master, add_location_to_breakpoint):
Update for changes to locations.
(init_breakpoint_sal): Add 'filter' argument. Set 'filter' on
(create_breakpoint_sal): Add 'filter' argument.
(remove_sal, expand_line_sal_maybe): Remove.
(create_breakpoints_sal): Remove 'sals' argument. Handle
pre-expanded sals and the filter.
(parse_breakpoint_sals): Use decode_line_full.
(check_fast_tracepoint_sals): Use get_sal_arch.
(create_breakpoint): Create a linespec_sals. Update.
(break_range_command): Use decode_line_full. Update.
(until_break_command): Update.
(clear_command): Update match conditions for linespec.c changes.
(say_where): Update for changes to locations.
(bp_location_dtor): Free 'source_file'.
(base_breakpoint_dtor): Free 'filter'. Don't free 'source_file'.
(update_static_tracepoint): Update for changes to locations.
(update_breakpoint_locations): Disable ranged breakpoint if too
many locations match. Update.
(addr_string_to_sals): Use decode_line_full. Resolve all sal
(breakpoint_re_set_default): Don't call expand_line_sal_maybe.
(decode_line_spec_1): Update. Change argument name to 'flags',
change interpretation.
* block.h (block_containing_function): Declare.
* block.c (block_containing_function): New function.
* skip.c (skip_function_command): Update.
(skip_re_set): Update.
* infcmd.c (jump_command): Use DECODE_LINE_FUNFIRSTLINE.
* mi/mi-main.c (mi_cmd_trace_find): Use DECODE_LINE_FUNFIRSTLINE.
* NEWS: Add entry.
2011-12-06 Tom Tromey <>
* elfread.c (elf_gnu_ifunc_resolver_return_stop): Allow
breakpoint's pspace to be NULL.
* breakpoint.h (struct breakpoint) <pspace>: Update comment.
* breakpoint.c (init_raw_breakpoint): Conditionally set
breakpoint's pspace.
(init_breakpoint_sal): Don't set breakpoint's pspace.
(prepare_re_set_context): Conditionally switch program space.
(addr_string_to_sals): Check executing_startup on location's
program space.
2011-12-06 Tom Tromey <>
* breakpoint.h (enum enable_state) <bp_startup_disabled>: Remove.
* breakpoint.c (should_be_inserted): Explicitly check if program
space is executing startup.
(describe_other_breakpoints): Update.
(disable_breakpoints_before_startup): Change executing_startup
earlier. Remove loop.
(enable_breakpoints_after_startup): Likewise.
(init_breakpoint_sal): Don't use bp_startup_disabled.
(create_breakpoint): Don't use bp_startup_disabled.
(update_global_location_list): Use should_be_inserted.
(bkpt_re_set): Update.
2011-12-06 Tom Tromey <>
* python/lib/gdb/command/
(InfoPrettyPrinter.invoke1): Remove extra double quote.
2011-12-06 Tom Tromey <>
* NEWS: Add MI news.
2011-12-06 Ulrich Weigand <>
* s390-tdep.h (S390_ORIG_R2_REGNUM): Define.
(S390_LAST_BREAK_REGNUM): Likewise.
(S390_SYSTEM_CALL_REGNUM): Likewise.
(S390_NUM_REGS): Update.
(s390_regmap_last_break): Add declaration.
(s390x_regmap_last_break): Likewise.
(s390_regmap_system_call): Likewise.
(tdesc_s390_linux32v1): Add declaration.
(tdesc_s390_linux32v2): Likewise.
(tdesc_s390_linux64v1): Likewise.
(tdesc_s390_linux64v2): Likewise.
(tdesc_s390x_linux64v1): Likewise.
(tdesc_s390x_linux64v2): Likewise.
* s390-tdep.c: Include new target description files
"features/s390-linux32v1.c", "features/s390-linux32v2.c",
"features/s390-linux64v1.c", "features/s390-linux64v2.c",
"features/s390x-linux64v1.c", and "features/s390x-linux64v2.c".
(s390_cannot_store_register): New function.
(s390_write_pc): Likewise.
(s390_dwarf_regmap): Add fields for new registers.
(s390_regmap_gregset): Likewise.
(s390x_regmap_gregset): Likewise.
(s390_regmap_fpregset): Likewise.
(s390_regmap_upper): Likewise.
(s390_regmap_last_break): New variable.
(s390x_regmap_last_break): Likewise.
(s390_regmap_system_call): Likewise.
(s390_last_break_regset): Likewise.
(s390x_last_break_regset): Likewise.
(s390_system_call_regset): Likewise.
(s390_upper_regset_sections): Rename to ...
(s390_linux64_regset_sections): ... this.
(s390_linux32_regset_sections): New variable.
(s390x_linux64_regset_sections): Likewise.
(s390_linux32v1_regset_sections): Likewise.
(s390_linux32v2_regset_sections): Likewise.
(s390_linux64v1_regset_sections): Likewise.
(s390_linux64v2_regset_sections): Likewise.
(s390x_linux64v1_regset_sections): Likewise.
(s390x_linux64v2_regset_sections): Likewise.
(s390_regset_from_core_section): Handle .reg-s390-last-break and
.reg-s390-system-call core file sections.
(s390_core_read_description): Check for presence of
.reg-s390-last-break and .reg-s390-system-call core file
sections and return appropriate target description.
(s390_gdbarch_init): Detect Linux-specific registers "orig_r2",
"last_break" and "system_call" in target description. Install
appropriate gdbarch_core_regset_sections array.
Call set_gdbarch_cannot_store_register and set_gdbarch_write_pc.
(_initialize_s390_tdep): Initialize additional target descriptions.
* s390-nat.c: Include "elf/common.h".
(have_regset_last_break): New static variable.
(have_regset_system_call): Likewise.
(s390_native_supply): Handle S390_ORIG_R2_REGNUM.
(s390_native_collect): Likewise.
(fetch_regset, store_regset, check_regset): New functions.
(s390_linux_fetch_inferior_registers): Handle S390_LAST_BREAK_REGNUM
(s390_linux_store_inferior_registers): Likewise.
(s390_read_description): Check for presence of NT_S390_LAST_BREAK
and NT_S390_SYSTEM_CALL regsets and use appropriate description.
* features/Makefile (WHICH): Add s390-linux32v1, s390-linux64v1,
s390x-linux64v1, s390-linux32v2, s390-linux64v2, and s390x-linux64v2.
(s390-linux32v1-expedite): Define.
(s390-linux32v2-expedite): Likewise.
(s390-linux64v1-expedite): Likewise.
(s390-linux64v2-expedite): Likewise.
(s390x-linux64v1-expedite): Likewise.
(s390x-linux64v2-expedite): Likewise.
* features/s390-linux32.xml: Add orig_r2 register.
* features/s390-linux64.xml: Likewise.
* features/s390x-linux64.xml: Likewise.
* features/s390-linux32v1.xml: New file.
* features/s390-linux32v2.xml: Likewise.
* features/s390-linux64v1.xml: Likewise.
* features/s390-linux64v2.xml: Likewise.
* features/s390x-linux64v1.xml: Likewise.
* features/s390x-linux64v2.xml: Likewise.
* features/s390-linux32.c: Regenerate.
* features/s390-linux64.c: Likewise.
* features/s390x-linux64.c: Likewise.
* features/s390-linux32v1.c: New generated file.
* features/s390-linux32v2.c: Likewise.
* features/s390-linux64v1.c: Likewise.
* features/s390-linux64v2.c: Likewise.
* features/s390x-linux64v1.c: Likewise.
* features/s390x-linux64v2.c: Likewise.
* regformats/s390-linux32.dat: Regenerate.
* regformats/s390-linux64.dat: Regenerate.
* regformats/s390x-linux64.dat: Regenerate.
* regformats/s390-linux32v1.dat: New generated file.
* regformats/s390-linux32v2.dat: Likewise.
* regformats/s390-linux64v1.dat: Likewise.
* regformats/s390-linux64v2.dat: Likewise.
* regformats/s390x-linux64v1.dat: Likewise.
* regformats/s390x-linux64v2.dat: Likewise.
2011-12-05 Pedro Alves <>
* linux-nat.c (resume_stopped_resumed_lwps): Call
2011-12-05 Pedro Alves <>
* breakpoint.c: Include record.h.
(breakpoints_always_inserted_mode): Return false when the record
target is in use.
2011-12-05 Pedro Alves <>
* amd64-linux-nat.c (amd64_linux_dr_get): Remove FIXME comment.
Reinstate perror_with_name call on ptrace error. Remove #if 0.
* i386-linux-nat.c (i386_linux_dr_get): Likewise.
* i386bsd-nat.c (i386bsd_dr_get_status): Likewise.
2011-12-05 Andrey Smirnov <>
* breakpoint.c (init_breakpoint_sal): Remove nested definitions of
2011-12-05 Andrey Smirnov <>
* bcache.c (bcache): Rename `bcache' to `cache'(-Wshadow).
2011-12-05 Andrey Smirnov <>
* amd64-tdep.c (amd64_push_dummy_call): Remove nested definition
of `tdep'(-Wshadow).
2011-12-03 Jan Kratochvil <>
Fix compilation --without-expat.
* solib-svr4.c (svr4_free_so, svr4_free_library_list): Move them here
from ...
[HAVE_LIBEXPAT] (svr4_free_so, svr4_free_library_list): ... here.
2011-12-02 Paul Pluzhnikov <>
Jan Kratochvil <>
* (XMLFILES): Add library-list-svr4.dtd.
* features/library-list-svr4.dtd: New file.
* remote.c (PACKET_qXfer_libraries_svr4): New.
(remote_protocol_features): new entry for PACKET_qXfer_libraries_svr4.
(remote_xfer_partial): Handle TARGET_OBJECT_LIBRARIES_SVR4.
* solib-svr4.c (struct svr4_library_list): New.
[HAVE_LIBEXPAT]: Include xml-support.h.
[HAVE_LIBEXPAT] (svr4_library_list_start_library)
[HAVE_LIBEXPAT] (svr4_library_list_start_list, svr4_library_attributes)
[HAVE_LIBEXPAT] (svr4_library_list_children)
[HAVE_LIBEXPAT] (svr4_library_list_attributes)
[HAVE_LIBEXPAT] (svr4_library_list_elements, svr4_parse_libraries)
[HAVE_LIBEXPAT] (svr4_current_sos_via_xfer_libraries)
[!HAVE_LIBEXPAT] (svr4_current_sos_via_xfer_libraries): New.
(svr4_read_so_list): Extend the corruption message by addresses.
(svr4_current_sos): New variable library_list, call
* target.h (enum target_object): New TARGET_OBJECT_LIBRARIES_SVR4.
2011-12-02 Jan Kratochvil <>
PR threads/13448
* dwarf2read.c (decode_locdesc): Handle DW_OP_const8u.
For DW_OP_GNU_push_tls_address increment the value, new comment for it.
2011-12-02 Jan Kratochvil <>
PR breakpoints/13346
* dwarf2read.c (process_psymtab_comp_unit): Set
* psympriv.h (struct partial_symtab): Comment textlow and texthigh
validity. New field psymtabs_addrmap_supported.
* psymtab.c (find_pc_sect_psymtab_closer): New gdb_assert on
(find_pc_sect_psymtab): Do not fallback to TEXTLOW and TEXTHIGH for
(dump_psymtab, maintenance_info_psymtabs): Print also
2011-12-01 Doug Evans <>
* python/py-type.c (type_object_methods): Fix "array" doc string.
2011-12-01 Andrew Burgess <>
* source.c (print_source_lines_base): Fix missing braces on else
clause leading to additional output.
2011-11-30 Ulrich Weigand <>
* s390-nat.c (SUBOFF): Remove.
(s390_native_supply, s390_native_collect): New functions.
(supply_gregset, supply_fpregset): Use s390_native_supply.
(fill_gregset, fill_fpregset): Use s390_native_collect.
* s390-tdep.c (s390_pseudo_register_reggroup_p): Update comment.
(s390_unwind_pseudo_register): New function.
(s390_prologue_frame_unwind_cache): Unwind PSW address and mask
registers instead of PC and CC.
(s390_backchain_frame_unwind_cache): Likewise.
(s390_sigtramp_frame_unwind_cache): Do not unwind PC, CC, or
full GPR pseudos.
(s390_trad_frame_prev_register): New function.
(s390_frame_prev_register): Use it.
(s390_sigtramp_frame_prev_register): Likewise.
(s390_dwarf2_prev_register): Use s390_unwind_pseudo_register.
(s390_dwarf2_frame_init_reg): Unwind PSW address and mask. Use
special callback to unwind any pseudo.
* features/s390-core32.xml: Add pswm/pswa to save/restore group.
* features/s390-core64.xml: Likewise.
* features/s390x-core64.xml: Likewise.
* features/s390-linux32.c: Regenerate.
* features/s390-linux64.c: Likewise.
* features/s390x-linux64.c: Likewise.
2011-11-30 Ulrich Weigand <>
* s390-tdep.c (s390_gdbarch_init): Call set_gdbarch_get_siginfo_type.
2011-11-30 Ulrich Weigand <>
* s390-tdep.c (s390_displaced_step_fixup): Fix processing of LARL
instruction. Add more diagnostic output.
2011-11-29 Andrey Smirnov <>
* MAINTAINERS (Write After Approval): Add myself to the list.
2011-11-29 Sanjoy Das <>
* jit.c (add_objfile_entry, jit_reader_try_read_symtab)
(jit_bfd_try_read_symtab): Fix comments.
2011-11-28 DJ Delorie <>
* NEWS: Mention RL78 simulator.
2011-11-28 Joel Brobecker <>
* symfile.h (struct quick_symbol_functions): Fix the documentation
of field map_matching_symbols, as symbols are sorted using
strcmp_iw_ordered, not strcmp_iw.
2011-11-28 Paul Hilfinger <>
* symfile.h (struct quick_symbol_functions): Update the
documentation for field map_matching_symbols.
2011-11-28 Joel Brobecker <>
* ada-lang.c (compare_names): Fix wrong return value in case
string1 starts with the same contents as string2, followed
by an underscore that do not start a symbol name suffix.
2011-11-28 Phil Muldoon <>
PR python/13369
PR python/13374
* python/python.c (gdbpy_decode_line): Do not acquire GIL.
* python/py-inferior.c (inferior_to_inferior_object): Ditto.
* python/py-value.c (valpy_nonzero): Use TRY_CATCH to catch GDB
* python/py-type.c (typy_strip_typedefs): Ditto.
(typy_legacy_template_argument): Ditto.
* python/py-inferior.c (inferior_to_inferior_object): Ditto.
* python/py-breakpoint.c (bppy_set_ignore_count): Ditto.
2011-11-27 Joel Brobecker <>
* remote.c (remote_get_tracepoint_status): Delete addrbuf
local variable. Avoid use of sprintf_vma.
2011-11-27 Sanjoy Das <>
Fix regression in jit.exp.
* jit.c (jit_reader_try_read_symtab, jit_bfd_try_read_symtab)
(jit_register_code): Set the jit_objfile_data field to the correct
2011-11-25  Uros Bizjak  <>
* alpha-tdep.c (br_opcode): New.
(ldl_l_opcode, ldq_l_opcode, stl_c_opcode, stq_c_opcode): Ditto.
(alpha_deal_with_atomic_sequence): New function.
(alpha_gdbarch_init): Handle single stepping of atomic sequences
with alpha_deal_with_atomic_sequence.
2011-11-24 Tristan Gingold <>
* machoread.c (oso_el): Remove num_Sections, symbols, offsets
fields. Add oso_sym, end_sym and nbr_syms.
(macho_register_oso): Change interface.
(macho_symtab_add_minsym): New function.
(macho_symtab_read): Rewritten.
(get_archive_prefix_len): Remove trailing blanks.
(oso_el_compare_name): Add comment.
(struct macho_sym_hash_entry): New structure.
(macho_relocate_common_syms): Remove.
(macho_sym_hash_newfunc): New function.
(macho_resolve_oso_sym_with_minsym): Likewise.
(macho_add_oso_symfile): Rewritten.
(macho_symfile_read_all_oso): Remove trailing blanks.
Adjust code to free oso vector.
(macho_symfile_read): Likewise.
Move code to initialize minimal symbol
2011-11-24 Maciej W. Rozycki <>
* mips-tdep.c (extended_offset): Fix formatting.
2011-11-23 Doug Evans <>
* dwarf2read.c (dw2_lookup_symtab): Add comment.
(dw2_expand_symtabs_with_filename): Ditto.
(dw2_expand_symtabs_matching): Ditto.
(dw2_map_symbol_filenames): Ditto.
2011-11-23 Andrey Smirnov <>
* ada-lang.c (assign_aggregate): Minor reformatting.
2011-11-23 Andrey Smirnov <>
* ada-lang.c (assign_aggregate): Remove declaration of local
variable `i' which is shadowing another variable with the same
name declared in the outer scope.
2011-11-23 Joel Brobecker <>
* ada-lang.c (get_base_type): Renames base_type. Adjust all
calls throughout this file.
2011-11-23 Joel Brobecker <>
* gdb-dlfcn.c (gdb_dlopen): Add missing coma in call to
2011-11-22 Tom Tromey <>
PR mi/8444:
* mi/mi-common.c (async_reason_string_lookup): Add new reasons.
* breakpoint.c (print_it_catch_fork, print_it_catch_vfork)
(print_it_catch_syscall, print_it_catch_exec)
(internal_bkpt_print_it): Use ui_out. Emit stop reason.
(bpstat_print): Add 'kind' argument. Handle
* infrun.c (normal_stop): Update for bpstat_print change. Don't
* breakpoint.h (bpstat_print): Update.
2011-11-22 Tom Tromey <>
* mi/mi-interp.c (mi_on_normal_stop): Call bpstat_print.
2011-11-22 Tom Tromey <>
* mi/mi-common.c (_initialize_gdb_mi_common): Remove.
Use static_assert to check the size of
* common/gdb_assert.h (static_assert): New macro.
2011-11-22 Alan Modra <>
* rs6000-tdep.c (ppc_deal_with_atomic_sequence): Correct branch
destination calculation. Don't expect >> to sign extend. Don't
add a break if branch lands inside the sequence anywhere.
2011-11-21 Keith Seitz <>
* gdb.mi/mi-var-display.exp: Remove XFAIL for c_variable-7.51,
-var-evaluate-expression of an enumeration and fix expected result.
* gdb.mi/mi2-varvdisplay.exp: Likewise.
2011-11-21 Kwok Cheung Yeung <>
* osdata.c (info_osdata_command): Rename nprocs to nrows. Handle
the case where osdata->items is empty. Rename column names to a
canonical form to avoid problems with unusual column names.
2011-11-21 Yao Qi <>
* MAINTAINERS (Write After Approval): Keep list in alphabetical order.
2011-11-20 Stan Shebs <>
* NEWS: Mention tracepoint additions.
* breakpoint.h (struct tracepoint): New field traceframe_usage.
* breakpoint.c (print_one_breakpoint_location): Identify
tracepoints as such when reporting hit counts, report
trace buffer usage.
(create_tracepoint_from_upload): Copy status info.
* tracepoint.h (struct trace_status): Rename error_desc to stop_desc,
add fields user_name, notes, start_time, stop_time.
(struct uploaded_tp): Add fields hit_count, traceframe_usage.
* tracepoint.c (trace_user): New global.
(trace_notes): New global.
(trace_stop_notes): New global.
(start_tracing): Add argument and trace note handling.
(stop_tracing): Ditto.
(trace_start_command): Add notes argument.
(trace_stop_command): Ditto.
(trace_status_command): Report additional status info.
(trace_status_mi): Similarly.
(trace_save): Update, record tracepoint status.
(set_disconnected_tracing): Call target method directly.
(send_disconnected_tracing_value): Remove.
(set_trace_user): New function.
(set_trace_notes): New function.
(set_trace_stop_notes): New function.
(parse_trace_status): Handle additional status.
(parse_tracepoint_status): New function.
(parse_tracepoint_definition): Call it.
(tfile_get_tracepoint_status): New function.
(init_tfile_ops): Use it.
(_initialize_tracepoint): Add new setshows.
* target.h (struct target_ops): New methods to_get_tracepoint_status
and to_set_trace_notes.
(target_get_tracepoint_status): New macro.
(target_set_trace_notes): New macro.
* target.c (update_current_target): Add new methods.
* remote.c (remote_get_tracepoint_status): New function.
(remote_set_trace_notes): New function.
(init_remote_ops): Add them.
* mi/mi-main.c (mi_cmd_trace_start): Add argument to call.
(mi_cmd_trace_stop): Ditto.
2011-11-20 Sanjoy Das <>
* jit.c: Include regcache.h.
(jit_gdbarch_data, jit_frame_unwind): New static variables.
(jit_unwind_reg_set_impl, free_reg_value_impl)
(jit_unwind_reg_get_impl, jit_frame_sniffer)
(jit_frame_unwind_stop_reason, jit_frame_this_id)
(jit_frame_prev_register, jit_dealloc_cache)
(jit_prepend_unwinder, jit_gdbarch_data_init): New functions.
(jit_inferior_init): Prepend (new) pseudo unwinder by calling
(_initialize_jit): Register new gdbarch data jit_gdbarch_data.
2011-11-20 Sanjoy Das <>
* jit.c: Include block.h, dictionary.h and frame-unwind.h.
(add_objfile_entry, jit_target_read_impl, jit_object_open_impl)
(jit_symtab_open_impl, compare_block, jit_block_open_impl)
(jit_symtab_line_mapping_add_impl, jit_symtab_close_impl)
(finalize_symtab, jit_object_close_impl)
(jit_reader_try_read_symtab, jit_bfd_try_read_symtab)
(free_objfile_data): New functions.
(_initialize_jit): Register jit_objfile_data with a proper cleanup
2011-11-20 Sanjoy Das <>
* jit.c: Include gdb-dlfcn.h.
(loaded_jit_reader, reader_init_fn_sym): New static variables.
(jit_reader_load, jit_reader_load_command)
(jit_reader_unload_command): New functions.
(_initialize_jit): Add commands "jit-reader-load" and
2011-11-20 Sanjoy Das <>
* Add gdb-dlfcn.c and gdb-dlfcn.h to build system.
* Add new #define HAVE_LIBDL.
* Add check for -ldl.
* configure: Re-generated by autoconf.
* gdb-dlfcn.c: New file.
* gdb-dlfcn.h: New file.
2011-11-20 Sanjoy Das <>
* Add new #defines: JIT_READER_DIR and
* New GDB directory entry for jit-reader-dir.
* configure: Re-generated by autoconf.
* jit.c: New static variable: const char *jit_reader_dir.
(_initialize_jit): Relocate jit_reader_dir.
2011-11-20 Sanjoy Das <>
* Add jit-reader.h as a header. Have it installed in
* Generate a correct value for TARGET_PTR for
jit-reader.h. Tell configure to generate jit-reader.h from
* configure: Re-generated by autoconf.
* New file.
* jit.c: Include jit-reader.h.
2011-11-20 Sanjoy Das <>
* MAINTAINERS (Write After Approval): Add myself to the list.
2011-11-18 Ulrich Weigand <>
* findvar.c (read_frame_register_value): Respect value_offset
of the register value. Remove big-endian special case.
2011-11-18 Tom Tromey <>
PR build/7196:
* remote.c (putpkt_for_catch_errors): New function.
(remote_kill): Use it.
2011-11-18 Yao Qi <>
* breakpoint.c (create_breakpoint): Produce query message according to
breakpoint's type.
Allocate tracepoint per correct type.
Don't check SALs for pending fast tracepoints.
* tracepoint.c (process_tracepoint_on_disconnect): New.
(disconnect_tracing): Call process_tracepoint_on_disconnect.
2011-11-18 Yao Qi <>
* breakpoint.c (install_breakpoint): Add one more parameter so that
update_global_location_list is called conditionally.
(create_fork_vfork_event_catchpoint): Update.
(create_syscall_event_catchpoint): Update.
(create_breakpoint_sal): Update.
(create_breakpoint_sal): Update. Call do_cleanups before
* ada-lang.c (create_ada_exception_catchpoint): Update.
* breakpoint.h (install_breakpoint): Update declaration.
2011-11-16 Ulrich Weigand <>
* spu-tdep.c (spu_return_value): Fix handling of
2011-11-16 Ulrich Weigand <>
* skip.c (skip_function_command): Work around uninitialized
variable warning.
2011-11-16 David S. Miller <>
* utils.c (report_command_stats): Cast delta_wall_time 'tv_sec' and
'tv_usec' to long for printf since these fields have a type which
2011-11-15 Doug Evans <>
* buildsym.c (add_symbol_to_list): Delete outdated comment.
2011-11-15 Paul Koning <>
* python/py-type.c (typy_get_composite): New function.
(typy_nonzero): New function.
(typy_values): Rename from typy_fields.
(typy_fields): New function.
(typy_length): Raise exception if not struct, union, or enum type.
(typy_getitem): Ditto.
(typy_has_key): Ditto.
(typy_make_iter): Ditto.
2011-11-15 Doug Evans <>
PR gdb/8367
* NEWS: Mention new parameter basenames-may-differ.
* dwarf2read.c (dw2_lookup_symtab): Avoid calling gdb_realpath if
! basenames_may_differ.
* psymtab.c (lookup_partial_symtab): Ditto.
* symtab.c (lookup_symtab): Ditto.
(basenames_may_differ): New global.
(_initialize_symtab): New parameter basenames-may-differ.
* symtab.h (basenames_may_differ): Declare.
2011-11-15 Pedro Alves <>
Luis Machado <>
* auxv.c: Include observer.h.
(auxv_inferior_data_cleanup): New.
(invalidate_auxv_cache_inf): New.
(invalidate_auxv_cache): New.
(get_auxv_inferior_data): New.
(auxv_inferior_data): New static global.
(auxv_info): New structure.
(target_auxv_search): Use get_auxv_inferior_data instead of
target_read_alloc and don't free cached buffers.
(fprint_target_auxv): Likewise
(_initialize_auxv): Register per-inferior auxv cache and register
observers to invalidate auxv cache when needed.
2011-11-14 Doug Evans <>
PR gdb/7200 Make "!" an alias for "shell".
* NEWS: Add mention.
* cli/cli-cmds.c (init_cli_cmds): Remove xdb_commands condition on
adding "!" command, always add it.
* cli/cli-decode.c (find_command_name_length): Recognize "!" as a
command of length one.
2011-11-14 Stan Shebs <>
Kwok Cheung Yeung <>
* NEWS: Document shorter fast tracepoints and qTMinFTPILen packet.
* i386-tdep.c (i386_fast_tracepoint_valid_at): Query target for
the minimum instruction size for fast tracepoints.
* target.h (struct target_ops): Add new method
(target_get_min_fast_tracepoint_insn_len): New.
* target.c (update_current_target): Set up new target operation.
* remote.c (remote_write_bytes_aux): Fix typo.
(remote_get_min_fast_tracepoint_insn_len): New.
(init_remote_ops): Initialize new field.
2011-11-14 Tom Tromey <>
* tracepoint.c (encode_actions_1): Use the location's gdbarch.
(encode_actions): Likewise.
2011-11-14 Yao Qi <>
* remote.c (struct remote_state): <install_in_trace> new field.
(PACKET_InstallInTrace): New enum value.
(remote_install_in_trace_feature): Support InstallInTrace.
(remote_supports_install_in_trace): Likewise.
(remote_protocol_features): Likewise.
(_initialize_remote): Likewise.
(remote_can_download_tracepoint): New.
* target.h (struct target): New field
(target_can_download_tracepoint): New macro.
* target.c (update_current_target): Update.
* breakpoint.h (struct bp_location): Add comment on field
* breakpoint.c (should_be_inserted): Don't differentiate breakpoint
and tracepoint.
(remove_breakpoints): Don't remove tracepoints.
(tracepoint_locations_match ): New.
(breakpoint_locations_match): Call it.
(disable_breakpoints_in_unloaded_shlib): Handle tracepoint.
(download_tracepoint_locations): New.
(update_global_location_list): Call it.
* tracepoint.c (find_matching_tracepoint): Delete.
(find_matching_tracepoint_location): Renamed from
find_matching_tracepoint. Return bp_location rather than
(merge_uploaded_tracepoints): Set `inserted' field to 1 if
tracepoint is found.
2011-11-14 Yao Qi <>
* target.h (struct target): <to_download_tracepoint> Change type
of parameter from tracepoint to bp_location.
* target.c (update_current_target): Update.
* tracepoint.c (start_tracing): Update.
* remote.c (remote_download_tracepoint): Remove loop for each location
of a tracepoint.
2011-11-14 Maciej W. Rozycki <>
* i386-nat.c (i386_insert_hw_breakpoint): Call
(i386_remove_hw_breakpoint): Likewise.
2011-11-14 Yao Qi <>
* breakpoint.c (init_raw_breakpoint): Call
add_location_to_breakpoint to replace duplicated code.
(add_location_to_breakpoint): Adjust the breakpoint's
address prior to allocating a location.
2011-11-12 Matt Rice <>
* macrocmd.c (macro_no_macro_info): New function.
(macro_expand_command): Use macro_no_macro_info.
(macro_expand_once_command): Ditto.
(info_macro_command): Add argument processing,
move info_definitions_command here.
(_initialize_macrocmd): Remove info definitions command.
Add arguments to info macro help text.
* NEWS: Replace info definitions command with new info macro options.
2011-11-11 Keith Seitz <>
PR gdb/12843
* linespec.c (locate_first_half): Keep ':' if it looks
like it could be part of a Windows path starting with
a drive letter.
2011-11-10 Pedro Alves <>
* linux-nat.c (linux_nat_wait): Don't force waking up the event
loop when returning a TARGET_WAITKIND_NO_RESUMED.
2011-11-10 Pedro Alves <>
* target.c (target_waitstatus_to_string): Handle
2011-11-10 Doug Evans <>
* dwarf2read.c (dw2_map_symbol_filenames): New parameter
* psymtab.c (map_symbol_filenames_psymtab): Ditto.
(map_partial_symbol_filenames): Ditto. All callers updated.
* psymtab.h (map_partial_symbol_filenames): Update prototype.
* symfile.h (struct quick_symbol_functions, map_symbol_filenames): New
parameter need_fullname.
* psymtab.c (psymtab_to_fullname): Use cached copy if it exists.
* source.c (symtab_to_fullname): Ditto.
* defs.h (is_cplus_marker, set_demangling_style): Moved to ...
* gdb-demangle.h: ... here. New file.
* demangle.c: #include "gdb-demangle.h".
(_initialize_demangler): Use initialize_file_ftype for prototype.
Move "set demangle" and "set asm-demangle" parameters here from utils.c
(demangle, show_demangle, asm_demangle, show_asm_demangle): Move here
from utils.c
* utils.c: Update. #include "gdb-demangle.h".
* symtab.h (asm_demangle): Delete.
(demangle): Move declaration next to use.
* breakpoint.c: #include "gdb-demangle.h" instead of "demangle.h".
* dwarf2read.c: #include "gdb-demangle.h".
* gnu-v2-abi.c: Ditto.
* jv-typeprint.c: Ditto.
* mdebugread.c: Ditto.
* p-typeprint.c: Ditto.
* stabsread.c: Ditto.
* printcmd.c: Ditto.
(asm_demangle): Delete declaration.
* tui/tui-stack.c: #include "gdb-demangle.h".
* python/py-type.c (typy_fields_items): Call check_typedef.
2011-11-10 Joel Brobecker <>
* findvar.c (read_frame_register_value): Read the correct bytes
from registers on big-endian architectures.
2011-11-10 Tom Tromey <>
* procfs.c (load_syscalls): Make a cleanup.
(open_procinfo_files): fd==0 is ok.
2011-11-10 Joel Brobecker <>
* procfs.c (iterate_over_mappings): Call do_cleanups before
2011-11-09 Doug Evans <>
* gdbtypes.c (check_typedef): Document that this function can
throw an exception.
2011-11-09 Tom Tromey <>
PR c++/13342:
* valops.c (value_full_object): Return early if real type is
smaller than the enclosing type.
2011-11-08 Yao Qi <>
* amd64-tdep.c (amd64_relocate_instruction): Make it static.
2011-11-08 Meador Inge <>
* arm-tdep.c (thumb_analyze_prologue): Always fallback on the SP
register when the frame can't be determined.
* arm-tdep.c (arm_analyze_prologue): Ditto.
2011-11-07 Stan Shebs <>
* MAINTAINERS: Move Michael Snyder to Past Maintainers.
2011-11-07 Joel Brobecker <>
* infrun.c (handle_inferior_event): Minor reformatting.
2011-11-05 Doug Evans <>
* source.c (forget_cached_source_info_for_objfile): Move call to
objfile->sf->qf->forget_cached_source_info outside of
(forget_cached_source_info): Delete unused variable `s'.
2011-11-05 Jan Kratochvil <>
* i386-nat.c (dr_ref_count): Remove unused variable.
2011-11-05 Doug Evans <>
* main.c (captured_main): Set lim_at_start before calling
2011-11-04 Doug Evans <>
* utils.c: #include "timeval-utils.h".
(cmd_stats): Rename start_time to start_cpu_time.
New member start_wall_time.
(report_command_stats): Report wall time.
(make_command_stats_cleanup): Record start wall time.
2011-11-04 Tom Tromey <>
* cp-namespace.c (cp_lookup_symbol_imports): Reindent.
2011-11-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* coff-pe-read.c: Include defs.h before bfd.h.
2011-11-04 Phil Muldoon <>
PR Python/13345
* python/python.c (python_run_simple_file): Expand tilde in path.
2011-11-04 Phil Muldoon <>
PR Python/13363
* python/py-type.c (typy_lookup_type): Do not return a type in
an exception handler.
2011-11-03 Jan Kratochvil <>
Eli Zaretskii <>
* linux-nat.c (_initialize_linux_nat): Improve help
for `info proc stat', `info proc status', `info proc cwd',
`info proc cmdline' and `info proc exe'.
2011-11-02 Stan Shebs <>
String collection for tracepoints.
* NEWS: Mention string collection.
* common/ax.def (tracenz): New bytecode.
* ax-gdb.h (trace_string_kludge): Declare.
* ax-gdb.c: Include valprint.h and c-lang.h.
(trace_string_kludge): New global.
(gen_traced_pop): Add string case.
(agent_command): Add string case.
* tracepoint.h (decode_agent_options): Declare.
* tracepoint.c: Include cli-utils.h.
(decode_agent_options): New function.
(validate_actionline): Call it.
(encode_actions_1): Ditto.
* target.h (struct target_ops): New method to_supports_string_tracing.
(target_supports_string_tracing): New macro.
* target.c (update_current_target): Add to_supports_string_tracing.
* remote.c (struct remote_state): New field string_tracing.
(remote_string_tracing_feature): New function.
(remote_protocol_features): New feature tracenz.
(remote_supports_string_tracing): New function.
(init_remote_ops): Set to_supports_string_tracing.
2011-11-02 Pedro Alves <>
Jan Kratochvil <>
* linux-nat.c: Include cli/cli-utils.h.
(enum info_proc_what): New.
(linux_nat_info_proc_cmd): Rename to ...
(linux_nat_info_proc_cmd_1): ... here. Remove variables argv and all.
New parameter what. Initialize cmdline_f, cwd_f, exe_f, mappings_f,
status_f and stat_f from WHAT. Throw error on extra parameters.
(linux_nat_info_proc_cmd, linux_nat_info_proc_cmd_mappings)
(linux_nat_info_proc_cmd_stat, linux_nat_info_proc_cmd_status)
(linux_nat_info_proc_cmd_cwd, linux_nat_info_proc_cmd_cmdline)
(linux_nat_info_proc_cmd_exe, linux_nat_info_proc_cmd_all): New.
(_initialize_linux_nat): New variable info_proc_cmdlist. Install `info
proc mappings', `info proc stat`, `info proc status', `info proc cwd',
`info proc cmdline', `info proc exe' and `info proc all' as real
subcommands of `info proc'.
2011-11-01 Justin Lebar <>
* (SFILES): Add skip.c.
(HFILES_NO_SRCDIR): Add skip.h.
(COMMON_OBS): Add skip.o.
* skip.h, skip.c: New.
* breakpoint.h (set_default_breakpoint): Remove.
(get_sal_arch): Declare.
* breakpoint.c: Remove default_breakpoint_valid,
default_breakpoint_address, default_breakpoint_symtab,
default_breakpoint_line, default_breakpoint_pspace variables.
(get_sal_arch): Make public.
(set_default_breakpoint): Remove.
(parse_breakpoint_sals, create_breakpoint, clear_command,
decode_line_spec_1): Remove uses of default_breakpoint variables;
replaced with function calls into stack.c.
* cli/cli-cmds.h: Add cmd_list_element *skiplist.
* cli/cli-cmds.c: Add skiplist.
(init_cmd_lists): Initialize skiplist.
(init_cli_cmds): Fix comment (classes of commands appear in
alphabetical order).
* infrun.c (handle_inferior_event): Add check that we don't step into
a function whose pc is marked for skip.
* stack.c: Declare last_displayed_sal_valid, last_displayed_pspace,
last_displayed_addr, last_displayed_symtab, last_displayed_line
(set_last_displayed_sal): New static function.
(print_frame_info): Switch call to set_default_breakpoint to call to
(clear_last_displayed_sal, last_displayed_sal_is_valid,
get_last_displayed_pspace, get_last_displayed_addr,
get_last_displayed_symtab, get_last_displayed_line,
get_last_displayed_sal): New public functions.
* stack.h (clear_last_displayed_sal, last_displayed_sal_is_valid,
get_last_displayed_pspace, get_last_displayed_addr,
get_last_displayed_symtab, get_last_displayed_line,
get_last_displayed_sal): Declare.
2011-11-01 Justin Lebar <>
* MAINTAINERS (Write After Approval): Add myself to the list.
2011-10-29 Yao Qi <>
* infcmd.c (disconnect_command): Call disconnect_tracing.
2011-10-29 Jan Kratochvil <>
Code cleanup.
* symtab.c (skip_prologue_sal): Code reformatting.
2011-10-28 Jan Kratochvil <>
PR symtab/13208
* jit.c (jit_register_code): Remove unused variable my_cleanups. Check
for NULL from bfd_open_from_target_memory. Fix ownership of NBFD and
2011-10-28 Pedro Alves <>
* linux-nat.c (linux_nat_filter_event): Remove `options'
parameter, and dead code that used it. If we're handling a
PTRACE_EVENT_EXEC event, and the thread group leader is no longer
in our lwp list, re-add it.
(check_zombie_leaders): New.
(linux_nat_wait_1): Remove `options' and `pid' locals. Always
wait for children with WNOHANG, and always wait for all children.
Don't check for no resumed children upfront. Simplify wait loop.
Check for zombie thread group leaders after handling all wait
statuses. Return TARGET_WAITKIND_NO_RESUMED if there no
unwaited-for children left.
* infrun.c (fetch_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
(handle_inferior_event): Handle TARGET_WAITKIND_NO_RESUMED.
(normal_stop): Handle TARGET_WAITKIND_NO_RESUMED.
* target.h (enum target_waitkind) <TARGET_WAITKIND_NO_RESUMED>: New.
2011-10-28 Sterling Augustine <>
* psymtab.c (map_symbol_filenames_psymtab): Call QUIT.
* symtab.c (free_completion_list): New function.
(do_free_completion_list): Likewise.
(default_make_symbol_completion_list_break_on): New variable
back_to. Call make_cleanup and discard_cleanups.
(make_source_files_completion_list): Likewise.
2011-10-28 Paul Koning <>
* python/lib/gdb/ (deep_items): Rename from deepitems.
* NEWS: Mention deep_items.
2011-10-28 Alen Skondro <>
* ser-tcp.c [USE_WIN32API] (ETIMEDOUT): Don't define if already
2011-10-27 Meador Inge <>
* MAINTAINERS (Write After Approval): Add myself to the list.
2011-10-27 Joel Brobecker <>
* value.h (read_frame_register_value): Add declaration.
* findvar.c (read_frame_register_value): New function.
(value_from_register): Use read_frame_register_value
instead of get_frame_register_value + value_contents_copy
to get value contents.
2011-10-27 Doug Evans <>
* cli/cli-cmds.c (source_script_with_search): Pass full path to
source_script_from_stream if it may have been found on the search path.
* python/py-auto-load.c (source_section_scripts): Pass full path to
* python/python.c (source_python_script): Delete stream parameter.
All callers updated.
(source_python_script_for_objfile): Ditto.
* python/python-internal.h (source_python_script_for_objfile): Update.
* python/python.h (source_python_script): Update.
2011-10-27 Tom Tromey <>
* ada-lang.h (ada_start_decode_line_1, ada_finish_decode_line_1)
(ada_sals_for_line): Remove declarations.
2011-10-27 Kevin Pouget <>
Move unwind reasons to an external .def file
* frame.c (frame_stop_reason_string): Rewrite using
* frame.h (enum unwind_stop_reason): Likewise.
* python/py-frame.c (gdbpy_initialize_frames): Likewise.
(gdbpy_frame_stop_reason_string): Use new enum unwind_stop_reason
constants for bound-checking.
* unwind_stop_reasons.def: New file.
* stack.c (backtrace_command_1): Handle UNWIND_FIRST_ERROR as an alias
instead of a distinct value.
2011-10-27 Phil Muldoon <>
PR python/13331
* python/py-function.c (fnpy_call): Check 'args' is not NULL.
(convert_values_to_python): Return on Python tuple allocation
failure. Return NULL on value conversion error.
2011-10-27 Phil Muldoon <>
* python/py-breakpoint.c (bppy_set_enabled): Use TRY_CATCH.
(bppy_set_task): Ditto.
(bppy_delete_breakpoint): Ditto.
* python/py-symbol.c (gdbpy_lookup_symbol): Ditto.
(gdbpy_lookup_global_symbol): Ditto.
* python/py-lazy-string.c (stpy_convert_to_value): Ditto.
* python/py-frame.c (frapy_is_valid): Ditto.
(frame_info_to_frame_object): Ditto.
* python/py-type.c (typy_lookup_type): Ditto.
(typy_getitem): Ditto.
(typy_has_key): Ditto.
(typy_richcompare): Use TRY_CATCH. Do not return Py_NE on error.
2011-10-26 Joel Brobecker <>
* gdbarch.h: Regenerate.
2011-10-26 Meador Inge <>
* (function_list): Use 'pstring' when printing
* gdbarch.c: Regenerate.
2011-10-26 Ulrich Weigand <>
* regcache.c (registers_changed_ptid): Invalidate thread architecture
and frame caches if PTID refers to all threads of a process.
2011-10-26 Ulrich Weigand <>
* spu-tdep.c (spu_catch_start): Pass non-NULL breakpoint ops
to create_breakpoint.
2011-10-26 Ulrich Weigand <>
* ppc-sysv-tdep.c (ppc_sysv_use_opencl_abi): New function.
(ppc_sysv_abi_push_dummy_call): Use it.
(do_ppc_sysv_return_value): Likewise.
(ppc64_sysv_abi_push_dummy_call): Likewise.
(ppc64_sysv_abi_return_value): Likewise.
2011-10-26 Paul Koning <>
* python/lib/gdb/ (deepitems): New function.
2011-10-25 Paul Koning <>
PR python/13327
* python/py-value.c (value_to_value_object): Remove fetching of
the value if it was lazy.
(valpy_get_is_lazy): New function.
(valpy_fetch_lazy): New function.
2011-10-24 Joel Brobecker <>
* ppc-sysv-tdep.c (do_ppc_sysv_return_value): Do not check
FUNC_TYPE's calling convention if FUNC_TYPE is not a function.
2011-10-24 Pedro Alves <>
* linux-nat.c (linux_handle_extended_wait): When handling a clone
event, in non-stop, if not stopping, make sure the new lwp has
last_resume_kind set to resume_continue. Assert that when we're
resuming the new lwp, its last_resume_kind is resume_continue.
2011-10-24 Pedro Alves <>
* infrun.c (handle_inferior_event): Don't assume inferior_ptid is
already set when marking the event thread as not executing in
non-stop mode.
2011-10-24 Pedro Alves <>
* infrun.c (handle_inferior_event): Add debug output for
2011-10-24 Phil Muldoon <>
* NEWS: Move set/show extended-prompt to "New Options". Expand
description. Fix typos.
2011-10-24 Phil Muldoon <>
PR python/13310
* python/py-param.c (call_doc_function): Correctly deference on
function exit.
2011-10-21 Joel Brobecker <>
* ada-tasks.c (print_ada_task_info): Fix computation of
number of tasks displayed in command output.
2011-10-20 Jan Kratochvil <>
Ulrich Weigand <>
* dwarf2-frame-tailcall.c: Include dwarf2-frame.h.
(dwarf2_tailcall_prev_register_first): Use dwarf2_frame_cfa.
(dwarf2_tailcall_sniffer_first): Remove variable pc_regnum. Replace
gdbarch_pc_regnum and frame_unwind_register_unsigned by
2011-10-20 Cary Coutant <>
* dwarf2read.c (dw2_get_file_names): Move adjustment for type
section to...
(partial_read_comp_unit_head): Add is_debug_type_section
flag. Adjust all callers.
(process_psymtab_comp_unit): Remove adjustment for type section.
2011-10-20 Aleksandar Ristovski <>
* cp-namespace.c (cp_scan_for_anonymous_namespaces): Changed function
arguments by adding OBJFILE. Instead of getting objfile from
symbol's symtab, use new argument OBJFILE.
* cp-support.h (cp_scan_for_anonymous_namespaces): Changed function
arguments by adding OBJFILE.
* gdb/dwarf2read.c (new_symbol_full): Change call to
cp_scan_for_anonymous_namespaces to match new signature.
* gdb/stabsread.c (define_symbol): Change call to
cp_scan_for_anonymous_namespaces to match new signature.
2011-10-20 Phil Muldoon <>
PR python/13308
PR python/13309
* python/py-breakpoint.c (gdbpy_breakpoints): Fix List reference
* python/py-inferior.c (gdbpy_inferiors): Fix List reference
leak. Delete unused variables.
2011-10-20 Phil Muldoon <>
PR python/12656
* python/py-frame.c (frapy_read_var): Use const struct *block.
* python/py-type.c (typy_lookup_typename): Likewise.
(typy_lookup_type): Likewise.
(typy_legacy_template_argument): Likewise.
(typy_template_argument): Likewise.
(gdbpy_lookup_type): Likewise.
* python/py-symbol.c (gdbpy_lookup_symbol): Likewise.
* python/py-block.c (blpy_block_object): Likewise.
(blpy_iter): Likewise.
(blpy_get_start): Likewise.
(blpy_get_end): Likewise.
(blpy_get_function): Likewise.
(blpy_get_superblock): Likewise.
(set_block): Likewise.
(block_to_block_object): Likewise.
(block_object_to_block): Likewise.
(blpy_is_valid): Likewise.
(blpy_get_global_block): New function.
(blpy_get_static_block): New function.
(blpy_is_global): New function.
(blpy_is_static): New function.
* blockframe.c (block_innermost_frame): Likewise.
* valops.c (value_of_variable): Likewise.
* frame.h: Update prototypes.
* python/python-internal.h: Likewise.
* value.h: Likewise.
2011-10-19 Cary Coutant <>
* dwarf2read.c (create_debug_types_hash_table): Fix size of
type_offset field.
2011-10-19 Cary Coutant <>
* dwarf2read.c (peek_abbrev_code): New function.
(dw2_get_file_names): Check for dummy compilation units.
(create_debug_types_hash_table): Likewise.
(process_psymtab_comp_unit): Likewise.
(load_partial_comp_unit): Likewise.
(load_full_comp_unit): Likewise.
2011-10-18 Aleksandar Ristovski <>
* solib-svr4.c (read_program_header): New variables pt_phdr, pt_phdr_p,
initialize them from target PT_PHDR p_vaddr, relocate sect_addr by
pt_phdr if PT_PHDR was found.
2011-10-17 Joost van der Sluis <>
* gdbtypes.h: Added TYPE_SAFE_NAME macro to get the name of a
type or "<unnamed type"> when there is no name assigned.
* gnu-v3-abi.c (gnuv3_rtti_type): Use TYPE_SAFE_NAME macro to
avoid a sigint when no name is assigned.
2011-10-17 Jan Kratochvil <>
2011-07-27 Jan Kratochvil <>
* dwarf2expr.c (ctx_no_read_reg): New function.
* dwarf2expr.h (ctx_no_read_reg): New declaration.
* dwarf2read.c (read_2_signed_bytes, read_4_signed_bytes): Remove.
(decode_locdesc_read_mem, decode_locdesc_ctx_funcs): New.
(decode_locdesc): Replace by a caller of dwarf_expr_eval.
2011-10-16 Doug Evans <>
* NEWS: Document python gdb.printing.register_pretty_printer's new
`replace' parameter.
2011-10-14 Keith Seitz <>
PR c++/13225
* eval.c (evaluate_subexp_standard): Do not construct
an array of types; pass the value array directly to
(rank_function): Take an array of values instead of types.
(rank_one_type): Add struct value * parameter.
(rank_function): For each argument, pass the argument's
value to rank_one_type.
(rank_one_type): Add VALUE parameter.
If the parameter type is a pointer and the argument type
is an integer, return NULL_POINTER_CONVERSION_BADNESS if
VALUE is zero.
Update all calls to rank_one_type, passing NULL for new
VALUE parameter.
* valarith.c (value_user_defined_cpp_op): Do not construct
an array of types; pass the value array directly to
* valops.c (find_overload_method_list): Take an array of
values instead of types.
Save the type of OBJP for later use.
Update calls to find_oload_champ, and find_oload_champ_namespace.
(find_oload_champ_namespace): Take an array of values instead
of types.
(find_oload_champ_namespace_loop): Likewise.
(find_oload_champ): Likewise.
(classify_oload_match): Inspect all arguments
until INCOMPATIBLE is found. Return the worst badness found
(compare_parameters): Update call to rank_one_type.
* value.h (find_overload_match): Take an array of values instead
of types.
2011-10-14 Jan Kratochvil <>
Drop lazy lm_info reading.
* solib-svr4.c (struct lm_info): Remove field lm. New fields l_addr_p,
l_addr_inferior, l_ld, l_next, l_prev and l_name.
(lm_info_read): New function.
(lm_addr_from_link_map, lm_dynamic_from_link_map): Remove.
(lm_addr_check): Use l_addr_p. No longer use lm_addr_from_link_map and
(lm_next, lm_prev, lm_name): Remove.
(svr4_keep_data_in_core): Use lm_info_read, drop the lm_info entries
initialization incl. read_memory. No longer use lm_name.
(svr4_free_so): Drop lm_info->lm freeing.
(svr4_default_sos): Initialize lminfo with zeroes. Use l_addr_p. Drop
explicit lm_addr and lm initialization.
(svr4_read_so_list): Use lm_info_read, drop the initailization of
fields by hand, incl. read_memory. No longer use lm_next, lm_prev and
2011-10-14 Jan Kratochvil <>
Paul Pluzhnikov <>
* defs.h (struct so_list): New forward declaration.
(make_cleanup_free_so): New declaration.
* solib-svr4.c (ignore_first_link_map_entry): Remove.
(svr4_free_so): Move the function here from downwards. Handle NULL
(svr4_free_library_list): New.
(svr4_read_so_list): New, moved here code from svr4_current_sos.
Use more cleanups. Use new parameter ignore_first instead of
(svr4_current_sos): New variable ignore_first, initialize it. New
variable back_to, use it for svr4_free_library_list protection.
(svr4_free_so): Remove - move upwards.
* utils.c: Include solist.h.
(do_free_so, make_cleanup_free_so): New functions.
2011-10-13 Jan Kratochvil <>
Fix internal error regression.
* value.c (value_primitive_field): Handle value_optimized_out. Move
packed bitfields comment.
2011-10-13 Tom Tromey <>
* python/py-breakpoint.c (gdbpy_breakpoint_deleted): Ensure GIL is
always released.
2011-10-13 Tom Tromey <>
* python/py-type.c (typy_has_key): Make 'field' const.
2011-10-13 Luis Machado <>
* remote.c (remote_save_trace_data): Invert comparison.
2011-10-13 Luis Machado <>
* tracepoint.c (trace_save_command): Use filename instead of
args when printing.
2011-10-13 Jan Kratochvil <>
* dwarf2read.c (dwarf2_fetch_die_location_block): Initialize .data even
if .size is 0.
2011-10-13 Yao Qi <>
PR gdb/12703
* arm-tdep.c (thumb_analyze_prologue): Call thumb_insn_size to check
whether insn is a 32-bit Thumb-2 instruction.
(thumb_in_function_epilogue_p): Likewise.
(thumb_get_next_pc_raw): Likewise.
(arm_breakpoint_from_pc): Likewise.
2011-10-12 Jan Kratochvil <>
Fix empty DWARF expressions DATA vs. SIZE conditionals.
* dwarf2loc.c (dwarf2_find_location_expression): Clear *LOCEXPR_LENGTH.
(dwarf_expr_frame_base_1): Indicate unavailability via zero *LENGTH.
(locexpr_tracepoint_var_ref): Check only zero SIZE, not zero DATA.
(loclist_read_variable, loclist_tracepoint_var_ref): Do not check for
zero DATA.
* dwarf2loc.h (struct dwarf2_locexpr_baton): Comment DATA vs. SIZE
* dwarf2read.c (struct dwarf_block): Comment DATA validity.
(dwarf2_fetch_die_location_block, dwarf2_symbol_mark_computed): Do not
clear DATA on zero SIZE.
2011-10-12 Doug Evans <>
* dwarf2read.c (partial_read_comp_unit_head): Set header->offset,
header->first_die_offset here. All callers updated.
2011-10-12 Jan Kratochvil <>
Fix compatibility with texinfo versions older than 4.12.
* configure: Regenerate.
* (MAKEINFO): Find it, from libiberty/
(MAKEINFOFLAGS): Pre-set it to --split-size=5000000.
2011-10-12 Gary Benson <>
* breakpoint.h (pc_at_non_inline_function): Declare.
* breakpoint.c (is_non_inline_function,
pc_at_non_inline_function): New functions.
* infrun.c (handle_inferior_event): Don't call skip_inline_frames
if the stop is at a location where functions cannot be inlined.
2011-10-12 Pedro Alves <>
* linux-nat.c (stop_and_resume_callback): Don't re-resume LWPs if
the core wanted them stopped, or if they now have a pending event
to report.
(linux_nat_filter_event): New parameter `new_pending_p'. Pass it
down to stop_and_resume_callback.
(linux_nat_wait_1): Always clear `options' when retrying. Handle
having new pending events after calling linux_nat_filter_event.
2011-10-11 Sterling Augustine <>
* dwarf2read.c: Undo inadvertent changes in previous commit.
2011-10-11 Sterling Augustine <>
* dwarf2read.c (partial_die_parent_scope): Rearrange conditional
2011-10-11 Ulrich Weigand <>
* symfile.c (separate_debug_file_exists): Fix condition.
2011-10-11 David S. Miller <>
* regcache.c (regcache_restore): Do not write unavailable regs, mark
* regcache.h (regcache_restore): Remove declaration.
* New field 'long_long_align_bit'.
* gdbarch.c, gdbarch.h: Regenerate.
* i386-tdep.c (i386_gdbarch_init): Set long_long_align_bit to 32.
* jit.c (jit_read_code_entry): Use it to determine correct size offset.
2011-10-11 Jan Kratochvil <>
Revert this part of:
2011-10-09 Jan Kratochvil <>
Support @entry in input expressions.
* c-exp.y (ENTRY, unknown_cpp_name): New.
(exp: UNKNOWN_CPP_NAME): Change to `exp: unknown_cpp_name'.
(unknown_cpp_name: UNKNOWN_CPP_NAME, unknown_cpp_name: ENTRY)
(variable: name_not_typename '@' ENTRY, name: ENTRY)
(name_not_typename: ENTRY): New.
(yylex): Recognize ENTRY.
Reimplement @entry in input expressions.
* c-exp.y (ENTRY): New.
(variable: name_not_typename ENTRY): New.
(lex_one_token): Optionally return ENTRY instead of the '@' lex.
2011-10-11 Pedro Alves <>
* linux-nat.c (linux_handle_extended_wait): Always dump both the
parent and child's pids as soon as we detect a clone event.
Adjust another debug message.
2011-10-11 Pedro Alves <>
* linux-nat.c (linux_lwp_is_zombie): Return early if the LWP is
not zombie instead of reading the whole file.
2011-10-11 Jan Kratochvil <>
Fix separate debuginfo warning with "remote:" access.
* objfiles.h (struct objfile): New fields crc32 and crc32_p.
* symfile.c (get_file_crc): New function with the code moved from ...
(separate_debug_file_exists): ... this function, specifically variables
buffer and count. New variable verified_as_different, set it. Remove
file_crc initialization. Verify also if both files are not the same
manually, if needed.
2011-10-11 Yao Qi <>
* arm-tdep.c (arm_get_next_pc_raw): Use read_memory_unsigned_integer
to get address.
2011-10-10 Doug Evans <>
* linux-thread-db.c (thread_db_new_objfile): Only try to load
libthread_db when we load libpthread or the main symbol file.
(thread_db_inferior_created): New function.
(_initialize_thread_db): Attach inferior_created observer.
* linux-nat.c (linux_child_post_attach): Remove call to
(linux_child_post_startup_inferior): Ditto.
* objfiles.h (OBJF_MAINLINE): Define.
* symfile.c (symbol_file_add_with_addrs_or_offsets): Pass it to
allocate_objfile when appropriate.
2011-10-10 Ulrich Weigand <>
PR gdb/13218
* arm-linux-nat.c (os_version, os_major, os_minor, os_release):
Remove unused variables.
(get_linux_version): Remove function.
(_initialize_arm_linux_nat): Do not call it.
2011-10-10 Pedro Alves <>
* linux-nat.c (linux_handle_extended_wait): Don't resume the new
new clone lwp if the core asked it to stop. Don't pass on
unexpected signals to the new clone; leave them pending instead.
2011-10-10 Pedro Alves <>
* linux-nat.c (resume_lwp): Remove redundant debug output.
2011-10-10 Pedro Alves <>
* linux-nat.c (linux_nat_wait_1): Copy the event lwp's
last_resume_kind before clearing it, and use the copy instead to
determine whether to report a SIGSTOP as TARGET_SIGNAL_0. Use
resume_clear_callback in the non-stop path too.
2011-10-09 Yao Qi <>
* valprint.c (value_check_printable): Add one parameter OPTIONS.
Honor OPTIONS and VAL's type.
(common_val_print, value_print): Update to pass one more parameter.
2011-10-09 Doug Evans <>
Add new "alias" command.
* NEWS: Mention new command.
* command.h (valid_user_defined_cmd_name_p): Declare.
* defs.h (make_cleanup_dyn_string_delete): Declare.
* utils.c: #include "dyn-string.h".
(do_dyn_string_delete, make_cleanup_dyn_string_delete): New functions.
* cli/cli-cmds.c: #include "dyn-string.h".
(argv_to_dyn_string, valid_command_p, alias_command): New functions.
(init_cli_cmds): Add new command.
* cli/cli-decode.c (valid_user_defined_cmd_name_p): New function.
2011-10-09 Jan Kratochvil <>
Fix compatibility with older GCCs.
* dwarf2loc.c (dwarf_expr_reg_to_entry_parameter): Initialize parameter.
* stack.c (read_frame_arg): Initialize val_deref.
2011-10-09 Jan Kratochvil <>
Entry values NEWS entries, DWARF disassembly support.
* NEWS: New entry values entry.
(set print entry-values, show print entry-values)
(set debug entry-values, show debug entry-values): New entries.
* dwarf2loc.c (disassemble_dwarf_expression): New parameters start and
indent. Remove variable start. Move header printing out. Respect
INDENT. Support DW_OP_GNU_entry_value.
(locexpr_describe_location_1): Move the header printing here, extend
the disassemble_dwarf_expression passed parameters.
2011-10-09 Jan Kratochvil <>
Display @entry parameter values even for references.
* ada-valprint.c (ada_val_print_1) <TYPE_CODE_REF>: Try also
* c-valprint.c (c_val_print) <TYPE_CODE_REF>: Likewise.
* dwarf2expr.c (dwarf_block_to_dwarf_reg_deref): New function.
(execute_stack_op) <DW_OP_GNU_entry_value>: Add -1 deref_size to the
existing push_dwarf_reg_entry_value call. Add new detection calling
dwarf_block_to_dwarf_reg_deref. Update the error message.
(ctx_no_push_dwarf_reg_entry_value): New parameter deref_size.
* dwarf2expr.h
(struct dwarf_expr_context_funcs) <push_dwarf_reg_entry_value>: Add new
parameter deref_size, describe it in the comment.
(ctx_no_push_dwarf_reg_entry_value): Add new parameter deref_size.
(dwarf_block_to_dwarf_reg_deref): New declaration.
* dwarf2loc.c (dwarf_entry_parameter_to_value): Add new parameter
deref_size, describe it in the function comment. New variables
data_src and size, fetch the alternative block accoring to DEREF_SIZE.
(dwarf_expr_push_dwarf_reg_entry_value): Add new parameter deref_size,
describe it in the function comment. Fetch the alternative block
accoring to DEREF_SIZE.
(entry_data_value_coerce_ref, entry_data_value_copy_closure)
(entry_data_value_free_closure, entry_data_value_funcs): New.
(value_of_dwarf_reg_entry): New variables checked_type, target_type,
outer_val, target_val, val and addr. Try to fetch and create also
referenced value content.
(pieced_value_funcs): NULL value for coerce_ref.
(needs_dwarf_reg_entry_value): Add new parameter deref_size.
* f-valprint.c (f_val_print) <TYPE_CODE_REF>: Try also
* opencl-lang.c (opencl_value_funcs): NULL value for coerce_ref.
* p-valprint.c (pascal_val_print) <TYPE_CODE_REF>: Likewise.
* stack.c (read_frame_arg): Compare also dereferenced values.
* value.c (value_computed_funcs): Make the parameter v const, use
value_lval_const for it.
(value_lval_const, coerce_ref_if_computed): New function.
(coerce_ref): New variable retval. Call also coerce_ref_if_computed.
* value.h (struct lval_funcs): New field coerce_ref.
(value_computed_funcs): Make the parameter v const.
(value_lval_const, coerce_ref_if_computed): New declarations.
2011-10-09 Jan Kratochvil <>
Support @entry in input expressions.
* c-exp.y (ENTRY, unknown_cpp_name): New.
(exp: UNKNOWN_CPP_NAME): Change to `exp: unknown_cpp_name'.
(unknown_cpp_name: UNKNOWN_CPP_NAME, unknown_cpp_name: ENTRY)
(variable: name_not_typename '@' ENTRY, name: ENTRY)
(name_not_typename: ENTRY): New.
(yylex): Recognize ENTRY.
* eval.c (evaluate_subexp_standard): Support also OP_VAR_ENTRY_VALUE.
* expprint.c (print_subexp_standard, dump_subexp_body_standard):
* parse.c (operator_length_standard): Likewise.
* std-operator.def: New operator OP_VAR_ENTRY_VALUE.
2011-10-09 Jan Kratochvil <>
Display referenced values in backtraces.
* printcmd.c (print_variable_and_value): Set OPTS.DEREF_REF to 1.
* stack.c (print_frame_arg): Likewise.
2011-10-09 Jan Kratochvil <>
Make some lval_funcs methods to default on NULL.
* valops.c (value_fetch_lazy): Check if lval_computed read method is
(value_assign): Check if lval_computed write method is NULL.
* value.h (struct lval_funcs): Comment NULL values for read and write
2011-10-09 Jan Kratochvil <>
Display @entry parameter values (without references).
* dwarf2expr.c (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
New functions.
* dwarf2expr.h (dwarf_block_to_fb_offset, dwarf_block_to_sp_offset):
New declarations.
* dwarf2loc.c (dwarf2_find_location_expression): Support location list
entry record.
(dwarf_entry_parameter_to_value, value_of_dwarf_reg_entry)
(value_of_dwarf_block_entry, locexpr_read_variable_at_entry): New
(dwarf2_locexpr_funcs): Install locexpr_read_variable_at_entry.
(loclist_read_variable_at_entry): New function.
(dwarf2_loclist_funcs): Install loclist_read_variable_at_entry.
* dwarf2read.c (read_call_site_scope): Support also DW_OP_fbreg in
DW_AT_location, call dwarf_block_to_sp_offset for it.
* frame.h (print_entry_values_no, print_entry_values_only)
(print_entry_values_preferred, print_entry_values_if_needed)
(print_entry_values_both, print_entry_values_compact)
(print_entry_values_default, print_entry_values): New declarations.
(struct frame_arg): New field entry_kind.
(read_frame_arg): New parameter entryargp.
* mi/mi-cmd-stack.c (list_arg_or_local): New gdb_assert for
arg->entry_kind. Optionally print the `@entry' suffix.
(list_args_or_locals): New variable entryarg, initialize it.
Initialize also entry_kind of arg and entryarg. Conditionalize
list_arg_or_local for arg, add list_arg_or_local for entryarg. Call
xfree for entryarg.error.
* stack.c (print_entry_values_no, print_entry_values_only)
(print_entry_values_preferred, print_entry_values_if_needed)
(print_entry_values_both, print_entry_values_compact)
(print_entry_values_default, print_entry_values_choices)
(print_entry_values): New variables.
(print_frame_arg): New gdb_assert for arg->entry_kind. Optionally
print the `@entry' suffix, possibly in combination for
(read_frame_arg): New parameter entryargp, new variables entryval,
entryval_error and val_equal. Read in also entryargp, respect
print_entry_values, compare the values using val_equal, fill in also
argp->entry_kind (together with entryargp->entry_kind).
(print_frame_args): New variable entryarg, initialize it.
Conditionalize print_frame_arg for arg, add print_frame_arg for
entryarg. Call xfree for entryarg.error.
(_initialize_stack): Call add_setshow_enum_cmd for `entry-values'.
* symtab.h (struct symbol_computed_ops): New field
2011-10-09 Jan Kratochvil <>
Code reshuffle.
* frame.h (struct frame_arg): New definition.
(read_frame_arg): New declaration.
* mi/mi-cmd-stack.c (list_arg_or_local): New functiom from ...
(list_args_or_locals): ... the code here. New variable arg, call
read_frame_arg and list_arg_or_local with it. Unify the
* stack.c (print_frame_arg): New functiom from the code of
(read_frame_arg): New function.
(print_frame_args): Remove variable val. New variable arg, call
read_frame_arg and print_frame_arg with it. Call xfree for arg.error.
2011-10-09 Jan Kratochvil <>
Protect entry values against self tail calls.
* dwarf2loc.c (VEC (CORE_ADDR), func_verify_no_selftailcall): New.
(dwarf_expr_dwarf_reg_entry_value): Call func_verify_no_selftailcall.
2011-10-09 Jan Kratochvil <>
Recognize virtual tail call frames.
* (SFILES): Add dwarf2-frame-tailcall.c.
(HFILES_NO_SRCDIR): Add dwarf2-frame-tailcall.h.
(COMMON_OBS): Add dwarf2-frame-tailcall.o.
* dwarf2-frame-tailcall.c: New file.
* dwarf2-frame-tailcall.h: New file.
* dwarf2-frame.c: Include dwarf2-frame-tailcall.h.
(execute_cfa_program): New function comment. Return INSN_PTR. Reset
REGS.PREV only after CIE execution.
(struct dwarf2_frame_cache): New field tailcall_cache.
(dwarf2_frame_cache): New variables entry_pc, entry_cfa_sp_offset,
entry_cfa_sp_offset_p and instr. Execute FDE instructions in two
parts, try to find entry_cfa_sp_offset. Call
(dwarf2_frame_prev_register): Call dwarf2_tailcall_prev_register_first
when appropriate.
(dwarf2_frame_dealloc_cache): New function.
(dwarf2_frame_sniffer): Preinitialize cache by dwarf2_frame_cache.
(dwarf2_frame_unwind): Install dwarf2_frame_dealloc_cache.
(dwarf2_signal_frame_unwind): Do not install dwarf2_frame_dealloc_cache.
(dwarf2_append_unwinders): Add dwarf2_tailcall_frame_unwind.
(dwarf2_frame_cfa): Support also dwarf2_tailcall_frame_unwind.
* dwarf2loc.c (func_addr_to_tail_call_list)
(tailcall_dump, call_sitep, VEC (call_sitep), chain_candidate)
(call_site_find_chain_1, call_site_find_chain): New.
* dwarf2loc.h (struct call_site_chain): New.
(call_site_find_chain): New declaration.
* frame.c (get_frame_address_in_block): Support also TAILCALL_FRAME.
* frame.h (enum frame_type): New entry TAILCALL_FRAME.
* python/py-frame.c (gdbpy_initialize_frames): Add TAILCALL_FRAME.
* stack.c (frame_info): Support also TAILCALL_FRAME.
2011-10-09 Jan Kratochvil <>
Tail call sites reader implementation.
* dwarf2read.c (read_call_site_scope): Recognize DW_AT_GNU_tail_call,
* gdbtypes.h (struct func_type): New field tail_call_list.
(struct call_site): New field tail_call_next.
(TYPE_TAIL_CALL_LIST): New definition.
2011-10-09 Jan Kratochvil <>
Implement basic support for DW_TAG_GNU_call_site.
* block.c: Include gdbtypes.h and exceptions.h.
(call_site_for_pc): New function.
* block.h (call_site_for_pc): New declaration.
* defs.h: Include hashtab.h.
(make_cleanup_htab_delete, core_addr_hash, core_addr_eq): New
* dwarf2-frame.c (dwarf2_frame_ctx_funcs): Install
* dwarf2expr.c (read_uleb128, read_sleb128): Support R as NULL.
(dwarf_block_to_dwarf_reg): New function.
(execute_stack_op) <DW_OP_GNU_entry_value>: Implement it.
(ctx_no_push_dwarf_reg_entry_value): New function.
* dwarf2expr.h (struct dwarf_expr_context_funcs): New field
(ctx_no_push_dwarf_reg_entry_value, dwarf_block_to_dwarf_reg): New
* dwarf2loc.c: Include gdbcmd.h.
(dwarf_expr_ctx_funcs): New forward declaration.
(entry_values_debug, show_entry_values_debug, call_site_to_target_addr)
(dwarf_expr_push_dwarf_reg_entry_value): New.
(dwarf_expr_ctx_funcs): Install dwarf_expr_push_dwarf_reg_entry_value.
(dwarf2_evaluate_loc_desc_full): Handle NO_ENTRY_VALUE_ERROR.
(needs_dwarf_reg_entry_value): New function.
(needs_frame_ctx_funcs): Install it.
(_initialize_dwarf2loc): New function.
* dwarf2loc.h (entry_values_debug): New declaration.
* dwarf2read.c (struct dwarf2_cu): New field call_site_htab.
(read_call_site_scope): New forward declaration.
(process_full_comp_unit): Copy call_site_htab.
(process_die): Support DW_TAG_GNU_call_site.
(read_call_site_scope): New function.
(dwarf2_get_pc_bounds): Support NULL HIGHPC.
(dwarf_tag_name): Support DW_TAG_GNU_call_site.
(cleanup_htab): Delete.
(write_psymtabs_to_index): Use make_cleanup_htab_delete instead of it.
* exceptions.h (enum errors): New NO_ENTRY_VALUE_ERROR.
* (StructMainTypePrettyPrinter): Support
* gdbtypes.h (enum field_loc_kind): New entry
(struct main_type): New loc entry dwarf_block.
* python/py-type.c: Include dwarf2loc.h.
(check_types_equal): Support FIELD_LOC_KIND_DWARF_BLOCK. New
internal_error call on unknown FIELD_LOC_KIND.
* symtab.h (struct symtab): New field call_site_htab.
* utils.c (do_htab_delete_cleanup, make_cleanup_htab_delete)
(core_addr_hash, core_addr_eq): New functions.
2011-10-09 Jan Kratochvil <>
Code reshuffle.
* (StructMainTypePrettyPrinter): Change
calling_convention under func_stuff there.
* gdbtypes.c (make_function_type): Call INIT_FUNC_SPECIFIC.
(init_type) <TYPE_CODE_FUNC>: Likewise.
(recursive_dump_type): Change TYPE_SPECIFIC_CALLING_CONVENTION to
TYPE_SPECIFIC_FUNC. New comment for tail_call_list.
* gdbtypes.h (enum type_specific_kind): Change
(struct main_type) <type_specific>: Change calling_convention to
func_stuff. Move calling_convention to ...
(struct func_type): ... this new struct.
(INIT_FUNC_SPECIFIC): New #define.
(TYPE_CALLING_CONVENTION): Change calling_convention to func_stuff.
2011-10-09 Jan Kratochvil <>
Fix DW_OP_GNU_implicit_pointer for DWARF32 v3+ on 64-bit arches.
* dwarf2-frame.c (execute_stack_op): Initialize ctx->ref_addr_size.
* dwarf2expr.c (execute_stack_op) <DW_OP_GNU_implicit_pointer>: Use
ctx->ref_addr_size. Handle its invalid value.
* dwarf2expr.h (struct dwarf_expr_context): New field ref_addr_size.
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full)
(dwarf2_loc_desc_needs_frame): Initialize ctx->ref_addr_size.
* dwarf2loc.h (dwarf2_per_cu_ref_addr_size): New declaration.
* dwarf2read.c (decode_locdesc): Initialize ctx->ref_addr_size.
(dwarf2_per_cu_ref_addr_size): New function.
2011-10-09 Jan Kratochvil <>
Code cleanup.
* dwarf2read.c (per_cu_header_read_in): New function.
(dwarf2_per_cu_addr_size, dwarf2_per_cu_offset_size): Use it, with new
variables cu_header_local and cu_headerp.
2011-10-09 Jan Kratochvil <>
Fix initial language detection with -readnow.
* dwarf2read.c (dw2_find_symbol_file): Handle OBJF_READNOW case.
* symfile.h (struct quick_symbol_functions): State find_symbol_file
searches only for global symbols.
2011-10-09 Jan Kratochvil <>
Fix printed anonymous struct name.
* dwarf2read.c (fixup_partial_die): Handle for anonymous structs also
DW_TAG_interface_type. Strip for anonymous structs any prefixes.
(anonymous_struct_prefix): New function.
(determine_prefix): New variables retval. Call anonymous_struct_prefix.
(dwarf2_name): Strip for anonymous structs any prefixes.
2011-10-07 Doug Evans <>
* python/lib/gdb/ (register_pretty_printer): New argument
* python/lib/gdb/ Whitespace cleanup.
* python/py-value.c (valpy_call): Initialize ftype to avoid compiler
2011-10-07 Pedro Alves <>
* linux-nat.h (ALL_LWPS): Remove the ptid parameter.
* amd64-linux-nat.c (amd64_linux_dr_set_control)
(amd64_linux_dr_set_addr, amd64_linux_dr_unset_status): Adjust.
* arm-linux-nat.c (arm_linux_insert_hw_breakpoint)
(arm_linux_remove_hw_breakpoint, arm_linux_insert_watchpoint)
(arm_linux_remove_watchpoint): Adjust.
* i386-linux-nat.c (i386_linux_dr_set_control)
(i386_linux_dr_set_addr, i386_linux_dr_unset_status): Adjust.
* ia64-linux-nat.c (ia64_linux_insert_watchpoint)
(ia64_linux_remove_watchpoint): Adjust.
* mips-linux-nat.c (write_watchpoint_regs): Adjust.
* ppc-linux-nat.c (ppc_linux_insert_hw_breakpoint)
(ppc_linux_insert_hw_breakpoint, ppc_linux_remove_hw_breakpoint)
(ppc_linux_remove_mask_watchpoint, ppc_linux_insert_watchpoint)
(ppc_linux_remove_watchpoint): Adjust.
* s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint):
2011-10-07 Corinna Vinschen <>
* windows-nat.c: Include wchar.h to avoid compiler warnings.
(clear_win32_environment): New function for Cygwin to clear out
Win32 environment.
(windows_create_inferior): Prepare new environment from in_env
for Cygwin, too.
2011-10-07 Phil Muldoon <>
PR python/13264
* python/py-value.c (valpy_call): Check that arguments are
a tuple.
(is_intlike): Remove call to CHECK_TYPEDEF.
(valpy_nonzero): Catch GDB exceptions.
(valpy_absolute): Ditto.
(valpy_lazy_string): Ditto.
(valpy_call): Ditto.
(valpy_get_is_optimized_out): Ditto.
(valpy_long): Ditto.
(valpy_float): Ditto.
(valpy_int): Call CHECK_TYPEDEF. Catch GDB exceptions.
(valpy_richcompare): Ditto.
2011-10-07 Ulrich Weigand <>
* inferior.h (disable_randomization): Declare.
* infrun.c (disable_randomization): New global variable.
(show_disable_randomization): New function.
(set_disable_randomization): Likewise.
(_initialize_infrun): Install set/show disable-randomization
* linux-nat.c (disable_randomization): Remove.
(show_disable_randomization): Likewise.
(set_disable_randomization): Likewise.
(_initialize_linux_nat): No longer install set/show
disable-randomization commands here.
(linux_nat_supports_disable_randomization): New function.
(linux_nat_add_target): Install it.
* remote.c (PACKET_QDisableRandomization): New enum value.
(remote_protocol_packets): Support QDisableRandomization.
(_initialize_remote): Likewise.
(remote_supports_disable_randomization): New function.
(init_remote_ops): Install it.
(extended_remote_supports_disable_randomization): New function.
(init_extended_remote_ops): Install it.
(extended_remote_disable_randomization): New function.
(extended_remote_create_inferior_1): Call it.
* target.h (struct target_ops): Add to_supports_disable_randomization.
(target_supports_disable_randomization): Add prototype.
* target.c (target_supports_disable_randomization): New function.
(find_default_supports_disable_randomization): Likewise.
(init_dummy_target): Install it.
2011-10-07 Kevin Pouget <>
Allow Python notification of new object-file loadings.
* (SUBDIR_PYTHON_SRCS): Add py-newobjfilevent.c.
(SUBDIR_PYTHON_OBS): Add py-newobjfileevent.o.
Add build rule for this file.
* python/py-event.h (emit_new_objfile_event): New prototype.
(newobjfile): New Python event emitter.
* python/py-evts.c (gdbpy_initialize_py_events): Add new_objfile to
Python event registry.
* python/py-inferior.c: Include objfiles.h
(python_new_objfile): New function.
(gdbpy_initialize_inferior): Add python_new_objfile to the new objfile
* python/py-newobjfileevent.c: New file.
* python-internal.h (gdbpy_initialize_new_objfile_event): New
* python/python.c (_initialize_python): Add
gdbpy_initialize_new_objfile_event call.
* NEWS: Add item for new Python event "gdb.newobjfile"
2011-10-05 Tristan Gingold <>
* ada-tasks.c (read_atcb): Make ravenscar_task_name static.
Extract the ravenscar task name from the symbol for the atcb.
2011-10-04 Paul Koning <>
* python/py-type.c (typy_make_iter): Add forward declaration.
(typy_fields_items): Use the gdb.Type iterator.
2011-10-04 Paul Koning <>
* NEWS: Add entry for Python gdb.Type mapping methods.
2011-10-04 Kevin Pouget <>
PR python/12691: Add the inferior to Python exited event
* python/py-exitedevent.c (create_exited_event_object): Add inferior
to exited_event.
* python/py-event.h (emit_exited_event): Likewise
* python/-inferior.c (python_inferior_exit): Likewise
2011-10-03 Joel Brobecker <>
* ada-tasks.c (print_ada_task_info): Add "thread-id" field
in output of -ada-task-info GDB/MI command.
2011-10-03 Joel Brobecker <>
* ada-lang.h (struct inferior): Declare.
(print_ada_task_info): Add declaration.
* ada-tasks.c (print_ada_task_info): Make non-static.
* mi/mi-cmds.c (mi_cmds): Add "ada-task-info".
* mi/mi-cmds.h (mi_cmd_ada_task_info): Add declaration.
* mi/mi-main.c: #include "ada-lang.h".
(mi_cmd_list_features): Add "ada-task-info" to the list
of supported features.
(mi_cmd_ada_task_info): New function.
2011-10-03 Joel Brobecker <>
* python/python.c (python_run_simple_file): New function.
(source_python_script, source_python_script_for_objfile):
Replace call to PyRun_SimpleFile by call to
2011-10-03 Paul Koning <>
* python/py-value.c (valpy_get_address): Use Py_XINCREF.
(value_to_value_object): Fetch value if it was lazy.
2011-10-02 Jan Kratochvil <>
Code cleanup.
* solib-svr4.c (svr4_default_sos): Remove variables head and link_ptr.
Rearrange the code for it.
2011-10-02 Joel Brobecker <>
* breakpoint.c (bkpt_print_recreate): Add call to
2011-09-29 Mike Frysinger <>
2011-09-28 Yao Qi <>
* symfile.c (add_symbol_file_command): Update message on usage.
2011-09-28 Paul Koning <>
* python/py-type.c (make_fielditem, typy_field_names, typy_items)
(typy_length, typy_get, typy_has_key, typy_make_iter)
(typy_iterkeys, typy_iteritems, typy_itervalues, typy_iter)
(typy_iterator_iter, typy_iterator_iternext)
(typy_iterator_dealloc): New functions to implement standard
Python mapping methods on gdb.Type object.
(gdb.TypeIterator): New Python type.
* python/python-internal.h (gdbpy_iter_kind): New enum.
2011-09-28 David S. Miller <>
* sparc-tdep.c (sparc_complex_floating_p): New function.
(sparc32_store_arguments): Handle complex floats.
(sparc32_extract_return_value): Likewise.
(sparc32_store_return_value): Likewise.
(sparc32_stabs_argument_has_addr): Likewise.
* sparc64-tdep.c (sparc64_complex_floating_p): New function.
(sparc64_store_floating_fields): Handle complex floats.
(sparc64_store_arguments): Likewise.
(sparc64_store_return_value): Likewise.
2011-09-28 Eli Zaretskii <>
* windows-nat.c (env_sort) [!__CYGWIN__]: Function restored from
before the change on 2006-12-09.
(windows_create_inferior) [!__CYGWIN__]: Restore code that
generates the environment block for CreateProcessA, modulo the
Cygwin-specific parts that are not needed here.
2011-09-27 Tristan Gingold <>
* target.h (enum target_object): Add TARGET_OBJECT_DARWIN_DYLD_INFO.
* solib-darwin.c (DYLD_VERSION_MAX): Update number.
(darwin_solib_get_all_image_info_addr_at_init): New function.
(darwin_solib_read_all_image_info_addr): Likewise.
(darwin_solib_create_inferior_hook): Use the above two functions.
* darwin-nat.c (darwin_execvp): Renames retval to res.
(darwin_read_write_inferior): Update comment.
(darwin_read_dyld_info): New function.
(darwin_xfer_partial): Handle DYLD_INFO.
2011-09-27 Stan Shebs <>
Add return address collection for tracepoints.
* tracepoint.c (encode_actions_1): Add case for $_ret.
(validate_actionline): Check for $_ret.
(trace_dump_actions): Ditto.
* ax-gdb.h (gen_trace_for_return_address): Declare.
* ax-gdb.c: Include arch-utils.h.
(gen_trace_for_return_address): New function.
(agent_command): Add return address special case.
* amd64-tdep.c: Include ax.h and ax-gdb.h.
(amd64_gen_return_address): New function.
(amd64_init_abi): Call it.
* i386-tdep.c: Include ax.h and ax-gdb.h.
(i386_gen_return_address): New function.
(i386_init_abi): Call it.
* arch-utils.h (default_gen_return_address): Declare.
* arch-utils.c (default_gen_return_address): New function.
* (gen_return_address): New method.
* gdbarch.h, gdbarch.c: Regenerate.
2011-09-23 Joseph Myers <>
PR gdb/13079
* i386-tdep.c (i386_frame_align): New.
(i386_gdbarch_init): Use i386_frame_align.
2011-09-23 Yao Qi <>
* i386-linux-nat.c (i386_linux_resume): Use read_memory_unsigned_integer
to get address.
2011-09-22 Tristan Gingold <>
* fork-child.c (fork_inferior): Add exec_fun parameter.
Call exec_fun or execvp.
* inferior.h: Adjust prototype.
* gnu-nat.c (gnu_create_inferior): Adjust fork_inferior call.
* inf-ttrace.c (inf_ttrace_create_inferior): Ditto.
* inf-ptrace.c (inf_ptrace_create_inferior): Ditto.
* procfs.c (procfs_create_inferior): Ditto.
* darwin-nat.c (darwin_execvp): New function.
(darwin_create_inferior): Use it.
2011-09-22 Yao Qi <>
* infrun.c (context_switch): Print debug message when switching to
a different thread.
2011-09-21 Ulrich Weigand <>
* s390-tdep.c (s390_function_arg_pass_by_reference): Handle
complex and vector types.
(s390_return_value_convention): Likewise.
(s390_value_from_register): Call check_typedef.
(extend_simple_arg): Likewise.
(alignment_of): Likewise.
(s390_push_dummy_call): Likewise.
(s390_return_value): Likewise.
2011-09-21 Joseph Myers <>
* event-top.c (async_disconnect): If an exception is thrown from
quit_cover, call pop_all_targets. Use TRY_CATCH instead of
* top.c (quit_cover): Return void and take no arguments.
* top.h (quit_cover): Update prototype.
2011-09-20 Joseph Myers <>
* mi/mi-main.c (mi_load_progress): Restore saved_uiout value to
current_uiout, not uiout.
2011-09-19 Doug Evans <>
* python/py-auto-load.c (source_section_scripts): Fix file
descriptor leak.
* python/python.c (source_python_script_for_objfile): Tweak comments.
2011-09-18 Yao Qi <>
Ulrich Weigand <>
Support displaced stepping for Thumb 16-bit insns.
* arm-tdep.c (THUMB_NOP) Define.
(thumb_copy_unmodified_16bit): New.
(thumb_copy_b, thumb_copy_bx_blx_reg): New.
(thumb_copy_alu_reg): New.
(arm_copy_svc): Move some common code to ...
(install_svc): ... here. New.
(thumb_copy_svc): New.
(install_pc_relative): New.
(thumb_copy_pc_relative_16bit): New.
(thumb_decode_pc_relative_16bit): New.
(thumb_copy_16bit_ldr_literal): New.
(thumb_copy_cbnz_cbz): New.
(cleanup_pop_pc_16bit_all): New.
(thumb_copy_pop_pc_16bit): New.
(thumb_process_displaced_16bit_insn): New.
(thumb_process_displaced_32bit_insn): New.
(thumb_process_displaced_insn): process thumb instruction.
Support displaced stepping for Thumb 32-bit insns.
* arm-tdep.c (thumb_copy_unmodified_32bit): New.
(thumb2_copy_preload): New.
(thumb2_copy_copro_load_store): New.
(thumb2_copy_b_bl_blx): New.
(thumb2_copy_alu_imm): New.
(thumb2_copy_load_reg_imm): New.
(thumb2_copy_load_literal): New
(thumb2_copy_block_xfer): New.
(thumb_32bit_copy_undef): New.
(thumb_32bit_copy_unpred): New.
(thumb2_decode_ext_reg_ld_st): New.
(thumb2_decode_svc_copro): New.
(decode_thumb_32bit_store_single_data_item): New.
(thumb_copy_pc_relative_32bit): New.
(thumb_decode_pc_relative_32bit): New.
(decode_thumb_32bit_ld_mem_hints): New.
(thumb2_copy_table_branch): New
(thumb_process_displaced_32bit_insn): Process Thumb 32-bit
2011-09-18 Yao Qi <>
* arm-tdep.c (install_copro_load_store): PC is set 4-byte aligned.
(install_b_bl_blx): Likewise.
2011-09-17 Yao Qi <>
* arm-tdep.c (install_ldr_str_ldrb_strb): Renamed to ...
(install_load_store): ... this. New.
Change parameter BYTE to SIZE.
(arm_copy_ldr_str_ldrb_strb): Update caller.
(arm_decode_ld_st_word_ubyte): Update caller.
2011-09-17 Yao Qi <>
* infrun.c (displaced_step_fixup): Move some code ...
(displaced_step_restore): ... here. New function.
(handle_inferior_event): Cleanup displaced stepping state for both
child and parent when get forked or vforked event.
* regcache.c (get_thread_arch_aspace_regcache): New function.
get_thread_arch_regcache (): Call it.
2011-09-16 Joel Brobecker <>
* ada-tasks.c (print_ada_task_info): New function, merging
short_task_info and info_tasks together. Reimplement using
ui-out instead of printing to stdout directly. Move the code
building and checking the task list here, instead of leaving it
in info_tasks_command.
(info_task): Move the code building and checking the task
list here, instead of leaving it in info_tasks_command.
(info_tasks_command): Delete code building and checking
the task list - moved elsewhere. Update calls to info_tasks
and info_task.
2011-09-16 Joel Brobecker <>
* ada-tasks.c (info_task): Delete parameter `from_tty'.
2011-09-16 Joel Brobecker <>
* ada-tasks.c (info_tasks): Delete parameter `from_tty'.
2011-09-16 Joel Brobecker <>
* ada-lang.h (ada_build_task_list): Remove parameter
* ada-tasks.c (ada_build_task_list): Remove parameter
`warn_if_null'. Adjust implementation and documentation.
(valid_task_id, ada_get_environment_task)
iterate_over_live_ada_tasks): Adjust call to ada_build_task_list.
(info_tasks_command): Adjust implementation.
(task_command): Likewise.
* ravenscar-thread.c (ravenscar_find_new_threads): Fix call
to ada_build_task_list.
2011-09-16 Joel Brobecker <>
* ada-tasks.c (ada_tasks_check_symbol_table, task_list): Delete.
(enum ada_known_tasks_kind, struct ada_tasks_inferior_data): New.
(ada_tasks_inferior_data_handle): New static global.
(get_ada_tasks_inferior_data): New function.
(ada_get_task_number, get_task_number_from_id, valid_task_id)
(ada_get_environment_task, iterate_over_live_ada_tasks)
(add_ada_task, read_known_tasks_array, read_known_tasks_list):
(ada_set_current_inferior_known_tasks_addr): New function.
(read_known_tasks, ada_build_task_list, short_task_info)
(info_tasks, info_task, info_tasks_command, task_command_1)
(task_command, ada_task_list_changed): Adjust.
(ada_tasks_invalidate_inferior_data): New function.
(ada_normal_stop_observer, ada_new_objfile_observer): Adjust.
(_initialize_tasks): Set ada_tasks_inferior_data_handle.
* ada-lang.h (struct inferior): Add declaration.
(ada_task_list_changed): Update profile.
* remote-wtx-pd.c: #include "inferior.h".
(switch_to_pd_internal): Update call to ada_task_list_changed.
2011-09-16 Joel Brobecker <>
* ada-tasks.c: #include "progspace.h" and "objfiles.h".
(atcb_type, atcb_common_type, atcb_ll_type, atcb_call_type)
(atcb_fieldno): Delete these static globals.
(struct ada_tasks_pspace_data): New struct.
(ada_tasks_pspace_data_handle): New static global.
(get_ada_tasks_pspace_data): New function.
(ada_tasks_invalidate_pspace_data): New function.
(get_tcb_types_info, ptid_from_atcb_common, read_atcb)
(read_known_tasks_list, ada_new_objfile_observer): Adjust.
(_initialize_tasks): Create this module's per-progspace
data handle.
2011-09-16 Joel Brobecker <>
* ada-tasks.c (struct atcb_fieldnos): Renames struct tcb_fieldnos.
2011-09-16 Tristan Gingold <>
* fork-child.c (fork_inferior): Update comment. Use alloca
instead of xmalloc for argv. Move len and shell_command
declarations in the block where they are used.
Only call execvp. Factorize failure code.
2011-09-16 Abhijit Halder <>
Code cleanup.
* parse.c (write_exp_elt): Change argument to pass a pointer of union
`exp_element' instead of an element of the same and make the function
(write_exp_elt_opcode, write_exp_elt_sym, write_exp_elt_block)
(write_exp_elt_objfile, write_exp_elt_longcst, write_exp_elt_dblcst)
(write_exp_elt_decfloatcst, write_exp_elt_type, write_exp_elt_intern):
Change argument of `write_exp_elt' function call.
Remove extra spaces from comments.
* parser-defs.h (write_exp_elt): Remove prototype.
2011-09-15 Paul Koning <>
* python/py-cmd.c (gdbpy_string_to_argv): Decrement reference
count of item appended to list.
* python/py-type.c (typy_fields): Likewise.
2011-09-15 Paul Koning <>
* MAINTAINERS (Write After Approval): Add myself to the list.
2011-09-15 Kevin Pouget <>
PR threads/12628
* linux-fork.c (checkpoint_command): Disallow checkpointing of
processes with multiple threads.
(inf_has_multiple_thread_cb): New function.
(inf_has_multiple_threads): New function.
2011-09-15 Kevin Pouget <>
PR Python/12692 Add gdb.selected_inferior() to Python interface.
* python/py-inferior.c (GdbMethods): New Python method definition.
2011-09-15 Kevin Pouget <>
Handle multiple breakpoint hits in Python interface:
* python/py-bpevent.c (create_breakpoint_event_object): Rename C/Python
variable to breakpoints.
* python/py-stopevent.c (emit_stop_event): Return a Python tuple of
bps instead of single breakpoint. Fix some space typos.
* python/py-stopevent.c (create_breakpoint_event_object): Rename
variable to breakpoints.
2011-09-15 Kevin Pouget <>
* breakpoint.c (describe_other_breakpoints): Do not write 'duplicate'
note if the breakpoint is internal.
2011-09-15 Kevin Pouget <>
* MAINTAINERS (Write After Approval): Add myself to the list
2011-09-14 Pedro Alves <>
* infrun.c (prepare_for_detach, wait_for_inferior)
(fetch_inferior_event): Don't flush the register cache.
* remote.c (struct stop_reply) <regcache>: Add comment.
2011-09-13 Jan Kratochvil <>
Remove excessive DWARF expressions memory duplication.
* dwarf2loc.c (per_cu_dwarf_call): Remove variable back_to and its use
(indirect_pieced_value): Remove variable result. Remove variable
back_to and its use for
(dwarf2_compile_expr_to_ax): Remove variable back_to and its use for
* dwarf2read.c (dwarf2_fetch_die_location_block): Remove xmemdup.
Update the function comment.
2011-09-13 Pedro Alves <>
* inferior.h (ALL_INFERIORS): New.
* linux-thread-db.c (thread_db_find_new_threads_2): Remove check
for a stopped thread.
(thread_db_find_new_threads): Look for threads in all inferiors.
2011-09-13 Pedro Alves <>
* breakpoint.c (update_watchpoint): Handle the case of the
watchpoint to update not being in the breakpoint list yet.
(hw_watchpoint_use_count): New, factored out from
(hw_watchpoint_used_count): Rename to ...
(hw_watchpoint_used_count_others): ... this. Add `except'
parameter. Don't count resources of `except'. Use
2011-09-13 Pedro Alves <>
* gdbthread.h (enum thread_state): Moved here.
(struct thread_info): Rename `executing_' field to `executing' and
`state_' to `state'.
* thread.c (enum thread_state): Moved to gdbthread.h.
(new_thread, add_thread_silent, delete_thread_1)
(any_live_thread_of_process, thread_alive, set_running)
(set_running, is_thread_state, any_running, is_executing)
(set_executing, finish_thread_state, print_thread_info)
(do_captured_thread_select): Adjust.
2011-09-13 Jan Kratochvil <>
Fix compatibility with gcc < 4.3 and non-gcc compilers.
* amd64-tdep.c (amd64_skip_xmm_prologue): Convert 0b constants.
2011-09-12 Pedro Alves <>
Matt Rice <>
PR gdb/13175
* interps.c (struct interp) <interpreter_out>: Delete field.
(interp_new): Remove the data and uiout parameters and adjust.
(interp_set): Only set the current_uiout from the interpreter's
uiout after initializing the interpreter. Adjust call to
(interp_ui_out): Adjust to call procs->ui_out_proc.
(interp_data, interp_name): New.
* interps.h (interp_init_ftype): Add `self' parameter.
(interp_ui_out_ftype): New typedef.
(struct interp_procs) <ui_out_proc>: New method pointer.
(interp_new): Remove the data and uiout parameters.
(interp_data, interp_name): Declare.
* tui/tui-interp.c (tui_init): Adjust prototype.
(tui_ui_out): New.
(_initialize_tui_interp): Install tui_ui_out. Don't instanciate
tui_out here. Adjust call to interp_new.
* tui/tui-io.c (tui_initialize_io): Don't set current_uiout here.
* cli/cli-interp.c (cli_interpreter_init): Adjust prototype.
(cli_ui_out): New.
(_initialize_cli_interp): Install it. Adjust call to interp_new.
* mi/mi-common.h (struct mi_interp) <uiout>: New field.
* mi/mi-interp.c (mi_interpreter_init): Adjust prototype.
Initialize mi->uiout depending on the mi_version as extracted from
the interpreter's name.
(mi_ui_out): New.
(_initialize_mi_interp): Install mi_ui_out. Adjust calls to
interp_new. Don't allocate the ui_out's of the interpreters here.
2011-09-12 Aleksandar Ristovski <>
* solib.c (solib_used): New function.
(update_solib_list, reload_shared_libraries_1): Check if objfile is used
by another so_list object before freeing it.
2011-09-11 Jan Kratochvil <>
Code cleanup.
* mi/mi-cmd-stack.c (list_args_or_locals): Use enum for the parameter
2011-09-09 Jan Kratochvil <>
Code cleanup.
* amd64-tdep.c (amd64_skip_prologue): Move the XMM code to ...
(amd64_skip_xmm_prologue): ... this new function. Describe its
parameters. No longer use amd64_prologue_line_bug.
* defs.h (producer_is_gcc_ge_4): New declaration.
* dwarf2read.c (producer_is_gcc_ge_4): Move to utils.c.
(process_full_comp_unit): Update its caller. Remove
amd64_prologue_line_bug initialization.
* symtab.h (struct symtab): Remove field amd64_prologue_line_bug.
* utils.c (producer_is_gcc_ge_4): Moved here from dwarf2read.c.
2011-09-09 Pedro Alves <>
* linux-nat.h (enum resume_kind): New.
(struct lwp_info) <last_resume_kind>: New field.
* linux-nat.c (linux_child_follow_fork): Set last_resume_kind to
resume_stop on the new lwp.
(add_lwp): Set last_resume_kind as resume_continue by default.
(lin_lwp_attach_lwp): Set last_resume_kind as resume_stop.
(resume_lwp): New, factored out from resume_callback. Also check
for pending status in lp->waitstatus.
(resume_callback): Reimplement.
(resume_clear_callback): Set last_resume_kind as resume_stop.
(resume_set_callback): Set last_resume_kind as resume_continue.
(linux_nat_resume, linux_handle_extended_wait): Set
(running_callback): Also check lp->waitstatus for pending events.
(select_singlestep_lwp_callback): Check that lp->last_resume_kind
is resume_step.
(stop_and_resume_callback): Don't re-resume if the core wanted the
lwp stopped. Use resume_lwp instead of resume_callback. Avoid
using an invalidated pointer.
(linux_nat_filter_event): Don't discard SIGSTOPs as delayed
SIGSTOPs if the core wanted the LWP to stop.
(linux_nat_wait_1) Don't consume a pending SIGSTOP if the core
wanted the lwp to stop. If the core wanted the lwp to stop, and
the lwp stopped with a SIGSTOP, report a TARGET_SIGNAL_0 instead
(linux_nat_stop_lwp): Don't synchronously wait for the lwp to stop
here. Instead, signal the lwp, and set the last_resume_kind to
2011-09-09 Pedro Alves <>
* linux-nat.c (lin_lwp_attach_lwp): Return 1 (ignore) instead of
-1 (error), if the lwp exits right after attaching.
2011-09-08 Doug Evans <>
* py-cmd.c: Some minor formatting fixes.
(gdbpy_parse_command_name): Rename text arg to name, make const.
All callers updated.
* python-internal.h (gdbpy_parse_command_name): Update.
* cli/cli-decode.c (add_cmd): Add comment.
2011-09-08 Jan Kratochvil <>
PR breakpoints/12435
* amd64-tdep.c (amd64_skip_prologue): New variables start_pc_sal,
next_sal, buf, offset and xmmreg. Advance PC if it sees the PR.
* dwarf2read.c (process_full_comp_unit): Initialize
* symtab.h (struct symtab): New field amd64_prologue_line_bug.
2011-09-08 Jan Kratochvil <>
Fix TUI screen corruption.
* utils.c (fputs_maybe_filtered): Replace !input_from_terminal_p by
2011-09-08 Jan Kratochvil <>
* findvar.c (read_var_value): Never return NULL, throw an error
instead. Update the function comment. State symbol name in the error
* python/py-frame.c (frapy_read_var): Remove handling of NULL from
* stack.c (print_frame_args): Likewise.
* valops.c (value_of_variable): Likewise.
2011-09-08 Jan Kratochvil <>
* stack.c (print_frame_args): New variable except. Wrap
read_var_value and common_val_print into TRY_CATCH.
2011-09-08 Jan Kratochvil <>
* eval.c (evaluate_subexp_standard) <OP_THIS>: Update the value_of_this
caller to value_of_this.
* p-exp.y: Update the value_of_this caller to value_of_this_silent.
* valops.c (value_of_this): Remove parameter complain and variable ret.
Update function comment. Never return NULL by this code.
(value_of_this_silent): New function.
* value.h (value_of_this): Remove parameter complain.
(value_of_this_silent): New declaration.
2011-09-07 Yao Qi <>
* gdbthread.h (struct thread_info): Remove fields
`stepping_through_solib_after_catch' and
* infrun.c (init_thread_stepping_state): Update.
(process_event_stop_test, currently_stepping): Update.
(currently_stepping_or_nexting_callback): Update.
2011-09-07 Yao Qi <>
* gdbthread.h (struct thread_info): Comment on field
2011-09-07 Abhijit Halder <>
* remote.c (remote_console_output): Reindent.
2011-09-06 Luis Machado <>
* frame.c (has_stack_frames): Check for currently selected
2011-09-06 Pedro Alves <>
* event-top.h (MAXPROMPTS, struct prompts): Delete.
(set_async_annotation_level, set_async_prompt, pop_prompt)
(push_prompt, new_async_prompt): Delete declarations.
* top.h (get_prompt, set_prompt): Change prototype.
(get_prefix, set_prefix, get_suffix, set_suffix): Delete
* top.c (command_loop):
(top_prompt): New global.
(get_prefix, set_prefix, get_suffix, ): Delete.
(get_prompt, set_prompt): Rewrite.
(show_new_async_prompt): Rename to ...
(show_prompt): ... this.
(init_main): Adjust. Don't handle --annotate=2 here.
* event-top.c (new_async_prompt): Delete.
(the_prompts): Delete.
(more_to_come): Make static.
(display_gdb_prompt): Use top_level_prompt() to compute the top
level prompt, and don't notify the before_prompt observers
directly here. Always trick readline into not trying to display
the prompt if sync_execution and displaying the primary prompt.
If displaying a local/secondary prompt, always show it, even if
sync_execution is set.
(change_annotation_level): Delete.
(top_level_prompt): New, based on change_annotation_level.
(push_prompt, pop_prompt): Delete.
(async_disable_stdin): No longer pushes prompt.
(command_line_handler): No longer pushes or pops prompt. If more
input is expected, call display_gdb_prompt with an explicit empty
(async_stop_sig): Adjust.
(set_async_annotation_level, set_async_prompt): Delete.
* python/python.c (before_prompt_hook): Adjust.
2011-09-05 Pedro Alves <>
PR cli/13110
* infrun.c (fetch_inferior_event): Check if there's a selected
thread before checking if the selected thread is executing.
2011-09-05 Pedro Alves <>
* inf-loop.c (execute_command): Don't check if the current thread
if running before synchronously waiting for command completion.
* infrun.c (fetch_inferior_event): Handle "set exec-done-display"
(normal_stop): Call async_enable_stdin here.
* inf-loop.c (inferior_event_handler): Don't call
async_enable_stdin, nor handle "set exec-done-display" here.
2011-09-04 Joel Brobecker <>
GDB 7.3.1 released.
2011-09-04 Joel Brobecker <>
* NEWS: Change `7.3' into `7.3.1' in `Changes since GDB 7.3'.
2011-09-04 Joel Brobecker <>
* NEWS: Add entry for OpenBSD/NetBSD build failure.
2011-09-02 Jan Kratochvil <>
* config/s390/ (NATDEPFILES): Add linux-procfs.o dependency.
2011-09-02 Matt Rice <>
PR gdb/10720
* event-top.c (cli_command_loop): Replace readline setup with
direct call to display_gdb_prompt.
(display_gdb_prompt): Do not call observer mechanism during
synchronous execution.
2011-09-02 Pedro Alves <>
* linux-nat.c (in_pid_list_p): New.
(linux_record_stopped_pid): Delete.
(lin_lwp_attach_lwp): Check if PTRACE_ATTACH failed because we're
already attached to the LWP. Return an indication if so.
(linux_nat_filter_event): Adjust.
* linux-thread-db.c (attach_thread): Handle lin_lwp_attach_lwp
returning an indication to ignore this thread.
2011-09-02 Pedro Alves <>
* top.c: Include interps.h.
(execute_command): If the target can async, but the interpreter is
in sync mode, synchronously wait for the command to finish before
(execute_command_to_string): Force the interpreter to sync mode.
* infrun.c: Include interps.h.
(fetch_inferior_event): Don't restore the prompt yet if the
interpreter is in sync mode.
* interps.c (interpreter_async): New global.
* interps.h (interpreter_async): Declare.
* inf-loop.c: Include interps.h.
(inferior_event_handler): Don't print the language change or run
breakpoint commands yet if the interpreter in is sync mode.
* main.c (captured_command_loop): Flip the interpreter to async