The "gdb-add-index" script has been resurrected on:
commit caf26be91a
Author: Samuel Bronson <naesten@gmail.com>
Date: Fri Nov 15 16:09:33 2013 -0500
Resurrect gdb-add-index as a contrib script
However, for some reason (I couldn't find it in the archives), only
the script has been checked-in; the Makefile parts responsible for
installing it in the system were left out. This commit fixes that, by
also resurrecting the Makefile and documentation bits.
This commit is part of our effort to upstream the local Fedora GDB
changes. With this commit, we'll only carry a very small
Fedora-specific modification to the script.
gdb/ChangeLog:
2017-01-12 Tom Tromey <tom@tromey.com>
Sergio Durigan Junior <sergiodj@redhat.com>
* Makefile.in (install-only): Install gdb-add-index.
gdb/doc/ChangeLog:
2017-01-12 Tom Tromey <tom@tromey.com>
Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.texinfo (Index Files): Mention gdb-add-index.
(gdb-add-index man): New section.
* Makefile.in (gdb-add-index.1): New rule to generate manpage
from gdb.texinfo.
888 lines
33 KiB
Plaintext
888 lines
33 KiB
Plaintext
2017-01-12 Tom Tromey <tom@tromey.com>
|
||
Sergio Durigan Junior <sergiodj@redhat.com>
|
||
|
||
* Makefile.in (install-only): Install gdb-add-index.
|
||
|
||
2018-01-12 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* fbsd-tdep.c (KVE_PROTECTION): Correct value.
|
||
|
||
2018-01-12 Andreas Arnez <arnez@linux.vnet.ibm.com>
|
||
|
||
* infrun.c (keep_going_pass_signal): Clear step-over info when
|
||
insert_breakpoints fails.
|
||
|
||
2018-01-11 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22583
|
||
* infrun.c (resume): Rename to ...
|
||
(resume_1): ... this.
|
||
(resume): Reimplement as wrapper around resume_1.
|
||
|
||
2018-01-11 Pedro Alves <palves@redhat.com>
|
||
|
||
PR remote/22597
|
||
* remote.c (remote_parse_stop_reply): Default to the last-set
|
||
general thread instead of to 'magic_null_ptid'.
|
||
|
||
2018-01-10 Pedro Alves <palves@redhat.com>
|
||
|
||
* language.h (language_get_symbol_name_matcher): Rename ...
|
||
(get_symbol_name_matcher): ... this.
|
||
* language.c (language_get_symbol_name_matcher): Ditto.
|
||
* dictionary.c, linespec.c, minsyms.c, psymtab.c, symtab.c: All
|
||
callers adjusted.
|
||
|
||
2018-01-10 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* dwarf2read.c
|
||
(gdb_index_symbol_name_matcher::gdb_index_symbol_name_matcher):
|
||
Adjust to use language_get_symbol_name_matcher instead of
|
||
language_defn::la_get_symbol_name_matcher.
|
||
* language.c (language_get_symbol_name_matcher): If in Ada mode
|
||
and the lookup name is a verbatim match, return Ada's matcher.
|
||
* language.h (language_get_symbol_name_matcher): Adjust comment.
|
||
(ada_lookup_name_info::verbatim_p):: New method.
|
||
|
||
2018-01-10 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* ada-lang.c (ada_collect_symbol_completion_matches): If the
|
||
minsym's language is language_auto or language_cplus, pass down
|
||
language_ada instead.
|
||
* symtab.c (compare_symbol_name): Don't frob symbol language here.
|
||
|
||
2018-01-10 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* minsyms.c (linkage_name_str): New function.
|
||
(iterate_over_minimal_symbols): Use it.
|
||
|
||
2018-01-09 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* NEWS: Document that 'info proc' now works on FreeBSD.
|
||
|
||
2018-01-09 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* configure.ac: Check for kinfo_getfile in libutil.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
* fbsd-nat.c: Include "fbsd-tdep.h".
|
||
(fbsd_fetch_cmdline): New.
|
||
(fbsd_fetch_kinfo_proc): Move earlier and change to return a bool
|
||
rather than calling error.
|
||
(fbsd_info_proc): New.
|
||
(fbsd_thread_name): Report error if fbsd_fetch_kinfo_proc fails.
|
||
(fbsd_wait): Report warning if fbsd_fetch_kinfo_proc fails.
|
||
(fbsd_nat_add_target): Set "to_info_proc" to "fbsd_info_proc".
|
||
|
||
2018-01-09 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* fbsd-nat.c (struct free_deleter): Remove.
|
||
(fbsd_find_memory_regions): Use gdb::unique_xmalloc_ptr<>.
|
||
|
||
2018-01-09 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* fbsd-nat.c (fbsd_pid_to_exec_file) [KERN_PROC_PATHNAME]: Return
|
||
NULL for an empty pathname.
|
||
|
||
2018-01-09 John Baldwin <jhb@FreeBSD.org>
|
||
|
||
* fbsd-tdep.c (KVE_STRUCTSIZE, KVE_START, KVE_END, KVE_OFFSET)
|
||
(KVE_FLAGS, KVE_PROTECTION, KVE_PATH, KINFO_VME_PROT_READ)
|
||
(KINFO_VME_PROT_WRITE, KINFO_VME_PROT_EXEC, KINFO_VME_FLAG_COW)
|
||
(KINFO_VME_FLAG_NEEDS_COPY, KINFO_VME_FLAG_NOCOREDUMP)
|
||
(KINFO_VME_FLAG_SUPER, KINFO_VME_FLAG_GROWS_UP)
|
||
(KINFO_VME_FLAG_GROWS_DOWN, KF_STRUCTSIZE, KF_TYPE, KF_FD)
|
||
(KF_PATH, KINFO_FILE_TYPE_VNODE, KINFO_FILE_FD_TYPE_CWD)
|
||
(KINFO_FILE_FD_TYPE_TEXT, SIG_WORDS, struct kinfo_proc_layout)
|
||
(kinfo_proc_layout_32, kinfo_proc_layout_i386)
|
||
(kinfo_proc_layout_64, fbsd_vm_map_entry_flags)
|
||
(fbsd_core_info_proc_mappings, fbsd_core_vnode_path)
|
||
(fbsd_core_fetch_timeval, fbsd_print_sigset)
|
||
(fbsd_core_info_proc_status, fbsd_core_info_proc): New.
|
||
(fbsd_init_abi): Install gdbarch "core_info_proc" method.
|
||
* fbsd-tdep.h (fbsd_vm_map_entry_flags): New.
|
||
|
||
2018-01-08 Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||
|
||
* gdb/gnu-nat.c: Include <elf.h> and <link.h>.
|
||
(gnu_xfer_auxv): New function.
|
||
(gnu_xfer_partial): Call gnu_xfer_auxv when `object' is
|
||
TARGET_OBJECT_AUXV.
|
||
|
||
2018-01-08 Yao Qi <yao.qi@linaro.org>
|
||
Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* Makefile.in (COMMON_SFILES): Remove selftest-arch.c and
|
||
common/selftest.c.
|
||
(COMMON_OBS): Remove selftest.o.
|
||
* configure.ac: Append selftest-arch.c and common/selftest.c to
|
||
CONFIG_SRCS. Append selftest-arch.o and selftest.o to COMMON_OBS.
|
||
* configure: Re-generated.
|
||
* maint.c (maintenance_selftest): Wrap selftests::run_tests with
|
||
GDB_SELF_TEST.
|
||
(maintenance_info_selftests): Likewise.
|
||
|
||
2018-01-08 Xavier Roirand <roirand@adacore.com>
|
||
|
||
* ada-valprint.c (val_print_packed_array_elements): Use
|
||
proper number of elements when printing an array indexed
|
||
by an enumeration type.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* dwarf2read.c (struct dwarf2_cu) <dwarf2_per_objfile>: Remove.
|
||
(dw2_get_file_names_reader): Adjust.
|
||
(lookup_dwo_signatured_type): Adjust.
|
||
(lookup_dwp_signatured_type): Adjust.
|
||
(lookup_signatured_type): Adjust.
|
||
(create_type_unit_group): Adjust.
|
||
(get_type_unit_group): Adjust.
|
||
(process_psymtab_comp_unit_reader): Adjust.
|
||
(build_type_psymtabs_reader): Adjust.
|
||
(scan_partial_symbols): Adjust.
|
||
(add_partial_symbol): Adjust.
|
||
(add_partial_subprogram): Adjust.
|
||
(peek_die_abbrev): Adjust.
|
||
(fixup_go_packaging): Adjust.
|
||
(process_imported_unit_die): Adjust.
|
||
(dwarf2_compute_name): Adjust.
|
||
(dwarf2_physname): Adjust.
|
||
(read_import_statement): Adjust.
|
||
(handle_DW_AT_stmt_list): Adjust.
|
||
(read_file_scope): Adjust.
|
||
(read_func_scope): Adjust.
|
||
(read_lexical_block_scope): Adjust.
|
||
(read_call_site_scope): Adjust.
|
||
(read_variable): Adjust.
|
||
(dwarf2_rnglists_process): Adjust.
|
||
(dwarf2_ranges_process): Adjust.
|
||
(dwarf2_ranges_read): Adjust.
|
||
(dwarf2_get_pc_bounds): Adjust.
|
||
(dwarf2_record_block_ranges): Adjust.
|
||
(dwarf2_add_field): Adjust.
|
||
(dwarf2_add_member_fn): Adjust.
|
||
(read_structure_type): Adjust.
|
||
(process_structure_scope): Adjust.
|
||
(read_enumeration_type): Adjust.
|
||
(read_array_type): Adjust.
|
||
(mark_common_block_symbol_computed): Adjust.
|
||
(read_common_block): Adjust.
|
||
(read_namespace_type): Adjust.
|
||
(read_namespace): Adjust.
|
||
(read_module_type): Adjust.
|
||
(read_tag_pointer_type): Adjust.
|
||
(read_tag_ptr_to_member_type): Adjust.
|
||
(read_tag_string_type): Adjust.
|
||
(read_subroutine_type): Adjust.
|
||
(read_typedef): Adjust.
|
||
(read_base_type): Adjust.
|
||
(attr_to_dynamic_prop): Adjust.
|
||
(read_subrange_type): Adjust.
|
||
(read_unspecified_type): Adjust.
|
||
(dwarf2_read_abbrevs): Adjust.
|
||
(load_partial_dies): Adjust.
|
||
(read_partial_die): Adjust.
|
||
(find_partial_die): Adjust.
|
||
(guess_partial_die_structure_name): Adjust.
|
||
(fixup_partial_die): Adjust.
|
||
(read_attribute_value): Adjust.
|
||
(read_addr_index): Adjust.
|
||
(read_addr_index_from_leb128): Adjust.
|
||
(read_str_index): Adjust.
|
||
(dwarf2_string_attr): Adjust.
|
||
(get_debug_line_section): Adjust.
|
||
(dwarf_decode_line_header): Adjust.
|
||
(lnp_state_machine::check_line_address): Adjust.
|
||
(dwarf_decode_lines_1): Adjust.
|
||
(dwarf_decode_lines): Adjust.
|
||
(dwarf2_start_symtab): Adjust.
|
||
(var_decode_location): Adjust.
|
||
(new_symbol_full): Adjust.
|
||
(dwarf2_const_value_data): Adjust.
|
||
(dwarf2_const_value_attr): Adjust.
|
||
(dwarf2_const_value): Adjust.
|
||
(die_type): Adjust.
|
||
(die_containing_type): Adjust.
|
||
(build_error_marker_type): Adjust.
|
||
(lookup_die_type): Adjust.
|
||
(guess_full_die_structure_name): Adjust.
|
||
(anonymous_struct_prefix): Adjust.
|
||
(determine_prefix): Adjust.
|
||
(dwarf2_name): Adjust.
|
||
(follow_die_ref_or_sig): Adjust.
|
||
(follow_die_offset): Adjust.
|
||
(follow_die_ref): Adjust.
|
||
(follow_die_sig_1): Adjust.
|
||
(follow_die_sig): Adjust.
|
||
(get_signatured_type): Adjust.
|
||
(get_DW_AT_signature_type): Adjust.
|
||
(decode_locdesc): Adjust.
|
||
(dwarf_decode_macros): Adjust.
|
||
(cu_debug_loc_section): Adjust.
|
||
(fill_in_loclist_baton): Adjust.
|
||
(dwarf2_symbol_mark_computed): Adjust.
|
||
(init_one_comp_unit): Don't assign
|
||
dwarf2_cu::dwarf2_per_objfile.
|
||
(set_die_type): Adjust.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* dwarf2read.c (struct mapped_debug_names): Add constructor.
|
||
<dwarf2_per_objfile>: New field.
|
||
(dwarf2_per_objfile): Remove global.
|
||
(get_dwarf2_per_objfile): New function.
|
||
(set_dwarf2_per_objfile): New function.
|
||
(dwarf2_build_psymtabs_hard): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(abbrev_table_read_table): Add dwarf2_per_objfile parameter.
|
||
(read_abbrev_offset): Likewise.
|
||
(read_indirect_string): Likewise.
|
||
(read_indirect_line_string): Likewise.
|
||
(read_indirect_string_at_offset): Likewise.
|
||
(read_indirect_string_from_dwz): Likewise.
|
||
(dwarf2_find_containing_comp_unit): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(age_cached_comp_units): Add dwarf2_per_objfile parameter.
|
||
(create_all_comp_units): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(create_all_type_units): Likewise.
|
||
(process_queue): Add dwarf2_per_objfile parameter.
|
||
(read_and_check_comp_unit_head): Likewise.
|
||
(lookup_dwo_unit_in_dwp): Likewise.
|
||
(get_dwp_file): Likewise.
|
||
(process_cu_includes): Likewise.
|
||
(struct free_dwo_file_cleanup_data): New struct.
|
||
(dwarf2_has_info): Use get_dwarf2_per_objfile and
|
||
set_dwarf2_per_objfile.
|
||
(dwarf2_get_dwz_file): Add dwarf2_per_objfile parameter.
|
||
(dw2_do_instantiate_symtab): Get dwarf2_per_objfile from
|
||
context, adjust calls.
|
||
(dw2_instantiate_symtab): Likewise.
|
||
(dw2_get_cutu): Add dwarf2_per_objfile parameter.
|
||
(dw2_get_cu): Likewise.
|
||
(create_cu_from_index_list): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(create_cus_from_index_list): Get dwarf2_per_objfile from
|
||
context, adjust calls.
|
||
(create_cus_from_index): Likewise.
|
||
(create_signatured_type_table_from_index): Change objfile
|
||
parameter to dwarf2_per_objfile.
|
||
(create_signatured_type_table_from_debug_names): Change objfile
|
||
parameter to dwarf2_per_objfile.
|
||
(create_addrmap_from_index): Likewise.
|
||
(create_addrmap_from_aranges): Likewise.
|
||
(dwarf2_read_index): Use get_dwarf2_per_objfile, adjust calls.
|
||
(dw2_setup): Remove.
|
||
(dw2_get_file_names_reader): Get dwarf2_per_objfile from
|
||
context.
|
||
(dw2_find_last_source_symtab): Get dwarf2_per_objfile using
|
||
get_dwarf2_per_objfile.
|
||
(dw2_forget_cached_source_info): Likewise.
|
||
(dw2_map_symtabs_matching_filename): Likewise.
|
||
(struct dw2_symtab_iterator) <index>: Remove.
|
||
<dwarf2_per_objfile>: New field.
|
||
(dw2_symtab_iter_init): Replace index parameter with
|
||
dwarf2_per_objfile.
|
||
(dw2_symtab_iter_next): Use dwarf2_per_objfile from iter.
|
||
(dw2_lookup_symbol): Use get_dwarf2_per_objfile and adjust.
|
||
(dw2_print_stats): Likewise.
|
||
(dw2_dump): Likewise.
|
||
(dw2_expand_symtabs_for_function): Likewise.
|
||
(dw2_expand_all_symtabs): Likewise.
|
||
(dw2_expand_symtabs_with_fullname): Likewise.
|
||
(dw2_expand_marked_cus): Replace index and objfile parameters
|
||
with dwarf2_per_objfile.
|
||
(dw_expand_symtabs_matching_file_matcher): Add
|
||
dwarf2_per_objfile parameter and adjust calls.
|
||
(dw2_expand_symtabs_matching): Use get_dwarf2_per_objfile and
|
||
adjust calls.
|
||
(dw2_find_pc_sect_compunit_symtab): Don't call dw2_setup.
|
||
(dw2_map_symbol_filenames): Use get_dwarf2_per_objfile and
|
||
adjust calls.
|
||
(create_cus_from_debug_names_list): Replace objfile parameter
|
||
with dwarf2_per_objfile and adjust calls.
|
||
(create_cus_from_debug_names): Likewise.
|
||
(dwarf2_read_debug_names): Likewise.
|
||
(mapped_debug_names::namei_to_name): Adjust call.
|
||
(dw2_debug_names_iterator::next): Likewise.
|
||
(dw2_debug_names_iterator::find_vec_in_debug_names): Likewise.
|
||
(dw2_debug_names_lookup_symbol): Use get_dwarf2_per_objfile.
|
||
(dw2_debug_names_dump): Likewise.
|
||
(dw2_debug_names_expand_symtabs_for_function): Likewise.
|
||
(dw2_debug_names_expand_symtabs_matching): Likewise.
|
||
(dwarf2_initialize_objfile): Likewise.
|
||
(dwarf2_build_psymtabs): Likewise.
|
||
(get_abbrev_section_for_cu): Get dwarf2_per_objfile from
|
||
this_cu.
|
||
(error_check_comp_unit_head): Add dwarf2_per_objfile parameter.
|
||
(read_and_check_comp_unit_head): Likewise.
|
||
(read_abbrev_offset): Likewise.
|
||
(create_debug_type_hash_table): Likewise.
|
||
(create_debug_types_hash_table): Likewise.
|
||
(create_all_type_units): Replace objfile parameter with
|
||
dwarf2_per_objfile.
|
||
(add_type_unit): Add dwarf2_per_objfile parameter.
|
||
(fill_in_sig_entry_from_dwo_entry): Replace objfile parameter
|
||
with dwarf2_per_objfile.
|
||
(lookup_dwo_signatured_type): Get dwarf2_per_objfile from cu.
|
||
(lookup_dwp_signatured_type): Likewise.
|
||
(lookup_signatured_type): Likewise.
|
||
(read_cutu_die_from_dwo): Likewise.
|
||
(init_tu_and_read_dwo_dies): Likewise.
|
||
(init_cutu_and_read_dies): Likewise.
|
||
(init_cutu_and_read_dies_no_follow): Likewise.
|
||
(allocate_type_unit_groups_table): Add objfile parameter.
|
||
(create_type_unit_group): Use dwarf2_per_objfile from cu.
|
||
(get_type_unit_group): Likewise.
|
||
(process_psymtab_comp_unit): Update call.
|
||
(build_type_psymtabs_reader): Use dwarf2_per_objfile from cu.
|
||
(build_type_psymtabs_1): Add dwarf2_per_objfile parameter.
|
||
(print_tu_stats): Likewise.
|
||
(build_type_psymtab_dependencies): Use dwarf2_per_objfile passed
|
||
in void* parameter.
|
||
(build_type_psymtabs): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(process_skeletonless_type_unit): Use dwarf2_per_objfile
|
||
passed in void* parameter.
|
||
(process_skeletonless_type_units): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(set_partial_user): Likewise.
|
||
(dwarf2_build_psymtabs_hard): Likewise.
|
||
(read_comp_units_from_section): Likewise.
|
||
(create_all_comp_units): Likewise.
|
||
(scan_partial_symbols): Update calls.
|
||
(add_partial_symbol): Likewise.
|
||
(dwarf2_read_symtab): Use get_dwarf2_per_objfile.
|
||
(maybe_queue_comp_unit): Use dwarf2_read_symtab from cu.
|
||
(process_queue): Add dwarf2_per_objfile parameter.
|
||
(get_compunit_symtab): Use dwarf2_per_objfile from cu.
|
||
(compute_compunit_symtab_includes): Likewise.
|
||
(process_cu_includes): Add dwarf2_per_objfile parameter.
|
||
(process_full_comp_unit): Use dwarf2_per_objfile from cu.
|
||
(process_full_type_unit): Likewise.
|
||
(process_imported_unit_die): Update call.
|
||
(handle_DW_AT_stmt_list): Use dwarf2_per_objfile from cu.
|
||
(read_file_scope): Likewise.
|
||
(allocate_dwo_file_hash_table): Add objfile parameter.
|
||
(lookup_dwo_file_slot): Add dwarf2_per_objfile parameter.
|
||
(create_cus_hash_table): Likewise.
|
||
(create_dwp_hash_table): Likewise.
|
||
(create_dwo_unit_in_dwp_v1): Likewise.
|
||
(create_dwp_v2_section): Likewise.
|
||
(create_dwo_unit_in_dwp_v2): Likewise.
|
||
(lookup_dwo_unit_in_dwp): Likewise.
|
||
(try_open_dwop_file): Likewise.
|
||
(open_dwo_file): Likewise. Use dwarf2_per_objfile from cu.
|
||
(open_and_init_dwo_file): Use dwarf2_per_objfile from cu, update
|
||
cleanup to include a reference to dwarf2_per_objfile.
|
||
(open_dwp_file): Add dwarf2_per_objfile parameter.
|
||
(open_and_init_dwp_file): Likewise.
|
||
(get_dwp_file): Likewise.
|
||
(lookup_dwo_cutu): Use dwarf2_per_objfile from cu.
|
||
(queue_and_load_all_dwo_tus): Update call.
|
||
(free_dwo_file_cleanup): Use dwarf2_per_objfile from cleanup
|
||
data.
|
||
(dwarf2_rnglists_process): Use dwarf2_per_objfile from cu.
|
||
(dwarf2_ranges_process): Likewise.
|
||
(dwarf2_get_pc_bounds): Likewise.
|
||
(mark_common_block_symbol_computed): Likewise.
|
||
(abbrev_table_read_table): Add dwarf2_per_objfile parameter.
|
||
(dwarf2_read_abbrevs): Update call.
|
||
(read_partial_die): Use dwarf2_per_objfile from cu.
|
||
(find_partial_die): Likewise.
|
||
(fixup_partial_die): Likewise.
|
||
(read_attribute_value): Likewise.
|
||
(read_indirect_string_at_offset_from): Add objfile parameter.
|
||
(read_indirect_string_at_offset): Add dwarf2_per_objfile
|
||
parameter.
|
||
(read_indirect_string_from_dwz): Add objfile parameter.
|
||
(read_indirect_string): Add objfile parameter.
|
||
(read_addr_index_1): Add dwarf2_per_objfile parameter.
|
||
(read_addr_index): Use dwarf2_per_objfile from cu.
|
||
(dwarf2_read_addr_index): Use dwarf2_per_objfile from cu, don't
|
||
call dw2_setup.
|
||
(read_str_index): Use dwarf2_per_objfile from cu.
|
||
(get_debug_line_section): Likewise.
|
||
(read_formatted_entries): Add dwarf2_per_objfile parameter.
|
||
(dwarf_decode_line_header): Use dwarf2_per_objfile from cu.
|
||
(new_symbol_full): Use dwarf2_per_objfile from cu.
|
||
(build_error_marker_type): Likewise.
|
||
(lookup_die_type): Likewise.
|
||
(determine_prefix): Likewise.
|
||
(follow_die_offset): Likewise.
|
||
(dwarf2_fetch_die_loc_sect_off): Use get_dwarf2_per_objfile.
|
||
(dwarf2_fetch_constant_bytes): Don't call dw2_setup.
|
||
(dwarf2_fetch_die_type_sect_off): Likewise.
|
||
(dwarf2_get_die_type): Likewise.
|
||
(follow_die_sig_1): Use dwarf2_per_objfile from cu.
|
||
(get_signatured_type): Likewise.
|
||
(get_DW_AT_signature_type): Likewise.
|
||
(dwarf_decode_macro_bytes): Add dwarf2_per_objfile parameter.
|
||
(dwarf_decode_macros): Use dwarf2_per_objfile from cu.
|
||
(cu_debug_loc_section): Likewise.
|
||
(fill_in_loclist_baton): Likewise.
|
||
(dwarf2_symbol_mark_computed): Likewise.
|
||
(dwarf2_find_containing_comp_unit): Change objfile parameter to
|
||
dwarf2_per_objfile.
|
||
(free_cached_comp_units): Use dwarf2_per_objfile passed in void*
|
||
parameter.
|
||
(age_cached_comp_units): Add dwarf2_per_objfile parameter.
|
||
(free_one_cached_comp_unit): Use dwarf2_per_objfile from cu.
|
||
(dwarf2_free_objfile): Use get_dwarf2_per_objfile.
|
||
(set_die_type): Use dwarf2_free_objfile from cu.
|
||
(get_die_type_at_offset): Likewise.
|
||
(dwarf2_per_objfile_free): Don't assign global variable.
|
||
(debug_names) <constructor>: Add dwarf2_per_objfile
|
||
parameter, update m_debugstrlookup construction.
|
||
(debug_names::debug_str_lookup): Add dwarf2_per_objfile
|
||
parameter.
|
||
<m_dwarf2_per_objfile>: New field.
|
||
<lookup>: Use m_dwarf2_per_objfile.
|
||
(check_dwarf64_offsets): Add dwarf2_per_objfile parameter.
|
||
(psyms_seen_size): Likewise.
|
||
(write_gdbindex): Replace objfile parameter with
|
||
dwarf2_per_objfile.
|
||
(write_debug_names): Likewise.
|
||
(write_psymtabs_to_index): Likewise.
|
||
(save_gdb_index_command): Use get_dwarf2_per_objfile, update
|
||
calls.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* dwarf2read.c (struct dwarf2_cu) <objfile>: Remove.
|
||
<dwarf2_per_objfile>: New field.
|
||
(struct dwarf2_per_cu_data) <objfile>: Remove.
|
||
<dwarf2_per_objfile>: New field.
|
||
(create_cu_from_index_list): Assign dwarf2_per_objfile instead
|
||
of objfile.
|
||
(create_signatured_type_table_from_index): Likewise.
|
||
(create_debug_type_hash_table): Likewise.
|
||
(fill_in_sig_entry_from_dwo_entry): Likewise.
|
||
(lookup_dwo_unit): Access objfile through dwarf2_per_objfile.
|
||
(create_type_unit_group): Assign dwarf2_per_objfile instead of
|
||
objfile.
|
||
(create_partial_symtab): Access objfile through
|
||
dwarf2_per_objfile.
|
||
(process_psymtab_comp_unit_reader): Likewise.
|
||
(read_comp_units_from_section): Likewise.
|
||
(scan_partial_symbols): Likewise.
|
||
(add_partial_symbol): Likewise.
|
||
(add_partial_subprogram): Likewise.
|
||
(peek_die_abbrev): Likewise.
|
||
(fixup_go_packaging): Likewise.
|
||
(process_full_comp_unit): Likewise.
|
||
(process_full_type_unit): Likewise.
|
||
(process_imported_unit_die): Likewise.
|
||
(dwarf2_compute_name): Likewise.
|
||
(dwarf2_physname): Likewise.
|
||
(read_import_statement): Likewise.
|
||
(create_cus_hash_table): Assign dwarf2_physname instead of
|
||
objfile.
|
||
(read_func_scope): Access objfile through dwarf2_per_objfile.
|
||
(read_lexical_block_scope): Likewise.
|
||
(read_call_site_scope): Likewise.
|
||
(read_variable): Likewise.
|
||
(dwarf2_rnglists_process): Likewise.
|
||
(dwarf2_ranges_process): Likewise.
|
||
(dwarf2_ranges_read): Likewise.
|
||
(dwarf2_record_block_ranges): Likewise.
|
||
(dwarf2_add_field): Likewise.
|
||
(dwarf2_add_member_fn): Likewise.
|
||
(read_structure_type): Likewise.
|
||
(process_structure_scope): Likewise.
|
||
(read_enumeration_type): Likewise.
|
||
(read_array_type): Likewise.
|
||
(read_common_block): Likewise.
|
||
(read_namespace_type): Likewise.
|
||
(read_namespace): Likewise.
|
||
(read_module_type): Likewise.
|
||
(read_tag_pointer_type): Likewise.
|
||
(read_tag_ptr_to_member_type): Likewise.
|
||
(read_tag_string_type): Likewise.
|
||
(read_subroutine_type): Likewise.
|
||
(read_typedef): Likewise.
|
||
(read_base_type): Likewise.
|
||
(attr_to_dynamic_prop): Likewise.
|
||
(read_subrange_type): Likewise.
|
||
(read_unspecified_type): Likewise.
|
||
(load_partial_dies): Likewise.
|
||
(read_partial_die): Likewise.
|
||
(find_partial_die): Likewise.
|
||
(guess_partial_die_structure_name): Likewise.
|
||
(fixup_partial_die): Likewise.
|
||
(read_attribute_value): Likewise.
|
||
(read_addr_index_from_leb128): Likewise.
|
||
(dwarf2_read_addr_index): Likewise.
|
||
(dwarf2_string_attr): Likewise.
|
||
(lnp_state_machine::check_line_address): Likewise.
|
||
(dwarf_decode_lines_1): Likewise.
|
||
(dwarf_decode_lines): Likewise.
|
||
(dwarf2_start_symtab): Likewise.
|
||
(var_decode_location): Likewise.
|
||
(new_symbol_full): Likewise.
|
||
(dwarf2_const_value_data): Likewise.
|
||
(dwarf2_const_value_attr): Likewise.
|
||
(dwarf2_const_value): Likewise.
|
||
(die_type): Likewise.
|
||
(die_containing_type): Likewise.
|
||
(lookup_die_type): Likewise.
|
||
(guess_full_die_structure_name): Likewise.
|
||
(anonymous_struct_prefix): Likewise.
|
||
(dwarf2_name): Likewise.
|
||
(follow_die_ref_or_sig): Likewise.
|
||
(follow_die_offset): Likewise.
|
||
(follow_die_ref): Likewise.
|
||
(dwarf2_fetch_die_loc_sect_off): Likewise.
|
||
(dwarf2_fetch_constant_bytes): Likewise.
|
||
(dwarf2_fetch_die_type_sect_off): Likewise.
|
||
(dwarf2_get_die_type): Likewise.
|
||
(follow_die_sig): Likewise.
|
||
(decode_locdesc): Likewise.
|
||
(dwarf2_per_cu_objfile): Likewise.
|
||
(dwarf2_per_cu_text_offset): Likewise.
|
||
(init_one_comp_unit): Assign dwarf2_per_objfile instead of
|
||
objfile.
|
||
(set_die_type): Access objfile through
|
||
dwarf2_per_objfile.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@ericsson.com>
|
||
|
||
* valprint.c (converted_character_d): Remove typedef.
|
||
(DEF_VEC_O (converted_character_d)): Remove.
|
||
(count_next_character): Use std::vector.
|
||
(print_converted_chars_to_obstack): Likewise.
|
||
(generic_printstr): Likewise.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* xml-support.h (struct gdb_xml_value): Add constructor.
|
||
<value>: Change type to unique_xmalloc_ptr.
|
||
(gdb_xml_value_s): Remove typedef.
|
||
(DEF_VEC_O (gdb_xml_value_s)): Remove.
|
||
(gdb_xml_element_start_handler): Change parameter type to
|
||
std::vector.
|
||
(xml_find_attribute): Likewise.
|
||
* xml-support.c (xml_find_attribute): Change parameter type to
|
||
std::vector and adjust.
|
||
(gdb_xml_values_cleanup): Remove.
|
||
(gdb_xml_parser::start_element): Adjust to std::vector.
|
||
(xinclude_start_include): Change paraeter type to std::vector
|
||
and adjust.
|
||
* btrace.c (check_xml_btrace_version): Likewise.
|
||
(parse_xml_btrace_block): Likewise.
|
||
(parse_xml_btrace_pt_config_cpu): Likewise.
|
||
(parse_xml_btrace_pt): Likewise.
|
||
(parse_xml_btrace_conf_bts): Likewise.
|
||
(parse_xml_btrace_conf_pt): Likewise.
|
||
* memory-map.c (memory_map_start_memory): Likewise.
|
||
(memory_map_start_property): Likewise.
|
||
* osdata.c (osdata_start_osdata): Likewise.
|
||
(osdata_start_item): Likewise.
|
||
(osdata_start_column): Likewise.
|
||
* remote.c (start_thread): Likewise.
|
||
* solib-aix.c (library_list_start_library): Likewise.
|
||
(library_list_start_list): Likewise.
|
||
* solib-svr4.c (library_list_start_library): Likewise.
|
||
(svr4_library_list_start_list): Likewise.
|
||
* solib-target.c (library_list_start_segment): Likewise.
|
||
(library_list_start_section): Likewise.
|
||
(library_list_start_library): Likewise.
|
||
(library_list_start_list): Likewise.
|
||
* tracepoint.c (traceframe_info_start_memory): Likewise.
|
||
(traceframe_info_start_tvar): Likewise.
|
||
* xml-syscall.c (syscall_start_syscall): Likewise.
|
||
* xml-tdesc.c (tdesc_start_target): Likewise.
|
||
(tdesc_start_feature): Likewise.
|
||
(tdesc_start_reg): Likewise.
|
||
(tdesc_start_union): Likewise.
|
||
(tdesc_start_struct): Likewise.
|
||
(tdesc_start_flags): Likewise.
|
||
(tdesc_start_enum): Likewise.
|
||
(tdesc_start_field): Likewise.
|
||
(tdesc_start_enum_value): Likewise.
|
||
(tdesc_start_vector): Likewise.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* extension.h (struct xmethod_worker) <clone>: Remove.
|
||
* python/py-xmethods.c (struct python_xmethod_worker) <clone>:
|
||
Remove.
|
||
(python_xmethod_worker::clone): Remove.
|
||
* valops.c (find_overload_match): Use std::move instead of
|
||
clone.
|
||
|
||
2018-01-07 Simon Marchi <simon.marchi@polymtl.ca>
|
||
|
||
* extension-priv.h (enum ext_lang_rc): Remove, move to extension.h.
|
||
(struct extension_language_ops) <clone_xmethod_worker_data>: Remove.
|
||
<free_xmethod_worker_data>: Remove.
|
||
<get_matching_xmethod_workers>: Chance VEC to std::vector.
|
||
<get_xmethod_arg_types>: Remove.
|
||
<get_xmethod_result_type>: Remove.
|
||
<invoke_xmethod>: Remove.
|
||
* extension.c (new_xmethod_worker): Remove.
|
||
(clone_xmethod_worker): Remove.
|
||
(get_matching_xmethod_workers): Return void, pass std::vector by
|
||
pointer.
|
||
(get_xmethod_arg_types): Rename to...
|
||
(xmethod_worker::get_arg_types): ... this, and adjust.
|
||
(get_xmethod_result_type): Rename to...
|
||
(xmethod_worker::get_result_type): ... this, and adjust.
|
||
(invoke_xmethod): Remove.
|
||
(free_xmethod_worker): Remove.
|
||
(free_xmethod_worker_vec): Remove.
|
||
* extension.h (enum ext_lang_rc): Move here from
|
||
extension-priv.h.
|
||
(struct xmethod_worker): Add constructor and destructor.
|
||
<data>: Remove.
|
||
<value>: Remove.
|
||
<invoke, clone, do_get_result_type, do_get_arg_types>: New
|
||
virtual pure methods.
|
||
<get_arg_types, get_result_type>: New methods.
|
||
(xmethod_worker_ptr): Remove typedef.
|
||
(DEF_VEC_P (xmethod_worker_ptr)): Remove.
|
||
(xmethod_worker_vec): Remove typedef.
|
||
(xmethod_worker_up): New typedef.
|
||
(invoke_xmethod): Remove.
|
||
(clone_xmethod_worker): Remove.
|
||
(free_xmethod_worker): Remove.
|
||
(free_xmethod_worker_vec): Remove.
|
||
(get_xmethod_arg_types): Remove.
|
||
(get_xmethod_result_type): Remove.
|
||
* valops.c (find_method_list): Use std::vector, don't use
|
||
intermediate vector.
|
||
(value_find_oload_method_list): Use std::vector.
|
||
(find_overload_match): Use std::vector.
|
||
(find_oload_champ): Use std::vector.
|
||
* value.c (value_free): Use operator delete.
|
||
(value_of_xmethod): Rename to...
|
||
(value_from_xmethod): ... this. Don't assign
|
||
xmethod_worker::value, take rvalue-reference.
|
||
(result_type_of_xmethod): Adjust.
|
||
(call_xmethod): Adjust.
|
||
* value.h: Include extension.h.
|
||
(struct xmethod_worker): Don't forward-declare.
|
||
(value_of_xmethod): Rename to...
|
||
(value_from_xmethod): ... this, take rvalue-reference.
|
||
* python/py-xmethods.c (struct gdbpy_worker_data): Rename to...
|
||
(struct python_xmethod_worker): ... this, add constructor and
|
||
destructor.
|
||
<invoke, clone, do_get_arg_types, do_get_result_type>: Implement.
|
||
(gdbpy_free_xmethod_worker_data): Rename to...
|
||
(python_xmethod_worker::~python_xmethod_worker): ... this and
|
||
adjust.
|
||
(gdbpy_clone_xmethod_worker_data): Rename to...
|
||
(python_xmethod_worker::clone): ... this and adjust.
|
||
(gdbpy_get_matching_xmethod_workers): Use std::vector, don't use
|
||
temporary vector.
|
||
(gdbpy_get_xmethod_arg_types): Rename to...
|
||
(python_xmethod_worker::do_get_arg_types): ... this and adjust.
|
||
(gdbpy_get_xmethod_result_type): Rename to...
|
||
(python_xmethod_worker::do_get_result_type): ... this and
|
||
adjust.
|
||
(gdbpy_invoke_xmethod): Rename to...
|
||
(python_xmethod_worker::invoke): ... this and adjust.
|
||
(new_python_xmethod_worker): Rename to...
|
||
(python_xmethod_worker::python_xmethod_worker): ... this and
|
||
adjust.
|
||
* python/python-internal.h (gdbpy_clone_xmethod_worker_data):
|
||
Remove.
|
||
(gdbpy_free_xmethod_worker_data): Remove.
|
||
(gdbpy_get_matching_xmethod_workers): Use std::vector.
|
||
(gdbpy_get_xmethod_arg_types): Remove.
|
||
(gdbpy_get_xmethod_result_type): Remove.
|
||
(gdbpy_invoke_xmethod): Remove.
|
||
* python/python.c (python_extension_ops): Remove obsolete
|
||
callbacks.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/18653
|
||
* common/signals-state-save-restore.c
|
||
(save_original_signals_state): New parameter 'quiet'. Warn if we
|
||
find a custom handler preinstalled, instead of internal erroring.
|
||
But only warn if !quiet.
|
||
* common/signals-state-save-restore.h
|
||
(save_original_signals_state): New parameter 'quiet'.
|
||
* main.c (captured_main_1): Move save_original_signals_state call
|
||
after option handling, and pass QUIET.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
* spu-tdep.c (spu_catch_start): Pass
|
||
symbol_name_match_type::SEARCH_NAME to block_lookup_symbol.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* ada-lang.c (literal_symbol_name_matcher): New function.
|
||
(ada_get_symbol_name_matcher): Use it for
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
* block.c (block_lookup_symbol): New parameter 'match_type'. Pass
|
||
it down instead of assuming symbol_name_match_type::FULL.
|
||
* block.h (block_lookup_symbol): New parameter 'match_type'.
|
||
* c-valprint.c (print_unpacked_pointer): Use
|
||
lookup_symbol_search_name instead of lookup_symbol.
|
||
* compile/compile-object-load.c (get_out_value_type): Pass down
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
* cp-namespace.c (cp_basic_lookup_symbol): Pass down
|
||
symbol_name_match_type::FULL.
|
||
* cp-support.c (cp_get_symbol_name_matcher): Handle
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
* infrun.c (insert_exception_resume_breakpoint): Use
|
||
lookup_symbol_search_name.
|
||
* p-valprint.c (pascal_val_print): Use lookup_symbol_search_name.
|
||
* psymtab.c (maintenance_check_psymtabs): Use
|
||
symbol_name_match_type::SEARCH_NAME and SYMBOL_SEARCH_NAME.
|
||
* stack.c (print_frame_args): Use lookup_symbol_search_name and
|
||
SYMBOL_SEARCH_NAME.
|
||
* symtab.c (lookup_local_symbol): Don't demangle the lookup name
|
||
if symbol_name_match_type::SEARCH_NAME.
|
||
(lookup_symbol_in_language): Pass down
|
||
symbol_name_match_type::FULL.
|
||
(lookup_symbol_search_name): New.
|
||
(lookup_language_this): Pass down
|
||
symbol_name_match_type::SEARCH_NAME.
|
||
(lookup_symbol_aux, lookup_local_symbol): New parameter
|
||
'match_type'. Pass it down.
|
||
* symtab.h (symbol_name_match_type::SEARCH_NAME): New enumerator.
|
||
(lookup_symbol_search_name): New declaration.
|
||
(lookup_symbol_in_block): New 'match_type' parameter.
|
||
|
||
2018-01-05 Pedro Alves <palves@redhat.com>
|
||
|
||
PR gdb/22670
|
||
* ada-lang.c (ada_lookup_encoded_symbol): Reimplement in terms of
|
||
ada_lookup_symbol.
|
||
(ada_lookup_symbol): Reimplement in terms of
|
||
ada_lookup_symbol_list, bits factored out from
|
||
ada_lookup_encoded_symbol.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-exp.y (write_object_renaming): When subscripting an array
|
||
using a symbol as the index, pass the block in call to
|
||
ada_lookup_encoded_symbol when looking that symbol up.
|
||
|
||
2018-01-05 Jerome Guitton <guitton@adacore.com>
|
||
|
||
* ada-lang.c (ada_array_length): Use ada_index_type instead of
|
||
TYPE_INDEX_TYPE.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-lang.c (ada_to_fixed_value_create): Add handling of
|
||
the case where VALUE_LVAL (val0) is not lval_memory.
|
||
|
||
2018-01-05 Xavier Roirand <roirand@adacore.com>
|
||
|
||
* ada-valprint.c (print_optional_low_bound): Handle
|
||
character-indexed array printing like boolean-indexed array
|
||
printing.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* NEWS: Create a new section for the next release branch.
|
||
Rename the section of the current branch, now that it has
|
||
been cut.
|
||
|
||
2018-01-05 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
GDB 8.1 branch created (5219ac6237c272b938c28517bf371429260c71e7):
|
||
* version.in: Bump version to 8.1.50.DATE-git.
|
||
|
||
2018-01-03 Xavier Roirand <roirand@adacore.com>
|
||
|
||
* ada-lang.h (ada_exception_catchpoint_kind) <ada_catch_handlers>:
|
||
Add field.
|
||
* ada-lang.c (struct exception_support_info) <catch_handlers_sym>:
|
||
Add field.
|
||
(default_exception_support_info) <catch_handlers_sym>: Add field.
|
||
(exception_support_info_fallback) <catch_handlers_sym>: Add field.
|
||
(ada_exception_name_addr_1): Add "catch handlers" handling.
|
||
(ada_exception_catchpoint_cond_string) <ex>: New parameter.
|
||
Update all callers.
|
||
(create_excep_cond_exprs) <ex>: Add parameter.
|
||
(re_set_exception): Update create_excep_cond_exprs call.
|
||
(print_it_exception, print_one_exception, print_mention_exception)
|
||
(print_recreate_exception): Add "catch handler" handling.
|
||
(allocate_location_catch_handlers, re_set_catch_handlers)
|
||
(check_status_catch_handlers, print_it_catch_handlers)
|
||
(print_one_catch_handlers, print_mention_catch_handlers)
|
||
(print_recreate_catch_handlers): New function.
|
||
(catch_handlers_breakpoint_ops): New variable.
|
||
(catch_ada_exception_command_split) <is_catch_handlers_cmd>:
|
||
Add parameter. Add "catch handler" handling.
|
||
(ada_exception_sym_name, ada_exception_breakpoint_ops):
|
||
Add "catch handler" handling.
|
||
(ada_exception_catchpoint_cond_string): Add "catch handler"
|
||
handling.
|
||
(create_ada_exception_catchpoint): Update create_excep_cond_exprs
|
||
call.
|
||
(catch_ada_handlers_command): New function.
|
||
(initialize_ada_catchpoint_ops): Initialize "catch handlers"
|
||
operations structure.
|
||
(_initialize_ada_language): Add "catch handlers" command entry.
|
||
* NEWS: Document "catch handlers" feature.
|
||
|
||
2018-01-02 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* ada-lang.c (ada_value_slice_from_ptr): Take array stride into
|
||
account when creating the array type of the slice.
|
||
(ada_value_slice): Likewise.
|
||
|
||
2018-01-02 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* gdbtypes.h (enum dynamic_prop_node_kind) <DYN_PROP_BYTE_STRIDE>:
|
||
New enum value.
|
||
(create_array_type_with_stride): Add byte_stride_prop parameter.
|
||
* gdbtypes.c (create_array_type_with_stride) <byte_stride_prop>:
|
||
New parameter. Update all callers in this file.
|
||
(array_type_has_dynamic_stride): New function.
|
||
(is_dynamic_type_internal, resolve_dynamic_array): Add handling
|
||
of arrays with dynamic byte strides.
|
||
* dwarf2read.c (read_array_type): Add support for dynamic
|
||
DW_AT_byte_stride attributes.
|
||
|
||
2018-01-02 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* dwarf2read.c (read_unspecified_type): Treat
|
||
DW_TAG_enumeration_type DIEs from Ada units as stubs.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
Update copyright year range in all GDB files.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* copyright.py (BY_HAND): Remove gdb/testsuite/gdb.base/step-line.inp
|
||
and gdb/testsuite/gdb.base/step-line.c.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* copyright.py (main): Dump the contents of
|
||
MULTIPLE_COPYRIGHT_HEADERS (separately) from BY_HAND,
|
||
even if BY_HAND is empty.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* top.c (print_gdb_version): Update Copyright year in version
|
||
message.
|
||
|
||
2018-01-01 Joel Brobecker <brobecker@adacore.com>
|
||
|
||
* config/djgpp/fnchange.lst: Add entry for gdb/ChangeLog-2017.
|
||
|
||
For older changes see ChangeLog-2017.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
coding: utf-8
|
||
End:
|