aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix spelling mistakes in BFD library.Yuri Chornoivan2019-01-215-6/+22
| | | | | | | | | | | | | PR 24108 bfd * elf32-nds32.c (nds32_relocate_section): Add space between words in error message. * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in error message. (riscv_i_or_e_p): Likewise. (riscv_merge_arch_attr_info): Likewise. ld * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Update expected error message.
* Testsuite: Ensure stack protection is off for GCCAlan Hayward2019-01-215-3/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using -fstack-protector-strong will cause GDB to break on the wrong line when placing a breakpoint on a function. This is due to inadequate dwarf line numbering, and is being tracked by the GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88432 GCC (and Clang) provided by Debian/Ubuntu default to stack protector being enabled. Ensure that when running the GDB testsuite, stack protector is always turned off for GCC 4.1.0 (when stack protector was added) and above. Ensure that this does not cause infinite recursion due to test_compiler_info having to compile a file itself. Add a test to explicitly test breakpoints with various levels of stack protection on both GCC and Clang, with xfail for the known errors. Restore change in ovldbreak.exp which worked around the issue. gdb/testsuite/ChangeLog: 2019-01-18 Alan Hayward <alan.hayward@arm.com> * gdb.base/stack-protector.c: New test. * gdb.base/stack-protector.exp: New file. * gdb.cp/ovldbreak.exp: Only allow a single break line. * lib/gdb.exp (get_compiler_info): Use getting_compiler_info option. (gdb_compile): Remove stack protector for GCC and prevent recursion.
* Automatic date update in version.inGDB Administrator2019-01-211-1/+1
|
* [MIPS] fix typo in mips_arch_choices.Chenghua Xu2019-01-202-3/+7
| | | | | | opcodes/ * mips-dis.c (mips_arch_choices): Fix typo in gs464, gs464e and gs264e descriptors.
* Automatic date update in version.inGDB Administrator2019-01-201-1/+1
|
* Change version to 2.32.51 and regenerate configure and pot files.Nick Clifton2019-01-1926-8347/+9226
|
* Add markers for 2.32 branch to NEWS and ChangeLog files.Nick Clifton2019-01-1916-6/+59
|
* Automatic date update in version.inGDB Administrator2019-01-191-1/+1
|
* Automatic date update in version.inGDB Administrator2019-01-181-1/+1
|
* Make minimal symbol range adapter a method on objfileTom Tromey2019-01-1710-82/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | This removes class objfile_msymbols in favor of a method on the objfile. 2019-01-16 Tom Tromey <tom@tromey.com> * objfiles.h (struct minimal_symbol_iterator): Rename. Move earlier. (struct objfile) <msymbols_range>: Move from top level. <msymbols>: New method. (class objfile_msymbols): Remove. * symtab.c (default_collect_symbol_completion_matches_break_on): Update. * symmisc.c (dump_msymbols): Update. * stabsread.c (scan_file_globals): Update. * objc-lang.c (info_selectors_command, info_classes_command) (find_methods): Update. * minsyms.c (find_solib_trampoline_target): Update. * hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update. * coffread.c (coff_symfile_read): Update. * ada-lang.c (ada_lookup_simple_minsym) (ada_collect_symbol_completion_matches): Update.
* Simplify minsym iterationTom Tromey2019-01-172-19/+14
| | | | | | | | | | | | | | | | | This simplifies the minimal symbol iterator, by using minimal_symbol_count and just doing a somewhat ordinary array-like iteration. array_view is nearly usable, except that it is more convenient for this iterator to return pointers rather than references. gdb/ChangeLog 2019-01-16 Tom Tromey <tom@tromey.com> * objfiles.h (class objfile_msymbols) <iterator>: Change argument type. Remove no-argument constructor. <iterator::operator++>: Simplify. <begin>: Update. <end>: Use minimal_symbol_count.
* Make psymtab range adapter a method on objfileTom Tromey2019-01-176-21/+38
| | | | | | | | | | | | | | | | | | | | This removes the objfile_psymtabs class in favor of a method on objfile and on psymtab_storage. 2019-01-16 Tom Tromey <tom@tromey.com> * objfiles.h (struct objfile) <psymtabs>: New method. (class objfile_psymtabs): Remove. * psymtab.h (class psymtab_storage) <partial_symtab_range>: New typedef. <range>: New method. (require_partial_symbols): Change return type. * psymtab.c (require_partial_symbols) (psym_expand_symtabs_matching): Update. * mdebugread.c (parse_partial_symbols): Update. * dbxread.c (dbx_end_psymtab): Update.
* Add compunits range adapter to objfileTom Tromey2019-01-1712-44/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the objfile_compunits range adapter in favor of using a method on objfile. 2019-01-15 Tom Tromey <tom@tromey.com> * symtab.c (lookup_objfile_from_block) (lookup_symbol_in_objfile_symtabs) (basic_lookup_transparent_type_1, find_pc_sect_compunit_symtab) (find_line_symtab, info_sources_command) (default_collect_symbol_completion_matches_break_on) (make_source_files_completion_list): Update. * symmisc.c (print_objfile_statistics, dump_objfile) (maintenance_print_symbols, maintenance_info_symtabs) (maintenance_check_symtabs, maintenance_info_line_tables): Update. * source.c (select_source_symtab) (forget_cached_source_info_for_objfile): Update. * objfiles.h (class objfile_compunits): Remove. (struct objfile) <compunits_range>: New typedef. (compunits): New method. * objfiles.c (objfile_relocate1): Update. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update. * maint.c (count_symtabs_and_blocks): Update. * linespec.c (iterate_over_all_matching_symtabs): Update. * cp-support.c (add_symbol_overload_list_qualified): Update. * coffread.c (coff_symtab_read): Update. * ada-lang.c (add_nonlocal_symbols) (ada_collect_symbol_completion_matches) (ada_add_global_exceptions): Update.
* Change all_objfiles_safe adapter to be a method on program_spaceTom Tromey2019-01-175-28/+33
| | | | | | | | | | | | | | | This changes the all_objfiles_safe range adapter to be a method on the program space, and fixes up all the users. gdb/ChangeLog 2019-01-15 Tom Tromey <tom@tromey.com> * progspace.h (program_space) <objfiles_safe_range>: New typedef. <objfiles_safe>: New method. * objfiles.h (class all_objfiles_safe): Remove. * objfiles.c (free_all_objfiles, objfile_purge_solibs): Update. * jit.c (jit_inferior_exit_hook): Update.
* Change all_objfiles adapter to be a method on program_spaceTom Tromey2019-01-1742-137/+219
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the all_objfiles range adapter to be a method on the program space, and fixes up all the users. gdb/ChangeLog 2019-01-17 Tom Tromey <tom@tromey.com> * progspace.h (program_space) <objfiles_range>: New typedef. <objfiles>: New method. <objfiles_head>: Rename from objfiles. (object_files): Update. * guile/scm-progspace.c (gdbscm_progspace_objfiles): Update. * guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_objfiles): Update. * guile/scm-objfile.c (gdbscm_objfiles): Update. * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Update. * python/py-progspace.c (pspy_get_objfiles): Update. * python/py-prettyprint.c (find_pretty_printer_from_objfiles): Update. * python/py-objfile.c (objfpy_lookup_objfile_by_name) (objfpy_lookup_objfile_by_build_id): Update. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update. * windows-tdep.c (windows_iterate_over_objfiles_in_search_order): Update. * symtab.c (iterate_over_symtabs, matching_obj_sections) (expand_symtab_containing_pc, lookup_objfile_from_block) (lookup_static_symbol, basic_lookup_transparent_type) (find_pc_sect_compunit_symtab, find_symbol_at_address) (find_line_symtab, info_sources_command) (default_collect_symbol_completion_matches_break_on) (make_source_files_completion_list, find_main_name): Update. * symmisc.c (print_symbol_bcache_statistics) (print_objfile_statistics, maintenance_print_symbols) (maintenance_print_msymbols, maintenance_print_objfiles) (maintenance_info_symtabs, maintenance_check_symtabs) (maintenance_expand_symtabs, maintenance_info_line_tables): Update. * symfile.c (remove_symbol_file_command, overlay_invalidate_all) (find_pc_overlay, find_pc_mapped_section, list_overlays_command) (map_overlay_command, unmap_overlay_command) (simple_overlay_update, expand_symtabs_matching) (map_symbol_filenames): Update. * symfile-debug.c (set_debug_symfile): Update. * spu-tdep.c (spu_overlay_update, spu_objfile_from_frame): Update. * source.c (select_source_symtab, forget_cached_source_info): Update. * solib.c (solib_read_symbols): Update. * solib-spu.c (append_ocl_sos): Update. * psymtab.c (maintenance_print_psymbols) (maintenance_info_psymtabs, maintenance_check_psymtabs): Update. * probe.c (parse_probes_in_pspace, find_probe_by_pc): Update. * printcmd.c (info_symbol_command): Update. * ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Update. * objfiles.h (class all_objfiles): Remove. * objfiles.c (have_partial_symbols, have_full_symbols) (have_minimal_symbols, qsort_cmp, update_section_map) (shared_objfile_contains_address_p) (default_iterate_over_objfiles_in_search_order): Update. * objc-lang.c (info_selectors_command, info_classes_command) (find_methods): Update. * minsyms.c (find_solib_trampoline_target): Update. * maint.c (maintenance_info_sections) (maintenance_translate_address, count_symtabs_and_blocks): Update. * main.c (captured_main_1): Update. * linux-thread-db.c (try_thread_db_load_from_pdir) (has_libpthread): Update. * linespec.c (iterate_over_all_matching_symtabs) (search_minsyms_for_name): Update. * jit.c (jit_find_objf_with_entry_addr): Update. * hppa-tdep.c (find_unwind_entry) (hppa_lookup_stub_minimal_symbol): Update. * gcore.c (gcore_create_callback, objfile_find_memory_regions): Update. * elfread.c (elf_gnu_ifunc_resolve_by_cache) (elf_gnu_ifunc_resolve_by_got): Update. * dwarf2-frame.c (dwarf2_frame_find_fde): Update. * dwarf-index-write.c (save_gdb_index_command): Update. * cp-support.c (add_symbol_overload_list_qualified): Update. * breakpoint.c (create_overlay_event_breakpoint) (create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Update. * blockframe.c (find_pc_partial_function): Update. * ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols) (ada_collect_symbol_completion_matches) (ada_add_global_exceptions): Update.
* Remove cleanups from solib-target.cTom Tromey2019-01-172-46/+34
| | | | | | | | | | | | | | | | | | | | This removes the remaining cleanups from solib-target.c, plus a VEC, by using std::vector and std::unique_ptr. Tested by the buildbot. gdb/ChangeLog 2019-01-17 Tom Tromey <tom@tromey.com> * solib-target.c (lm_info_target_p): Remove typedef. Don't declare VEC. (solib_target_parse_libraries): Change return type. (library_list_start_segment, library_list_start_section) (library_list_end_library, library_list_start_library); Update. (solib_target_free_library_list): Remove. (solib_target_parse_libraries): Remove cleanup. Change return type. (solib_target_current_sos): Update.
* Replace "the the" with "the"Tom Tromey2019-01-1711-10/+21
| | | | | | | | | | | | | | | | | | | This replaces "the the" with "the" in various comments. Tested by rebuilding. This didn't test the solib-dsbt.c change, but it looks harmless. gdb/ChangeLog 2019-01-17 Tom Tromey <tromey@bapiya> * valprint.c: Replace "the the" with "the". * symtab.c: Replace "the the" with "the". * solib.c: Replace "the the" with "the". * solib-dsbt.c: Replace "the the" with "the". * linespec.c: Replace "the the" with "the". * dwarf2loc.h: Replace "the the" with "the". * amd64-windows-tdep.c: Replace "the the" with "the". * aarch64-tdep.c: Replace "the the" with "the".
* Arm: Clean up PE GAS testsuite correct THUMB tests.Tamar Christina2019-01-179-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | The PE targets don't support mapping symbols and so the disassembler is unable to correctly output thumb instructions when the input was thumb. So for testcases that only have thumb output, I have copied them and skipped the ones for which auto-detection is supposed to work on PE, and added a new one that will force thumb output. This so that the tests still check the mapping symbols. For the tests that switch between thumb and arm in one file I just skip them entirely on PE targets. This cleans up the PE GAS testsuite. gas/ * testsuite/gas/arm/archv6t2-1-pe.d: New test. * testsuite/gas/arm/archv6t2-1.d: Skip pe. * testsuite/gas/arm/csdb.d: Skip pe. * testsuite/gas/arm/sb-thumb1-pe.d: New test. * testsuite/gas/arm/sb-thumb1.d: Skip pe. * testsuite/gas/arm/sb-thumb2-pe.d: New test. * testsuite/gas/arm/sb-thumb2.d: Skip pe. * testsuite/gas/arm/udf.d: Skip pe.
* Update objdump's --disassemble=<symbol> feature so that if <symbol> is a ↵Nick Clifton2019-01-176-24/+212
| | | | | | | | | | | | function, the entire function will be disassembled, regardless of the presence of interveening symbols. * objdump.c (disassemble_section): When disassembling from a symbol only stop at the next symbol if the original symbol was not a function symbol. Otherwise continue disassembling until a new function is reached. * testsuite/binutils-all/objdump.exp: Add tests of extended functionality. * testsuite/binutils-all/disasm.s: New test source file.
* Automatic date update in version.inGDB Administrator2019-01-171-1/+1
|
* Actually remove definitions of DEFINE_NON_INLINE_P and DEFINE_INLINE_PSimon Marchi2019-01-162-4/+1
| | | | | | | I applied the patch "Do not expand macros to 'defined'" by hand because I couldn't apply it with git-am, and of course forgot to remove the macro definitions. This patch fixes it, and also makes the ChangeLog entry a bit cleaner.
* Don't emit vendor attribute section if there is no attribute to emit.Jim Wilson2019-01-164-1/+13
| | | | | | | | | 2019-01-16 Kito Cheng <kito@andestech.com> bfd/ * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even for OBJ_ATTR_PROC. gas/ * testsuite/gas/riscv/attribute-empty.d: New.
* RISC-V: Merge ELF attribute for ld.Jim Wilson2019-01-1640-0/+621
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2019-01-16 Kito Cheng <kito@andestech.com> Nelson Chu <nelson@andestech.com> bfd/ * elfnn-riscv.c (in_subsets): New. (out_subsets): Likewise. (merged_subsets): Likewise. (riscv_std_ext_p): Likewise. (riscv_non_std_ext_p): Likewise. (riscv_std_sv_ext_p): Likewise. (riscv_non_std_sv_ext_p): Likewise. (riscv_version_mismatch): Likewise. (riscv_i_or_e_p): Likewise. (riscv_merge_std_ext): Likewise. (riscv_merge_non_std_and_sv_ext): Likewise. (riscv_merge_arch_attr_info): Likewise. (riscv_merge_attributes): Likewise. (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute. ld/ * testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new section. * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests. * testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test. * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise.
* RISC-V: Support ELF attribute for gas and readelf.Jim Wilson2019-01-1634-7/+654
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2019-01-16 Kito Cheng <kito@andestech.com> Nelson Chu <nelson@andestech.com> bfd/ * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New. (elf_backend_obj_attrs_vendor): Define. (elf_backend_obj_attrs_section_type): Likewise. (elf_backend_obj_attrs_section): Likewise. (elf_backend_obj_attrs_arg_type): Define as riscv_elf_obj_attrs_arg_type. * elfxx-riscv.c (riscv_estimate_digit): New. (riscv_estimate_arch_strlen1): Likewise. (riscv_estimate_arch_strlen): Likewise. (riscv_arch_str1): Likewise. (riscv_arch_str): Likewise. * elfxx-riscv.h (riscv_arch_str): Declare. binutils/ * readelf.c (get_riscv_section_type_name): New function. (get_section_type_name): Add handler for RISC-V. (riscv_attr_tag_t): Declare. (riscv_attr_tag): New. (display_riscv_attribute): New function. (process_attributes): Add handler for RISC-V. * testsuite/binutils-all/strip-3.d: Remove .riscv.attribute section. gas/ * config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined. (riscv_set_options): Add `arch_attr` field. (riscv_opts): Set default value for arch_attr. (riscv_write_out_arch_attr): New. (riscv_set_public_attributes): Likewise. (riscv_md_end): Likewise. (riscv_convert_symbolic_attribute): Likewise. (s_riscv_attribute): Likewise. (explicit_arch_attr): Likewise. (riscv_pseudo_table): Add .attribute to the table. (options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR enumeration constants. (md_longopts): Add `march-attr' and `mno-arch-attr' options. (md_parse_option): Handle the new options. (md_show_usage): Document the `march-attr' option. * config/tc-riscv.h (md_end): Define as riscv_md_end (riscv_md_end): Declare. (CONVERT_SYMBOLIC_ATTRIBUTE): Define as riscv_convert_symbolic_attribute. (riscv_convert_symbolic_attribute): Declare. (start_assemble): Declare. * testsuite/gas/elf/elf.exp: Adjust test case for section2.e. * testsuite/gas/elf/section2.e-riscv: New. * testsuite/gas/riscv/attribute-01.d: New test * testsuite/gas/riscv/attribute-02.d: Likewise. * testsuite/gas/riscv/attribute-03.d: Likewise. * testsuite/gas/riscv/attribute-04.d: Likewise. * testsuite/gas/riscv/attribute-04.s: Likewise. * testsuite/gas/riscv/attribute-05.d: Likewise. * testsuite/gas/riscv/attribute-05.s: Likewise. * testsuite/gas/riscv/attribute-06.d: Likewise. * testsuite/gas/riscv/attribute-06.s: Likewise. * testsuite/gas/riscv/attribute-07.d: Likewise. * testsuite/gas/riscv/attribute-07.s: Likewise. * testsuite/gas/riscv/attribute-08.d: Likewise. * testsuite/gas/riscv/attribute-08.s: Likewise. * testsuite/gas/riscv/attribute-unknown.d: Likewise. * testsuite/gas/riscv/attribute-unknown.s: Likewise. * testsuite/gas/riscv/empty.l: Likewise. * doc/c-riscv.texi (.attribute): Add documentation. * configure.ac (--enable-default-riscv-attribute): New options. * configure: Re-generate. * config.in: Re-generate. include/ * elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define. (Tag_RISCV_arch): Likewise. (Tag_RISCV_priv_spec): Likewise. (Tag_RISCV_priv_spec_minor): Likewise. (Tag_RISCV_priv_spec_revision): Likewise. (Tag_RISCV_unaligned_access): Likewise. (Tag_RISCV_stack_align): Likewise.
* Do not expand macros to 'defined'Pavel I. Kryukov2019-01-162-5/+7
| | | | | | | | | | Expanding a macro which contains 'defined' PP keyword is UB. It causes a compilation failure when -Wexpansion-to-defined is used. sim/common/Changelog: 2019-01-16 Pavel I. Kryukov <kryukov@frtk.ru> * sim-arange.c: eliminate DEFINE_NON_INLINE_P
* Introduce dwarf2_cu::get_builderKeith Seitz2019-01-164-116/+393
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is an attempt to deal with a variety of bugs reported where GDB segfaults attempting to access a dwarf2_cu's builder. In certain circumstances, this builder can be NULL. This is especially common when inheriting DIEs via inlined subroutines in other CUs. The test case demonstrates one such situation reported by users. See gdb/23773, rhbz1638798, and dups for other concrete examples. The approach taken here is to save the ancestor CU into the dwarf2_cu of all CUs with DIEs that are "imported." This can happen whenever follow_die_offset and friends are called. This essentially introduces a chain of CUs that caused the importation of a DIE from a CU. Whenever a builder is requested of a CU that has none, the ancestors are searched for the first one with a builder. A design side effect of this is that the builder can now only be accessed by getter and setter methods because the builder itself is private. The bulk of the patch is relatively mindless text conversion from "cu->builder" to "cu->get_builder ()". I've included one test which was derived from one (of the many) bugs reported on the issue in both sourceware and Fedora bugzillas. gdb/ChangeLog: PR gdb/23773 * dwarf2read.c (dwarf2_cu) <ancestor>: New field. <builder>: Rename to .. <m_builder>: ... this and make private. (dwarf2_cu::get_builder): New method. Change all users of `builder' to use this method. (dwarf2_start_symtab): Move to ... (dwarf2_cu::start_symtab): ... here. Update all callers (setup_type_unit_groups): Move to ... (dwarf2_cu::setup_type_unit_groups): ... here. Update all callers. (dwarf2_cu::reset_builder): New method. (process_full_compunit, process_full_type_unit): Use dwarf2_cu::reset_builder. (follow_die_offset): Record the ancestor CU if it is different from the followed DIE's CU. (follow_die_sig_1): Likewise. gdb/testsuite/ChangeLog: PR gdb/23773 * gdb.dwarf2/inlined_subroutine-inheritance.exp: New file.
* doc: Add table of MI versionsSimon Marchi2019-01-162-11/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a table summarizing the history or MI versions: - The version number - Which GDB version introduced it - Breaking changes compared to the previous version The goal of the table is to help writers of front ends know which version of MI they can use with a given GDB version. It will also help them update their code to work against a newer MI version. Right now, we just have 1 and 2, but we expect to add an entry for 3 soon. I did a bit of archelogy and reverse engineering of the code to come up with the breaking changes for MI 2. I did some changes to the text around it, some things that I thought needed to be clarified, seemed a bit dated or seemed just wrong (especially "Apart from mi0, new versions of @value{GDBN} will not support old versions of MI"). gdb/doc/ChangeLog: * gdb.texinfo (GDB/MI Development and Front Ends): Add table of MI versions. Update text around it.
* S12Z: gas: Fix bug when a symbol name was the single letter 'c'.John Darrington2019-01-165-4/+32
| | | | | | | | | | | | The assembler incorrectly recognised "c" as a register name, and refused to allow it where it expected a symbol/label. gas/ * config/tc-s12z.c (lex_reg_name): Compare the length of the strings before the contents. * testsuite/gas/s12z/labels.d: New file. * testsuite/gas/s12z/labels.s: New file. * testsuite/gas/s12z/s12z.exp: Add them.
* S12Z: gas: Permit "extend" instructions which don't actually extend.John Darrington2019-01-162-10/+7
| | | | | | | | | | | Other assemblers permit "extending" a register into a register of a smaller size or the same size. It doesn't make much sense to do this but would appear to be a valid instruction. So change the error to a warning. gas/ * config/tc-s12z.c (tfr): Change as_bad to as_warn. Also fix message typo and semantics.
* S12Z: Emit RELOC_S12Z_OPR instead of RELOC_EXT24 where appropriate.John Darrington2019-01-168-13/+45
| | | | | | | | | | | | | | | | | | | When assembling instructions which involve OPR references, emit RELOC_S12Z_OPR instead of RELOC_EXT24. bfd/ * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc. * libbfd.h: regen. * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero source field. (md_apply_fix): Apply final fix to BFD_RELOC_S12Z_OPR. * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc. gas/ * config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of BFD_RELOC_24. * testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead of R_S12Z_EXT24.
* Automatic date update in version.inGDB Administrator2019-01-161-1/+1
|
* sim: Fix definition of SIM_ARANGE_INLINESimon Marchi2019-01-152-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If HAVE_INLINE is false, SIM_ARANGE_INLINE is currently defined as #define SIM_ARANGE_INLINE EXTERN However, EXTERN is not defined anywhere, leading to errors such as: In file included from /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0, from /mipt-mips/simulator/export/gdb/sim-main.h:13, from /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7: /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: ‘EXTERN’ does not name a type; did you mean ‘EUSERS’? #define SIM_ARANGE_INLINE EXTERN ^ /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in expansion of macro ‘SIM_ARANGE_INLINE’ SIM_ARANGE_INLINE int ^~~~~~~~~~~~~~~~~ I (Simon) have reproduced the problem by simply removing the HAVE_INLINE definition. This was originally reported by Pavel I. Kryukov <kryukov@frtk.ru>. sim/common/ChangeLog: * sim-arange.h (SIM_ARANGE_INLINE): Change EXTERN to extern.
* Remove cleanup from remote.cTom Tromey2019-01-152-418/+440
| | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the remaining cleanup from remote.c, by changing remote_state::buf to be a gdb::char_vector, and then fixing up all the fallout. The resulting patch is somewhat ugly, but on the other hand, it eliminates some possibilities for mistakes. Regression tested using the Fedora-x86_64-native-extended-gdbserver-m64 builder on the buildbot. gdb/ChangeLog 2019-01-15 Tom Tromey <tom@tromey.com> * remote.c (class remote_state) <buf>: Now a char_vector. <buf_size>: Remove. (remote_target::getpkt): Change type of buf. Remove sizeof_buf parameter. (remote_target::getpkt_or_notif_sane_1) (remote_target::getpkt_sane) (remote_target::getpkt_or_notif_sane): Likewise. (class remote_target) <putpkt>: New overload. (remote_target::read_frame): Change type of "buf_p". Remove sizeof_p parameter. (packet_ok): New overload. (packet_check_result): New overload. Update all uses.
* Constify some remote-notif functionsTom Tromey2019-01-144-12/+25
| | | | | | | | | | | | | | | | | | This constifies the "buf" arguments to various remote-notif functions and updates the users. gdb/ChangeLog 2019-01-14 Tom Tromey <tom@tromey.com> * remote-notif.c (handle_notification, remote_notif_ack) (remote_notif_parse): Make "buf" const. * remote-notif.h (struct notif_client) <parse, ack>: Make "buf" const. (remote_notif_parse, remote_notif_ack, handle_notification): Likewise. * remote.c (remote_notif_stop_parse): Make "buf" const. (remote_target::remote_parse_stop_reply): Make "buf" const. (remote_notif_stop_ack): Make "buf" const.
* Constify remote_console_outputTom Tromey2019-01-142-3/+7
| | | | | | | | | This constifies the parameter to remote_console_output. gdb/ChangeLog 2019-01-14 Tom Tromey <tom@tromey.com> * remote.c (remote_console_output): Make parameter const.
* Constify target_pass_signals and target_program_signalsTom Tromey2019-01-1410-27/+45
| | | | | | | | | | | | | | | | | | | | | | | | This constifies the final parameter to target_pass_signals and target_program_signals and updates the rest of gdb. Note that I have no way to test the nto-procfs.c change. gdb/ChangeLog 2019-01-14 Tom Tromey <tom@tromey.com> * target-debug.h (target_debug_print_signals): Constify. * nto-procfs.c (nto_procfs_target::pass_signals): Update. * procfs.c (procfs_target::pass_signals): Update. * linux-nat.c (linux_nat_target::pass_signals): Update. * linux-nat.h (class linux_nat_target) <pass_signals>: Update. * target-delegates.c: Rebuild. * remote.c (remote_target::program_signals): Update. (remote_target::pass_signals): Update. * target.c (target_pass_signals): Constify argument. (target_program_signals): Likewise. * target.h (struct target_ops) <pass_signals, program_signals>: Constify argument. (target_pass_signals, target_program_signals): Constify argument.
* Automatic date update in version.inGDB Administrator2019-01-151-1/+1
|
* Fix placement of output in TUI modeTom Tromey2019-01-142-0/+11
| | | | | | | | | | | | | | | | | The fix for PR tui/28819 regressed gdb command output a bit. In "nonl" mode, pressing the Enter key will result in a newline not being echoed properly, so that gdb output for the command will begin on the same line as the input. This patch changes gdb_wgetch to echo the newline. I have only tested this interactively, as the TUI doesn't have automated tests in general. gdb/ChangeLog 2019-01-14 Tom Tromey <tom@tromey.com> PR tui/28819: * tui/tui-io.c (gdb_wgetch): Print \r when needed.
* Include <string.h> to dis-asm.h to get strchr declarationПавел Крюков2019-01-142-0/+5
| | | | | | | | | Include <string.h> to dis-asm.h to get strchr declaration include/Changelog: 2019-01-11 Pavel I. Kryukov <kryukov@frtk.ru> * dis-asm.h: include <string.h>
* [PowerPC] Aliases for vector registersPedro Franco de Carvalho2019-01-1410-5/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch defines pseudo-registers "v0" through "v31" as aliases that map to the corresponding raw "vr0" through "vr31" vector registers for Power. The motivation behind this is that although GDB defines these registers as "vrX", the disassembler prints them as "vX", e.g. as the operands in instructions such as "vaddubm v2,v1,v1". This can be confusing to users trying to print out the values of the operands while inspecting the disassembled code. The new aliases are made not to belong to any register group, to avoid duplicated values in "info register vector" and "info register all". The arch-specific rs6000_pseudo_register_reggroup_p function had previously been removed since the other pseudo-registers could have their groups inferred by their type. It restored with this patch to handle the aliases. Membership for the other pseudo-registers is still determined using the default function. A new tests checks that GDB prints the expected values of vector registers after they are filled by the inferior, by using both the raw names and the aliases. Two other existing tests are modified to also test the aliases. gdb/ChangeLog: 2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> * ppc-tdep.h (struct gdbarch_tdep) <ppc_v0_alias_regnum>: New field. * rs6000-tdep.c: Include reggroups.h. (IS_V_ALIAS_PSEUDOREG): Define. (rs6000_register_name): Return names for the "vX" aliases. (rs6000_pseudo_register_type): Return type for the "vX" aliases. (rs6000_pseudo_register_reggroup_p): Restore. Handle "vX" aliases. Call default_register_reggroup_p for all other pseudo-registers. (v_alias_pseudo_register_read, v_alias_pseudo_register_write): New functions. (rs6000_pseudo_register_read, rs6000_pseudo_register_write): Handle "vX" aliases. (v_alias_pseudo_register_collect): New function. (rs6000_ax_pseudo_register_collect): Handle "vX" aliases. (rs6000_gdbarch_init): Initialize "vX" aliases as pseudo-registers. Restore registration of rs6000_pseudo_register_reggroup_p with set_tdesc_pseudo_register_reggroup_p. gdb/testsuite/ChangeLog: 2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> * gdb.arch/vsx-regs.exp: Add tests that use the vector register aliases. * gdb.arch/altivec-regs.exp: Likewise. Fix indentation of two tests. * gdb.arch/powerpc-vector-regs.c: New file. * gdb.arch/powerpc-vector-regs.exp: New file. gdb/doc/ChangeLog: 2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> * gdb.texinfo (PowerPC Features): Document the alias pseudo-registers for the org.gnu.gdb.power.altivec feature.
* [PowerPC] Fix "info vector" test in gdb.arch/altivec-regs.expPedro Franco de Carvalho2019-01-142-38/+10
| | | | | | | | | | | | This patch fixes one of the tests in gdb.arch/altivec-regs.exp that was passing an incorrect list to gdb_expect_list, which always matched. gdb/testsuite/ChangeLog: 2019-01-14 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> * gdb.arch/altivec-regs.exp: Fix the list passed to gdb_expect_list when testing "info vector".
* Correct PR number in prevvious deltaNick Clifton2019-01-142-3/+3
|
* Add support to GNU ld to separate got related plt entries from normal ones ↵Maamoun Tarsha2019-01-1419-99/+131
| | | | | | | | | | | | | | | | | | | | | | in order to be able to switch the non-plt got entries to read-only after startup, conforming to revised Linux for zSeries ABI. PR 20133 * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. * testsuite/ld-s390/tlsbin.dd: Likewise. * testsuite/ld-s390/tlsbin.rd: Likewise. * testsuite/ld-s390/tlsbin.sd: Likewise. * testsuite/ld-s390/tlsbin_64.dd: Likewise. * testsuite/ld-s390/tlsbin_64.rd: Likewise. * testsuite/ld-s390/tlsbin_64.sd: Likewise. * testsuite/ld-s390/tlspic.dd: Likewise. * testsuite/ld-s390/tlspic.rd: Likewise. * testsuite/ld-s390/tlspic.sd: Likewise. * testsuite/ld-s390/tlspic_64.dd: Likewise. * testsuite/ld-s390/tlspic_64.rd: Likewise. * testsuite/ld-s390/tlspic_64.sd: Likewise. * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets.
* Sync config.guess, config.sub from GCCRainer Orth2019-01-143-611/+633
| | | | | | | Merge from GCC: PR target/88535 * config.guess: Import upstream version 2019-01-03. * config.sub: Import upstream version 2019-01-01.
* Implement the assembly instructions yield, wfe, wfi and sev for ARMv6T2 in ↵Srinath Parvathaneni2019-01-145-2/+44
| | | | | | | | | | | | both ARM mode and Thumb mode. * config/tc-arm.c (arm_ext_v6k_v6t2): Define. (insns) [ARM_VARIANT]: Modified. (insns) [THUMB_VARIANT]: To implement few ARMv6K instructions in ARMv6T2 as well. * testsuite/gas/arm/archv6t2-1.d: New test. * testsuite/gas/arm/archv6t2-1.s: Likewise. * testsuite/gas/arm/archv6t2-2.d: Likewise.
* ld: Clarify --wrap documentationSebastian Huber2019-01-142-0/+24
| | | | | | | ld/ * ld.texi (--wrap): Add example to emphasise that only undefined references are replaced by the linker.
* Automatic date update in version.inGDB Administrator2019-01-141-1/+1
|
* gdb: xtensa: fix register counters for xtensa-linuxMax Filippov2019-01-132-1/+13
| | | | | | | | | | | | | | | | | Commit 37d9e0623102 ("gdb: xtensa: handle privileged registers") changed how the tdep->num_regs and tdep->num_pseudo_regs are calculated, but didn't update these numbers in the gdbarch for the xtensa-linux target. As a result xtensa-linux-gdb behaves as xtensa-elf-gdb and cannot communicate with the linux gdbserver. Fix tdep->num_pseudo_regs calculation and call set_gdbarch_num_regs and set_gdbarch_num_pseudo_regs in xtensa_linux_init_abi. gdb/ 2019-01-13 Max Filippov <jcmvbkbc@gmail.com> * xtensa-linux-tdep.c (xtensa_linux_init_abi): Update tdep->num_pseudo_regs. Add calls to set_gdbarch_num_regs and set_gdbarch_num_pseudo_regs.
* Automatic date update in version.inGDB Administrator2019-01-131-1/+1
|
* Implement help/show values for 'set|show style'.Philippe Waroquiers2019-01-123-54/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the behaviour is: (gdb) show style (gdb) set style (gdb) show style address (gdb) set style address (gdb) With this patch, the behaviour is: (gdb) show style style address background: The "address" background color is: none style address foreground: The "address" foreground color is: blue style address intensity: The "address" display intensity is: normal enabled: CLI output styling is enabled. style filename background: The "filename" background color is: none style filename foreground: The "filename" foreground color is: green style filename intensity: The "filename" display intensity is: normal style function background: The "function" background color is: none style function foreground: The "function" foreground color is: yellow style function intensity: The "function" display intensity is: normal style variable background: The "variable" background color is: none style variable foreground: The "variable" foreground color is: cyan style variable intensity: The "variable" display intensity is: normal (gdb) set style "set style" must be followed by an appropriate subcommand. List of set style subcommands: set style address -- Address display styling set style enabled -- Set whether CLI styling is enabled set style filename -- Filename display styling set style function -- Function name display styling set style variable -- Variable name display styling Type "help set style" followed by set style subcommand name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) show style address background: The "filename" background color is: none foreground: The "filename" foreground color is: green intensity: The "filename" display intensity is: normal (gdb) set style address List of set style address subcommands: set style address background -- Set the background color for this property set style address foreground -- Set the foreground color for this property set style address intensity -- Set the display intensity color for this property Type "help set style address" followed by set style address subcommand name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) gdb/ChangeLog * cli/cli-style.h (class cli_style_option): <add_setshow_commands> Remove arg prefixname, add do_set and do_show. Add member functions set_list and show_list. * cli/cli-style.c (class cli_style_option): Update accordingly. (style_set_list): Move to file scope. (style_show_list): Likewise. (set_style): Call help_list. (show_style): Call cmd_show_list. (_initialize_cli_style): New macro STYLE_ADD_SETSHOW_COMMANDS. Update to use the new macro.