aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix building gold with gcc-10.Nick Clifton2019-09-242-0/+5
| | | | * descriptors.cc: Include <string>
* Automatic date update in version.inGDB Administrator2019-09-241-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-231-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-221-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-211-1/+1
|
* [GOLD] Fix spurious "plugin needed to handle lto object" warningsAlan Modra2019-09-203-4/+17
| | | | | | | | | | | | | lto_slim_object_ was unitialized. I also thought it worth adding a sanity check on the .gnu.lto_.lto.* section size, and made some other tidies. PR 24768 * layout.cc (Layout::Layout): Init lto_slim_object_. * object.cc (Sized_relobj_file::do_layout): Wrap overlong line. Don't use C cast. Validate section size. Don't copy contents. (cherry picked from commit 4c51dacacf8a97194a1241ad5e1cbf7be00a59a3)
* Automatic date update in version.inGDB Administrator2019-09-201-1/+1
|
* [gas][news] NEWS (2.33) note new SVE2 and TME instructions for AArch64Matthew Malcomson2019-09-192-0/+10
| | | | | | | | | | These NEWS entries had been missed when the instructions were added. gas/ChangeLog: 2019-09-19 Matthew Malcomson <matthew.malcomson@arm.com> * NEWS: Add SVE2 and TME entries.
* AArch64: Fix objdump testsTamar Christina2019-09-192-2/+6
| | | | | | | | | | | | | | The newly added objdump -S tests check for source line mapping of a static variable. But the test doesn't dump any data sections so this should never pass. This changes the test to dump all sections so the source mapping can be found. binutils/ChangeLog: * testsuite/binutils-all/objdump.exp (objdump -S): Update testcases. (cherry picked from commit 4e28d4cc5b134a4027b4103ddaf09c19b8e0230b)
* PR24981, Hit assertion failure in ld/ldlang.c:7504Alan Modra2019-09-192-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problem with commit 128bf1fe608, a patch I made 2019-08-06. Apparently it is possible to trigger the assertion I added during an LTO bootstrap, something I haven't reproduced. However, I did find a case triggered by an odd linker script feature that allows a file to be loaded from the script without specifying that file on the command line. Regarding input sections: "When you use a file name which is not an archive:file specifier and does not contain any wild card characters, the linker will first see if you also specified the file name on the linker command line or in an INPUT command. If you did not, the linker will attempt to open the file as an input file, as though it appeared on the command line." So putting .foo : { foo.a(*) } into a script supposedly extracts foo.a into .foo. Except it doesn't, since this feature is meant for object files only. Well anyway, assuming --whole-archive was given on the command line, foo.a contains a -flto object and no other objects involved were -flto then we'll hit the assert due to files added like foo.a here *not* having their input statement put on the general statement list. Why these are not put on the statement list isn't obvious but it has been that way since commit 193c5f93a17 in 1994. PR 24981 * ldlang.c (lang_process): Remove assertion. Comment. (cherry picked from commit a19826f4c41219be6fb1adb528fe5fd3a3dc4130)
* Automatic date update in version.inGDB Administrator2019-09-191-1/+1
|
* i386: Adjust for new output format from readelfH.J. Lu2019-09-1814-13/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR binutils/24887 * testsuite/ld-i386/property-1.r: Adjust for new output format from readelf. * testsuite/ld-i386/property-1a.r: Likewise. * testsuite/ld-i386/property-2.r: Likewise. * testsuite/ld-i386/property-2a.r: Likewise. * testsuite/ld-i386/property-3.r: Likewise. * testsuite/ld-i386/property-3a.r: Likewise. * testsuite/ld-i386/property-4.r: Likewise. * testsuite/ld-i386/property-4a.r: Likewise. * testsuite/ld-i386/property-5.r: Likewise. * testsuite/ld-i386/property-5a.r: Likewise. * testsuite/ld-i386/property-6.r: Likewise. * testsuite/ld-i386/property-7.r: Likewise. * testsuite/ld-i386/property-7a.r: Likewise. * testsuite/ld-i386/property-1.r: Likewise. * testsuite/ld-i386/property-1a.r: Likewise. * testsuite/ld-i386/property-2.r: Likewise. * testsuite/ld-i386/property-2a.r: Likewise. * testsuite/ld-i386/property-3.r: Likewise. * testsuite/ld-i386/property-3a.r: Likewise. * testsuite/ld-i386/property-4.r: Likewise. * testsuite/ld-i386/property-4a.r: Likewise. * testsuite/ld-i386/property-5.r: Likewise. * testsuite/ld-i386/property-5a.r: Likewise. * testsuite/ld-i386/property-6.r: Likewise. * testsuite/ld-i386/property-7.r: Likewise. * testsuite/ld-i386/property-7a.r: Likewise. (cherry picked from commit 6715fe29ffcdbef026908fed62e993b238d04d77)
* Automatic date update in version.inGDB Administrator2019-09-181-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-171-1/+1
|
* Update version number to 2.32.90 for pre-release on 2.33 branch.Phil Blundell2019-09-1621-101/+200
|
* Automatic date update in version.inGDB Administrator2019-09-161-1/+1
|
* Automatic date update in version.inGDB Administrator2019-09-151-1/+1
|
* Add markers for 2.33 branch to NEWS and ChangeLog files.Phil Blundell2019-09-0918-0/+60
|
* Automatic date update in version.inGDB Administrator2019-09-091-1/+1
|
* Truncate long TUI window titlesTom Tromey2019-09-086-12/+25
| | | | | | | | | | | | | | | | | | If a TUI window has a long title, it can overflow the title line. This changes the TUI to use just the tail part of the title in this case. gdb/ChangeLog 2019-09-08 Tom Tromey <tom@tromey.com> * tui/tui-wingeneral.c (box_win): Truncate long window titles. gdb/testsuite/ChangeLog 2019-09-08 Tom Tromey <tom@tromey.com> * gdb.tui/resize.exp: Remove setup_xfail. * gdb.tui/regs.exp: Remove setup_xfail. * gdb.tui/basic.exp: Remove setup_xfail.
* Automatic date update in version.inGDB Administrator2019-09-081-1/+1
|
* Change lookup_symbol's block_index parameter type to block_enumSimon Marchi2019-09-075-9/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only two values valid to pass to the block_index parameter of quick_symbol_functions::lookup_symbol are GLOBAL_BLOCK and STATIC_BLOCK, part of enum block_enum. Change the type of that parameter to block_enum. Change also the block_index field of dw2_symtab_iterator in the same way.. This makes it consistent with dw2_debug_names_iterator, which already uses block_enum for its block_index field. This is a follow-up to this thread: https://sourceware.org/ml/gdb-patches/2019-08/msg00097.html gdb/ChangeLog: * dwarf2read.c (struct dw2_symtab_iterator) <block_index>: Change type to gdb::optional<block_enum>. (dw2_symtab_iter_init): Change block_index parameter type to gdb::optional<block_enum>. (dw2_lookup_symbol): Change block_index parameter type to block_enum.c (dw2_debug_names_lookup_symbol): Likewise. * psymtab.c (psym_lookup_symbol): Likewise. * symfile-debug.c (debug_qf_lookup_symbol): Likewise. * symfile.h (struct quick_symbol_functions) <lookup_symbol>: Likewise.
* Automatic date update in version.inGDB Administrator2019-09-071-1/+1
|
* un-XFAIL under Clang tests using labelsDavid Blaikie2019-09-064-14/+6
| | | | | | | gdb/testsuite/ * gdb.base/label.exp: un-XFAIL label related tests under Clang. * gdb.cp/cplabel.exp: Ditto. * gdb.linespec/ls-errs.exp: Ditto.
* Change int to bool for the relocate_* functionsChristian Biesinger2019-09-063-8/+15
| | | | | | | | | | | | | | | These parameters are only used as bools. This also renames "flag" to "relocatable" to make it clearer what it does. gdb/ChangeLog: 2019-09-06 Christian Biesinger <cbiesinger@google.com> * defs.h (relocate_gdb_directory): Change int to bool in signature and rename flag to relocatable. * main.c (relocate_path): Likewise. (relocate_gdb_directory): Likewise.
* beos.em qsort predicate tidyAlan Modra2019-09-062-29/+30
| | | | | | | | | | lang_input_section_type** is better than lang_statement_union_type** here since that is in fact the type passed to the qsort predicate, and I think it's worth factoring out the common indirections. * emultempl/beos.em (sort_by_file_name): Use appropriate intermediary variables. (sort_by_section_name): Likewise.
* bfd_get_filenameAlan Modra2019-09-0623-49/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This macro says: /* Cast from const char * to char * so that caller can assign to a char * without a warning. */ I reckon that isn't such a good idea since it can result in char* variables where const char* is appropriate. Not very many places need the char* cast. bfd/ * aout-target.h (object_p): Formatting. * bfd-in.h (bfd_get_filename): Don't cast to char*. * corefile.c (generic_core_file_matches_executable_p): Constify variables and remove cast. * bfd-in2.h: Regenerate. binutils/ * nm.c (print_object_filename_bsd, print_object_filename_sysv), (print_object_filename_posix, print_archive_filename_bsd), (print_archive_filename_sysv, print_archive_filename_posix), (print_archive_member_bsd, print_archive_member_sysv), (print_archive_member_posix): Constify parameter. (struct output_fns <print_object_filename, print_archive_filename>), (<print_archive_member>): Likewise. * objcopy.c (copy_archive): Add cast for make_tempdir. ld/ * emultempl/elf32.em (gld${EMULATION_NAME}_search_needed): Constify variable. * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Likewise. * emultempl/pep.em (gld_${EMULATION_NAME}_after_open): Likewise. gdb/ * coffread.c (coff_symfile_read): Constify filename variable. * dbxread.c (dbx_symfile_init, coffstab_build_psymtabs), (elfstab_build_psymtabs, stabsect_build_psymtabs): Likewise. * gdb_bfd.c (gdb_bfd_close_or_warn): Likewise. * solib.c (reload_shared_libraries_1): Likewise. * symfile.c (reread_symbols): Likewise. * solib-aix.c (solib_aix_bfd_open): Add cast for xfree of filename. * solib-darwin.c (darwin_bfd_open): Likewise. * symfile-mem.c (symbol_file_add_from_memory): Likewise. sim/cris/ * sim-if.c (sim_open): Constify filename variable.
* Automatic date update in version.inGDB Administrator2019-09-061-1/+1
|
* Fix PR ld/24574Eric Botcazou2019-09-052-0/+11
| | | | | | | | | | | This restores a line that has been dropped when the auto-import feature of the PE-COFF linker was overhauled about one year. It is necessary for GDB to properly resolve extern symbol in DLLs. ld/ChangeLog * pe-dll.c (pe_find_data_imports): Replace again the original name of the undefined symbol with the __imp_ prefixed one after it is resolved.
* [gdb/testsuite] Restore breakpoint command in ui-redirect.expTom de Vries2019-09-053-8/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In gdb.base/ui-redirect.exp, the "save breakpoint" command is used to write the current breakpoints to a file, but the actual output is not verified. Consequently, the test has regressed in that the "print 1" command associated with a breakpoint on main is removed by a subsequent runto_main, which first deletes all breakpoints: ... (gdb) break main Breakpoint 1 at 0x4004d7: file start.c, line 34. (gdb) commands Type commands for breakpoint(s) 1, one per line. End with a line saying just "end". > PASS: gdb.base/ui-redirect.exp: commands print 1 > PASS: gdb.base/ui-redirect.exp: print 1 end (gdb) PASS: gdb.base/ui-redirect.exp: end delete breakpoints Delete all breakpoints? (y or n) y ... and consequently the "save breakpoint" output is missing the breakpoint command for main: ... break main - commands - print 1 - end break foo break bar ... Fix this by replacing "gdb_breakpoint main" with runto_main, and verifying the "save breakpoints" output. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-09-05 Tom de Vries <tdevries@suse.de> * lib/gdb.exp (cmp_file_string): New proc. * gdb.base/ui-redirect.exp: Replace "gdb_breakpoint main" with runto_main. Verify save breakpoints output.
* PowerPC warning on symbol+offset@gotAlan Modra2019-09-052-3/+8
| | | | | * config/tc-ppc.c (ppc_elf_suffix): Display the relocation operator on GOT reloc warnings/errors.
* PowerPC64 GOT_PCREL relocsAlan Modra2019-09-052-53/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PC-relative relocs typically use the addend in adjusting what they are relative to. For example: bcl 20,31,1f 1: mflr 12 addi 12,12,xxx-1b generates "R_PPC64_REL16 xxx+0x4" for the addi (when little-endian). The addend reflects the fact that you want the offset relative to the previous insn not the current one in this case. So the question is, will we ever want to do something like that for an instruction using R_PPC64_GOT_PCREL34? I thought so at the time I first implemented support in ld but at the time I think the hardware was possibly going to support pcrel+offset+reg addressing. In which case you might want something like: load_big_offset_into_r2 pld 3,sym-big_offset@got@pcrel(2) which would be a way of supporting more than 8G offsets from code to the GOT. We could do the same with load_big_offset_into_r2 pla 9,sym-big_offset@got@pcrel ldx 3,9,2 However, this is really a poor version of TOC-pointer relative code. So let's go with an addend on R_PPC64_GOT_PCREL34 meaning that sym+addend should be put in a GOT entry, and the relocation calculate the pc-relative offset to that GOT entry. Note that this is an extension to the ABI, which says (by the expression given for GOT relocs) that non-zero addends on GOT and PLT relocs are ignored. This is true for all GOT/PLT relocs, not just the pcrel ones. * elf64-ppc.c (ppc64_elf_check_relocs): Interpret an addend in GOT_PCREL and PLT_PCREL relocs as affecting the value stored in the GOT/PLT entry rather than affecting the offset to that GOI/PLT entry. (ppc64_elf_edit_toc, ppc64_elf_relocate_section): Likewise.
* R_PPC64_PCREL_OPTAlan Modra2019-09-055-17/+75
| | | | | | | | | | | | | | | | The loads and stores handled in the second instruction of a sequence marked by R_PPC64_PCREL_OPT may be a prefix instruction. For example: pld ra,symbol@got@pcrel 0: pld rt,off(ra) .reloc 0b-8,R_PPC64_PCREL_OPT,(.-8)-(0b-8) can be optimised to pld rt,symbol+off@pcrel pnop * elf64-ppc.c (xlate_pcrel_opt): Handle prefix loads and stores in second instruction. (ppc64_elf_relocate_section): Likewise.
* PR24955, libbfd terminating program on out of memoryAlan Modra2019-09-057-9/+85
| | | | | | | | | | | | | | | | | | This patch fixes the worst of the cases where libbfd might terminate a program due to calling xstrdup or xmalloc. I've also fixed some error paths that didn't clean up properly. PR 24955 * libbfd-in.h (bfd_strdup): New inline function. * archive.c (_bfd_get_elt_at_filepos): Use bfd_strdup. Close bfd on error. * elfcode.h (_bfd_elf_bfd_from_remote_memory): Use bfd_strdup. * opncls.c (bfd_fopen): Use bfd_strdup. Close fd and stream on error. (bfd_openstreamr): Use bfd_strdup. (bfd_openr_iovec, bfd_openw, bfd_create): Likewise. * plugin.c (try_load_plugin): Use bfd_malloc. * libbfd.h: Regenerate.
* Automatic date update in version.inGDB Administrator2019-09-051-1/+1
|
* Avoid expect's buffer overflow in info-var.exp test.Philippe Waroquiers2019-09-042-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once the executable is started, info variables can show thousands of variables belonging to glibc (see below). This long list of variables then causes the test to fail, due to expect's buffer overflow: Running /bd/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.base/info-var.exp ... ERROR: internal buffer is full. ERROR: internal buffer is full. ERROR: internal buffer is full. Fix this by testing 'info variables' without running the executable. gdb ./info-var ... Reading symbols from ./info-var... (gdb) |info variables|wc 27 54 971 (gdb) start Temporary breakpoint 1 at 0x1129: file /bd/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.base/info-var-f1.c, line 23. Starting program: /bd/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/outputs/gdb.base/info-var/info-var Temporary breakpoint 1, main () at /bd/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.base/info-var-f1.c:23 23 return global_var + get_offset() + f1_var; (gdb) |info variables|wc 4334 14581 130738 (gdb) gdb/testsuite/ChangeLog 2019-09-04 Philippe Waroquiers <philippe.waroquiers@skynet.be> * gdb.base/info-var.exp: Test info variables without running to main, to avoid expect's buffer overflow.
* Automatic date update in version.inGDB Administrator2019-09-041-1/+1
|
* gdb: Handle missing domain types in: maintenance print psymbolsAndrew Burgess2019-09-032-0/+11
| | | | | | | | | | | Some domain_enum values were not handled in print_partial_symbols which means that 'maintenance print psymbols' would print '<invalid domain>' when it shouldn't have. gdb/ChangeLog: * psymtab.c (print_partial_symbols): Handle missing domain_enum values MODULE_DOMAIN and COMMON_BLOCK_DOMAIN.
* Handle biased typesTom Tromey2019-09-0315-34/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Ada, the programmer can request that a range type with a non-zero base be stored in the minimal number of bits required for the range. This is done by biasing the values; so, for example, a range of -7..-4 may be stored as two bits with a bias of -7. This patch implements this for gdb. It is done by adding a bias to struct range_bounds and then adjusting a few spots to handle this. The test case is written to use -fgnat-encodings=minimal, but a future compiler patch will change the compiler to emit DW_AT_GNU_bias with -fgnat-encodings=gdb. It seemed good to get the gdb patch in first. Tested on x86-64 Fedora 29; plus a variety of targets using AdaCore's internal test suite. gdb/ChangeLog 2019-09-03 Tom Tromey <tromey@adacore.com> * ada-valprint.c (ada_val_print_num): Don't recurse for range types. (has_negatives): Unbias a range type bound. * dwarf2read.c (read_subrange_type): Handle DW_AT_GNU_bias. * gdbtypes.c (operator==): Handle new field. (create_range_type): Add "bias" parameter. (create_static_range_type, resolve_dynamic_range): Update. * gdbtypes.h (struct range_bounds) <bias>: New member. (create_range_type): Add bias parameter. * printcmd.c (print_scalar_formatted): Unbias range types. * value.c (unpack_long): Unbias range types. (pack_long): Bias range types. gdb/testsuite/ChangeLog 2019-09-03 Tom Tromey <tromey@adacore.com> * gdb.ada/bias.exp: New file. * gdb.ada/bias/bias.adb: New file. * gdb.ada/print_chars.exp: Add regression test. * gdb.ada/print_chars/foo.adb (My_Character): New type. (MC): New variable.
* Fix buffer underrun bug in the TI C30 disassembler.Nick Clifton2019-09-032-1/+9
| | | | | | PR 24961 * tic30-dis.c (get_indirect_operand): Check for bufcnt being greater than zero before indexing via (bufcnt -1).
* Fix a potential buffer overrun in the MMIX disassembler when processing a ↵Nick Clifton2019-09-032-37/+66
| | | | | | | | | | | | corrupt input file. PR 24958 * mmix-dis.c (MAX_REG_NAME_LEN): Define. (MAX_SPEC_REG_NAME_LEN): Define. (struct mmix_dis_info): Use defined constants for array lengths. (get_reg_name): New function. (get_sprec_reg_name): New function. (print_insn_mmix): Use new functions.
* Automatic date update in version.inGDB Administrator2019-09-031-1/+1
|
* Check arguments for all probes before using themAlan Hayward2019-09-022-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | There is a long standing bug in the Arm toolchain where invalid stap probes get created due to the probes referring to symbols which have been resolved away. More details are here: https://bugzilla.redhat.com/show_bug.cgi?id=1196181 When these invalid probes are present, GDB will create the breakpoints and then fail to stop. The errors are only spotted the first time GDB stops, which is too late. The solution is to ensure the arguments for all the probes are resolved before using them. This fixes >100 timeouts when running break-interp.exp when using bad probes. gdb/ChangeLog: * solib-svr4.c (svr4_find_and_create_probe_breakpoints): Check all probe arguments.
* Use gdbarch for probe::get_argument_countAlan Hayward2019-09-027-13/+20
| | | | | | | | | | | | | | | | The probe function get_argument_count does not need a frame, only the current gdbarch. Switch the code to pass gdbarch instead. No functional changes. gdb/ChangeLog: * break-catch-throw.c (fetch_probe_arguments): Use gdbarch. * dtrace-probe.c (dtrace_probe::get_argument_count): Likewise. * probe.c (probe_safe_evaluate_at_pc) (compute_probe_arg) (compile_probe_arg): Likewise. * probe.h (get_argument_count): Likewise. * solib-svr4.c (solib_event_probe_action): Likewise. * stap-probe.c (stap_probe::get_argument_count): Likewise.
* Refactor svr4_create_solib_event_breakpointsAlan Hayward2019-09-022-67/+66
| | | | | | | | | | | Move the bulk of svr4_create_solib_event_breakpoints into a new function to simplify the logic. No functional changes. gdb/ChangeLog: * solib-svr4.c (svr4_find_and_create_probe_breakpoints): Move code to here... (svr4_create_solib_event_breakpoints): ...from here.
* Re: Memory leak in dwarf2.cAlan Modra2019-09-022-18/+22
| | | | | | | PR 11983 * dwarf2.c (read_alt_indirect_string): Free debug_filename on success. Tidy. (read_alt_indirect_ref): Likewise.
* Memory leak in dwarf2.cAlan Modra2019-09-022-7/+15
| | | | | | | | | This fixes a small leak of debug_filename. bfd_openr copies the file name since git commit 1be5090bca. PR 11983 * dwarf2.c (_bfd_dwarf2_slurp_debug_info): Free debug_filename on success. Tidy.
* Automatic date update in version.inGDB Administrator2019-09-021-1/+1
|
* RISC-V: Fix linker problems with tls copy relocs.Jim Wilson2019-08-312-0/+20
| | | | | | | | | | | | The linker doesn't allocate memory space for sections that are only SEC_ALLOC and SEC_THREAD_LOCAL. See the IS_TBSS test in ld/ldlang.c. So we need to pretend that .tdata.dyn sections have contents to get the right result. It will be marked this way anyways if there is a .tdata section to merge with. bfd/ PR 23825 * elfnn-riscv.c (riscv_elf_create_dynamic_sections): Add SEC_LOAD, SEC_DATA, and SEC_HAS_CONTENTS to .tdata.dyn section.
* Automatic date update in version.inGDB Administrator2019-09-011-1/+1
|