aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-09-26Try converting ad-hoc msymbol hash tables to STL containersusers/cbiesinger/stl_minsyms_hashChristian Biesinger3-76/+51
I went with multimap (also tried unordered_multimap) to keep the behavior where we have a special hash key and want to iterate over everything with that hash using specialized compare functions. Unfortunately this is a 10% regression. real 0m56.538s user 0m34.304s sys 0m22.380s real 0m51.655s user 0m32.194s sys 0m19.528s
2019-09-26Convert symtab.h function signatures to use bool instead of intChristian Biesinger6-68/+95
gdb/ChangeLog: 2019-09-26 Christian Biesinger <cbiesinger@google.com> * blockframe.c (find_pc_partial_function): Change return type to bool. * elfread.c (elf_gnu_ifunc_resolve_name): Likewise. * minsyms.c (in_gnu_ifunc_stub): Likewise. (stub_gnu_ifunc_resolve_name): Likewise. * symtab.c (compare_filenames_for_search): Likewise. (compare_glob_filenames_for_search): Likewise. (matching_obj_sections): Likewise. (symbol_matches_domain): Likewise. (find_line_symtab): Change out param EXACT_MATCH to bool *. (find_line_pc): Change return type to bool. (find_line_pc_range): Likewise. (producer_is_realview): Likewise. * symtab.h (symbol_matches_domain): Likewise. (find_pc_partial_function): Likewise. (find_pc_line_pc_range): Likewise. (in_gnu_ifunc_stub): Likewise. (struct gnu_ifunc_fns) <gnu_ifunc_resolve_name>: Likewise. (find_line_pc): Likewise. (find_line_pc_range): Likewise. (matching_obj_sections): Likewise. (find_line_symtab): Change out parameter to bool. (producer_is_realview): Change return type to bool. (compare_filenames_for_search): Likewise. (compare_glob_filenames_for_search): Likewise.
2019-09-26Remove gdb_usleep.cTom Tromey5-72/+8
I noticed that gdb_usleep is unused, so this patch removes it. gdb/ChangeLog 2019-09-26 Tom Tromey <tom@tromey.com> * Makefile.in (COMMON_SFILES): Remove gdb_usleep.c. (HFILES_NO_SRCDIR): Remove gdb_usleep.h. * gdb_usleep.h: Remove. * gdb_usleep.c: Remove. * utils.c: Don't include gdb_usleep.h.
2019-09-26Do not expose stub types to PythonTom Tromey7-0/+132
dwarf2read.c will create stub types for Ada "Taft Amendment" types. These stub types can currently be exposed to Python code, where they show up as TYPE_CODE_VOID types (but that, mysteriously, can sometimes be used in other ways). While it's possible to work with such types by using strip_typedefs, this seemed unpleasant to me. This patch takes another approach instead, which is to try not to expose stub types to Python users. gdb/ChangeLog 2019-09-26 Tom Tromey <tromey@adacore.com> * python/py-type.c (type_to_type_object): Call check_typedef for stub types. gdb/testsuite/ChangeLog 2019-09-26 Tom Tromey <tromey@adacore.com> * gdb.ada/py_taft.exp: New file. * gdb.ada/py_taft/main.adb: New file. * gdb.ada/py_taft/pkg.adb: New file. * gdb.ada/py_taft/pkg.ads: New file.
2019-09-26Remove initialize_utilsTom Tromey4-54/+54
initialize_utils only registers some commands, so it isn't necessary to run it at any particular time during startup. This patch removes it and merges its contents into _initialize_utils. Tested by the buildbot. gdb/ChangeLog 2019-09-26 Tom Tromey <tom@tromey.com> * utils.h (initialize_utils): Don't declare. * top.c (gdb_init): Don't call initialize_utils. * utils.c (initialize_utils): Remove. Move contents... (_initialize_utils): ... here.
2019-09-26PR24262, plugin search dir doesn't respect --libdirAlan Modra6-35/+73
bfd/ PR 24262 * Makefile.am (AM_CPPFLAGS): Add -DLIBDIR. * plugin.c (load_plugin): Search both ${libdir}/bfd-plugins and ${bindir}/../lib/bfd-plugins if different. * Makefile.in: Regenerate. ld/ PR 24262 * ld.texi (-plugin): Revert 2019-03-15 change.
2019-09-26Automatic date update in version.inGDB Administrator1-1/+1
2019-09-25Remove make_hex_stringTom Tromey4-24/+8
I noticed that make_hex_string does essentially the same thing as bin2hex, and furthermore is only called in a single spot. This patch removes make_hex_string. Tested by the builtbot. gdb/ChangeLog 2019-09-25 Tom Tromey <tom@tromey.com> * python/py-objfile.c (objfpy_get_build_id): Use bin2hex. * utils.h (make_hex_string): Don't declare. * utils.c (make_hex_string): Remove.
2019-09-26SORT_BY_INIT_PRIORITYAlan Modra3-35/+60
I was looking at the implementation of this script keyword today and couldn't remember why we do what we do in get_init_priority, because the comments explain how the init_priority is encoded but don't say why it is necessary to extract the priority and sort on that. So after figuring out why (again), I wrote some more comments. Then I simplified get_init_priority a little, adding some sanity checking on the strtoul result. This actually makes get_init_priority support sorting by numerical suffix more generally, but I figure this feature would be better as a new keyword (without the .ctors/.dtors special case), so haven't documented the extension. * ld.texi (SORT_BY_ALIGNMENT): Reword slightly. (SORT_BY_INIT_PRIORITY): Elucidate. * ldlang.c: Include limits.h. (get_init_priority): Comment. Change param to a section, return an int. Sanity check priority digits. Support sorting more sections with trailing digits. Return -1 on error. (compare_section): Adjust.
2019-09-25Silence a build-time warning about constant comparisons when building with ↵Nick Clifton2-4/+9
clang, * emultempl/avrelf.em (_before_allocation): Silence build warning using clang.
2019-09-25Automatic date update in version.inGDB Administrator1-1/+1
2019-09-24[gdb/tdep] Handle mxcsr kernel bug on Intel Skylake CPUsTom de Vries4-2/+34
On my openSUSE Leap 15.1 x86_64 Skylake system with the default (4.12) kernel, I run into: ... FAIL: gdb.base/gcore.exp: corefile restored all registers ... The problem is that there's a difference in the mxcsr register value before and after the gcore command: ... - mxcsr 0x0 [ ] + mxcsr 0x400440 [ DAZ OM ] ... This can be traced back to amd64_linux_nat_target::fetch_registers, where xstateregs is partially initialized by the ptrace call: ... char xstateregs[X86_XSTATE_MAX_SIZE]; struct iovec iov; amd64_collect_xsave (regcache, -1, xstateregs, 0); iov.iov_base = xstateregs; iov.iov_len = sizeof (xstateregs); if (ptrace (PTRACE_GETREGSET, tid, (unsigned int) NT_X86_XSTATE, (long) &iov) < 0) perror_with_name (_("Couldn't get extended state status")); amd64_supply_xsave (regcache, -1, xstateregs); ... after which amd64_supply_xsave is called. The amd64_supply_xsave call is supposed to only use initialized parts of xstateregs, but due to a kernel bug on intel skylake (fixed from 4.14 onwards by commit 0852b374173b "x86/fpu: Add FPU state copying quirk to handle XRSTOR failure on Intel Skylake CPUs") it can happen that the mxcsr part of xstateregs is not initialized, while amd64_supply_xsave expects it to be initialized, which explains the FAIL mentioned above. Fix the undetermined behaviour by initializing xstateregs before calling ptrace, which makes sure we get a 0x0 for mxcsr when this kernel bug occurs, and which also happens to fix the FAIL. Furthermore, add an xfail for this FAIL which triggers the same kernel bug: ... FAIL: gdb.arch/amd64-init-x87-values.exp: check_setting_mxcsr_before_enable: \ check new value of MXCSR is still in place ... Both FAILs pass when using a 5.3 kernel instead on the system mentioned above. Tested on x86_64-linux. gdb/ChangeLog: 2019-09-24 Tom de Vries <tdevries@suse.de> PR gdb/23815 * amd64-linux-nat.c (amd64_linux_nat_target::fetch_registers): Initialize xstateregs before ptrace PTRACE_GETREGSET call. gdb/testsuite/ChangeLog: 2019-09-24 Tom de Vries <tdevries@suse.de> PR gdb/24598 * gdb.arch/amd64-init-x87-values.exp: Add xfail.
2019-09-24Arm: Fix out of range conditional branch (PR/24991)Tamar Christina5-7/+38
The fix for PR12848 introduced an off by one error in the mask, this corrected the negative overflows but not the positive overflows. As a result the conditional branch instructions accepted a too wide positive immediate which resulted in it corrupting the instruction during encoding. The relocation I believe has been incorrectly named, to be consistent with the other relocations it should have been named BRANCH21 which is why the masks for it are confusing. I've replaced the masks with a function out_of_range_p which should make it harder to make such mistakes. The mask for BL/BLX on Armv6t+ is also wrong, the extended range is 25-bits and so the mask should be checking for 24-bits for positive overflow. gas/ChangeLog: PR gas/24991 * config/tc-arm.c (out_of_range_p): New. (md_apply_fix): Use it in BFD_RELOC_THUMB_PCREL_BRANCH9, BFD_RELOC_THUMB_PCREL_BRANCH12, BFD_RELOC_THUMB_PCREL_BRANCH20, BFD_RELOC_THUMB_PCREL_BRANCH23, BFD_RELOC_THUMB_PCREL_BRANCH25 * testsuite/gas/arm/pr24991.d: New test. * testsuite/gas/arm/pr24991.l: New test. * testsuite/gas/arm/pr24991.s: New test.
2019-09-24PR25031, nm reports wrong address on 32bitAlan Modra2-54/+58
Using saved_format breaks when nm is presented with multiple object files, some 32-bit and some 64-bit. PR 25031 * nm.c (print_format_string): New. (get_print_format): Delete saved_format. Move earlier. (set_print_width): Call get_print_format. (print_value): Use print_format_string.
2019-09-24[ARM]: Modify assembler to accept floating and signless datatypes for MVE ↵Srinath Parvathaneni5-6/+81
instruction VLDR. This patch modifies assembler to accept the equivalent sized floating and signless datatypes for VLDR instruction but as alias for the unsigned version. gas/ChangeLog: 2019-09-23 Srinath Parvathaneni <srinath.parvathaneni@arm.com> * config/tc-arm.c (do_mve_vstr_vldr_RQ): Modify function to allow float * and signless datatypes for few cases of VLDR instruction. * testsuite/gas/arm/mve-vldr-bad-3.l: Modify. * testsuite/gas/arm/mve-vldr-bad-3.s: Likewise. * testsuite/gas/arm/mve-vstrldr-1.d: Likewise. * testsuite/gas/arm/mve-vstrldr-1.s: Likewise.
2019-09-24Fix building gold with gcc-10.Nick Clifton2-0/+5
* descriptors.cc: Include <string>
2019-09-24Automatic date update in version.inGDB Administrator1-1/+1
2019-09-23gdb/readline: Fix date in last ChangeLog entryAndrew Burgess1-1/+1
Fixes the date in the last ChangeLog entry.
2019-09-23gdb/readline: fix use of an undefined variableAndrew Burgess2-1/+8
This commit in binutils-gdb: commit 830b67068cebe7db0eb0db3fa19244e03859fae0 Date: Fri Jul 12 09:53:02 2019 +0200 [readline] Fix heap-buffer-overflow in update_line Which corresponds to this commit in upstream readline: commit 31547b4ea4a1a904e1b08e2bc4b4ebd5042aedaa Date: Mon Aug 5 10:24:27 2019 -0400 commit readline-20190805 snapshot Introduced a use of an undefined variable, which can be seen using valgrind: $ valgrind --tool=memcheck gdb GNU gdb (GDB) 8.3.50.20190918-git Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word". ==24924== Conditional jump or move depends on uninitialised value(s) ==24924== at 0x9986C3: rl_redisplay (display.c:710) ==24924== by 0x9839CE: readline_internal_setup (readline.c:447) ==24924== by 0x9A1C2B: _rl_callback_newline (callback.c:100) ==24924== by 0x9A1C85: rl_callback_handler_install (callback.c:111) ==24924== by 0x6195EB: gdb_rl_callback_handler_install(char const*) (event-top.c:319) ==24924== by 0x61975E: display_gdb_prompt(char const*) (event-top.c:409) ==24924== by 0x4FBFE3: cli_interp_base::pre_command_loop() (cli-interp.c:286) ==24924== by 0x6E53DA: interp_pre_command_loop(interp*) (interps.c:321) ==24924== by 0x731F30: captured_command_loop() (main.c:334) ==24924== by 0x733568: captured_main(void*) (main.c:1182) ==24924== by 0x7335CE: gdb_main(captured_main_args*) (main.c:1197) ==24924== by 0x41325D: main (gdb.c:32) ==24924== (gdb) The problem can be traced back to init_line_structures. The very first time this function is ever called its MINSIZE parameter is always 0 and the global LINE_SIZE is 1024. Prior to the above mentioned commits we spot that the line_state variables have not yet been initialised, and allocate them some new buffer, then we enter this loop: for (n = minsize; n < line_size; n++) { visible_line[n] = 0; invisible_line[n] = 1; } which would initialise everything from the incoming minimum up to the potentially extended upper line size. The problem is that the above patches added a new condition that would bump up the minsize like this: if (minsize <= _rl_screenwidth) /* XXX - for gdb */ minsize = _rl_screenwidth + 1; So, the first time this function is called the incoming MINSIZE is 0, the LINE_SIZE global is 1024, and if the _rl_screenwidth is 80, we see that MINSIZE will be pushed up to 80. We still notice that the line state is uninitialised and allocate some buffers, then we enter the initialisation loop: for (n = minsize; n < line_size; n++) { visible_line[n] = 0; invisible_line[n] = 1; } And initialise from 80 to 1023 i the newly allocated buffers, leaving 0 to 79 uninitialised. To confirm this is an issue, if we then look at rl_redisplay we see that a call to init_line_structures is followed first by a call to rl_on_new_line, which does initialise visible_line[0], but not invisible_line[0]. Later in rl_redisplay we have this logic: if (visible_line[0] != invisible_line[0]) rl_display_fixed = 0; The use of invisible_line[0] here will be undefined. Considering how this variable was originally initialised before the above patches, this patch modifies the initialisation loop in init_line_structures, to use the original value of MINSIZE. With this change the valgrind warning goes away. readline/ChangeLog: PR cli/24980 * display.c (init_line_structures): Initialise line_state using original minsize value.
2019-09-23Add testsuite for the PRU simulator portDimitar Dimitrov14-0/+582
sim/testsuite/ChangeLog: * configure: Regenerate. sim/testsuite/sim/pru/ChangeLog: * add.s: New test. * allinsn.exp: New file. * dmem-zero-pass.s: New test. * dmem-zero-trap.s: New test. * dram.s: New test. * jmp.s: New test. * loop-imm.s: New test. * loop-reg.s: New test. * mul.s: New test. * subreg.s: New test. * testutils.inc: New file.
2019-09-23sim: Add PRU simulator portDimitar Dimitrov19-0/+17775
A simulator port for the TI PRU I/O processor. v1: https://sourceware.org/ml/gdb-patches/2016-12/msg00143.html v2: https://sourceware.org/ml/gdb-patches/2017-02/msg00397.html v3: https://sourceware.org/ml/gdb-patches/2017-02/msg00516.html v4: https://sourceware.org/ml/gdb-patches/2018-06/msg00484.html v5: https://sourceware.org/ml/gdb-patches/2019-08/msg00584.html v6: https://sourceware.org/ml/gdb-patches/2019-09/msg00036.html gdb/ChangeLog: * NEWS: Mention new simulator port for PRU. sim/ChangeLog: * MAINTAINERS: Add myself as PRU maintainer. * configure: Regenerated. * configure.tgt: Add PRU. sim/common/ChangeLog: * gennltvals.sh: Add PRU libgloss target. * nltvals.def: Regenerate from the latest libgloss sources. sim/pru/ChangeLog: * Makefile.in: New file. * aclocal.m4: Regenerated. * config.in: Regenerated. * configure: Regenerated. * configure.ac: New file. * interp.c: New file. * pru.h: New file. * pru.isa: New file. * sim-main.h: New file.
2019-09-23Make ada_decode not use a static bufferChristian Biesinger6-46/+52
This makes it safer to use in general, and also allows using it on a background thread in the future. Inspired by tromey's patch at: https://github.com/tromey/gdb/commit/1226cbdfa436297a5dec054d94592c45891afa93 (however, implemented in a different way) gdb/ChangeLog: 2019-09-23 Christian Biesinger <cbiesinger@google.com> * ada-exp.y (write_object_remaining): Update. * ada-lang.c (ada_decode): Return a std::string instead of a char* and eliminate the static buffer. (ada_decode_symbol): Update. (ada_la_decode): Update. (ada_sniff_from_mangled_name): Update. (is_valid_name_for_wild_match): Update. (ada_lookup_name_info::matches): Update and simplify. (name_matches_regex): Update. (ada_add_global_exceptions): Update. * ada-lang.h (ada_decode): Update signature. * ada-varobj.c (ada_varobj_describe_simple_array_child): Update. * dwarf-index-write.c (debug_names::insert): Update.
2019-09-23ld-plugin/pr24406-1.c: Correct buffer size to readH.J. Lu2-1/+6
* testsuite/ld-plugin/pr24406-1.c (main): Correct buffer size to read.
2019-09-23PowerPC64 dynamic symbol tweaksAlan Modra2-33/+45
In check_relocs, bfd_link_pic true means ld is producing a shared library or a position independent executable. !bfd_link_pic means a fixed position (ie. static) executable since the relocatable linking case is excluded. So it is appropriate to continue using bfd_link_pic when testing whether non-pcrelative relocations should be dynamic, and !bfd_link_pic for the special case of ifunc in static executables. However, -Bsymbolic shouldn't affect PIEs (they are executables so none of their symbols should be overridden) and PIEs can support copy relocations, thus bfd_link_executable should be used in those cases rather than bfd_link_pic. I've also removed the test of ELIMINATE_COPY_RELOCS in check_relocs. We can sort out what to do regarding copy relocs later, which allows the code in check_relocs to be simplified. * elf64-ppc.c (ppc64_elf_check_relocs): Use bfd_link_executable in choosing between different actions for shared library and non-shared library cases. Delete ELIMINATE_COPY_RELOCS test. (dec_dynrel_count): Likewise. Account for ifunc special case. (ppc64_elf_adjust_dynamic_symbol): Copy relocs are for executables, not non-pic. (allocate_dynrelocs): Comment fixes. Delete ELIMINATE_COPY_RELOCS test.
2019-09-23implicit conversion from enum ld_plugin_level to enum ld_plugin_statusAlan Modra2-3/+8
This is a gcc10 warning fix. gold/ * testsuite/plugin_new_section_layout.c (new_input_hook): Correct return status enum values.
2019-09-23bfd Makefile updateAlan Modra4-14/+97
* Makefile.am (SOURCE_HFILES): Add many missing .h files. * Makefile.in: Regenerate. * po/SRC-POTFILES.in: Regenerate.
2019-09-23linker bfd.h tidyAlan Modra5-86/+88
bfd/ * bfd-in.h (bfd_symbol, bfd_section_already_linked), (bfd_elf_version_tree): Delete forward declarations. Move other forward decls and remaining elf function decl later. (bfd_section_already_linked_table_init), (bfd_section_already_linked_table_free), (_bfd_handle_already_linked, _bfd_nearby_section), (_bfd_fix_excluded_sec_syms): Move to bfdlink.h. include/ * bfdlink.h (struct bfd_section_already_linked): Forward declare. (bfd_section_already_linked_table_init), (bfd_section_already_linked_table_free), (_bfd_handle_already_linked, _bfd_nearby_section), (_bfd_fix_excluded_sec_syms): Declare.
2019-09-23ecoff bfd.h tidyAlan Modra11-84/+80
bfd/ * bfd-in.h: Move ecoff function declarations.. * ecoff-bfd.h: ..to here, new file. * ecoff.c: Include ecoff-bfd.h. * ecofflink.c: Likewise. * elf64-alpha.c: Likewise. * elfxx-mips.c: Likewise. * bfd-in2.h: Regenerate. gas/ * config/obj-ecoff.c: Include ecoff-bfd.h. * config/obj-elf.c: Likewise.
2019-09-23elf bfd.h tidyAlan Modra13-143/+97
bfd/ * bfd-in.h (enum notice_asneeded_action): Move to bfdlink.h. Move most other elf declarations.. * elf-bfd.h: ..to here. * bfd-in2.h: Regenerate. include/ * bfdlink.h (enum notice_asneeded_action): Define. ld/ * deffilep.y: Include bfdlink.h. * ldelf.c: Likewise. * ldelfgen.c: Likewise. * ldver.c: Likewise. * mri.c: Likewise. * emultempl/irix.em: Don't include ld.h, ldmain.h, libiberty.h. Comment.
2019-09-23m68k bfd.h tidyAlan Modra11-21/+70
bfd/ * bfd-in.h: Move m68k function declaration.. * cpu-m68k.h: ..to here, new file.. * elf32-m68k.h: ..and here, new file. * elf32-m68k.c: Include cpu-m68k.h and elf32-m68k.h. * bfd-in2.h: Regenerate. ld/ * emultempl/m68kelf.em: Include elf32-m68k.h. opcodes/ * m68k-dis.c: Include cpu-m68k.h
2019-09-23bfin bfd.h tidyAlan Modra7-8/+36
bfd/ * bfd-in.h: Move bfin function declaration.. * elf32-bfin.h: ..to here, new file. * elf32-bfin.c: Include elf32-bfin.h. * bfd-in2.h: Regenerate. ld/ * emultempl/bfin.em: Include elf32-bfin.h.
2019-09-23cr16 bfd.h tidyAlan Modra7-8/+35
bfd/ * bfd-in.h: Move cr16 function declaration.. * elf32-cr16.h: ..to here, new file. * elf32-cr16.c: Include elf32-cr16.h. * bfd-in2.h: Regenerate. ld/ * emultempl/cr16elf.em: Include elf32-cr16.h.
2019-09-23obsoleted bfd.h tidyAlan Modra3-34/+9
* bfd-in.h (bfd_sunos_get_needed_list), (bfd_sunos_record_link_assignment), (bfd_sunos_size_dynamic_sections), (bfd_i386linux_size_dynamic_sections), (bfd_sparclinux_size_dynamic_sections): Delete obsolete decls. * bfd-in2.h: Regenerate.
2019-09-23xcoff bfd.h tidyAlan Modra8-70/+55
bfd/ * bfd-in.h: Move xcoff function declarations.. * xcofflink.h: ..to here, new file. * xcofflink.c: Include xcofflink.h. * coff-rs6000.c (bfd_xcoff_ar_archive_set_magic): Delete unused func. * bfd-in2.h: Regenerate. ld/ * emultempl/aix.em: Include xcofflink.h.
2019-09-23coff bfd.h tidyAlan Modra6-20/+14
bfd/ * bfd-in.h: Delete coff forward refs and move coff declaration.. * coff-bfd.h: ..to here. * bfd-in2.h: Regenerate. binutils/ * dlltool.c: Include coff-bfd.h.
2019-09-23arm bfd.h tidyAlan Modra16-313/+246
bfd/ * bfd-in.h: Move arm declaraions.. * cpu-arm.h: ..to here, new file.. * coff-arm.h: ..and here, new file.. * elf32-arm.h: ..and here, new file. * cpu-arm.c: Include cpu-arm.h. * coff-arm.c: Include cpu-arm.h and coff-arm.h. * elf32-arm.c: Include cpu-arm.h and elf32-arm.h. * pe-arm.c: Move function rename defines later. * pe-arm-wince.c: Likewise and include sysdep.h and bfd.h early. * bfd-in2.h: Regenerate. gas/ * config/tc-arm.c: Include cpu-arm.h. ld/ * emultempl/armelf.em: Include elf32-arm.h. * emultempl/pe.em: Move func defines later and include coff-arm.h.
2019-09-23tic6x bfd.h tidyAlan Modra4-8/+11
* bfd-in.h: Move tic6x function declaration.. * elf32-tic6x.h: ..to here. * bfd-in2.h: Regenerate.
2019-09-23aarch64 bfd.h tidyAlan Modra9-172/+119
bfd/ * bfd-in.h: Move aarch64 declarations and defines.. * cpu-aarch64.h: ..to here, new file.. * elfxx-aarch64.h: ..and here. * cpu-aarch64.c: Include cpu-aarch64.h. * elfnn-aarch64.c: Likewise. * bfd-in2.h: Regenerate. ld/ * emultempl/aarch64elf.em: Include elfxx-aarch64.h.
2019-09-23tic54x bfd.h tidyAlan Modra4-18/+9
* bfd-in.h: Delete ticoff function declarations. * coff-tic54x.c (bfd_ticoff_set_section_load_page), (bfd_ticoff_get_section_load_page): Make static. * bfd-in2.h: Regenerate.
2019-09-23h8300 bfd.h tidyAlan Modra6-8/+32
* bfd-in.h: Move h8300 function declaration to.. * cpu-h8300.h: ..here, new file. * cpu-h8300.c: Include cpu-h8300.h. * elf32-h8300.c: Likewise. * bfd-in2.h: Regenerate.
2019-09-23ia64 bfd.h tidyAlan Modra6-14/+19
bfd/ * bfd-in.h: Move ia64 function declarations.. * elfxx-ia64.h: ..to here. * bfd-in2.h: Regenerate. ld/ * emultempl/ia64elf.em: Include elfxx-ia64.h.
2019-09-23v850 bfd.h tidyAlan Modra7-14/+38
bfd/ * bfd-in.h: Move v850 function declarations.. * elf32-v850.h: ..to here, new file. * elf32-v850.c: Include elf32-v850.h. * bfd-in2.h: Regenerate. ld/ * emultempl/v850elf.em: Include elf32-v850.h.
2019-09-23mips bfd.h tidyAlan Modra6-10/+17
bfd/ * bfd-in.h: Move mips function declaration to.. * elfxx-mips.h: ..here. * bfd-in2.h: Regenerate. opcodes/ * mips-dis.c: Include elfxx-mips.h. Move "elf-bfd.h" and "elf/mips.h" earlier.
2019-09-23csky bfd.h tidyAlan Modra7-24/+43
bfd/ * bfd-in.h: Move csky function declarations to.. * elf32-csky.h: ..here, new file. * elf32-csky.c: Include elf32-csky.h. * bfd-in2.h: Regenerate. ld/ * emultempl/cskyelf.em: Include elf32-csky.h.
2019-09-23Automatic date update in version.inGDB Administrator1-1/+1
2019-09-23PR25018, readelf crash on 32bitsAlan Modra2-4/+13
Pointer comparisons after adding an offset just don't work to catch overflow when the offset is a larger type than the pointer. PR 25018 * dwarf.c (get_type_signedness): Delete ineffective pointer comparison check. Properly range check uvalue offset on recursive call. (read_and_display_attr_value): Range check uvalue offset before calling get_type_signedness.
2019-09-22Work around gcc10 FAIL: S-records with constructorsAlan Modra2-1/+5
gcc10 on x86_64 and powerpc64le recognises that the loop in Foo::operator= can be turned into a call to memmove, which then results in an undefined symbol when linking. Avoid that by making the loop smaller. * testsuite/ld-srec/sr3.cc (FOO_MSG_LEN): Set to 4.
2019-09-22[gdb/testsuite] Allow some tests in gdb.base/restore.exp to be unsupportedTom de Vries2-2/+16
We currently run into: ... 248 n = callee1 (n + l5); (gdb) PASS: gdb.base/restore.exp: caller5 calls callee1; return callee now print l1 $51 = <optimized out> (gdb) FAIL: gdb.base/restore.exp: caller5 calls callee1; return restored l1 \ to 32492 ... The problem is that we try to access the value of l1 in function caller5, but variable l1 has no DW_AT_location attribute. Since l1 is declared using the register keyword, it's valid for gcc to emit no DW_AT_location at -O0. Change the FAIL into an UNSUPPORTED. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-09-22 Tom de Vries <tdevries@suse.de> * gdb.base/restore.exp: Allow register variables to be optimized out at -O0.
2019-09-21gdb: fix formatting in solib-svr4.cSimon Marchi2-2/+7
gdb/ChangeLog: * solib-svr4.c (svr4_iterate_over_objfiles_in_search_order): Fix formatting.
2019-09-21gdb: make watchpoint::val_valid a boolSimon Marchi2-8/+9
gdb/ChangeLog: * breakpoint.h (struct watchpoint) <val_valid>: Change type to bool. * breakpoint.c (update_watchpoint): Assign false instead of 0, true instead of 1. (breakpoint_init_inferior): Likewise. (watchpoint_check): Likewise. (watch_command_1): Likewise. (invalidate_bp_value_on_memory_change): Likewise.