aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-07-18S/390: Improve partial relro support for 64 bitAndreas Krebbel6-62/+188
Currently on S/390 the .got.plt always comes first which prevents the GNU_RELRO segment from being extended across the non-plt GOT entries. Just swapping both unfortunately is not that simple since our ABI requires the _GLOBAL_OFFSET_TABLE_ symbol to point to the very beginning of the entire GOT. Of the 3 magic GOT entries the first is accessed via got pointer while second and third are being accessed via DT_PLTGOT. In order to keep them together we make DT_PLTGOT to point to the .got instead of .got.plt. However, this violates an assumption in the dynamic linker prelink undo code about the GOTPLT entries starting at DT_PLTGOT + 3. We got rid of this requirement with a Glibc patch already in version 2.24: https://sourceware.org/ml/libc-alpha/2016-06/msg01302.html So the S/390 relro GOT layout will look like this with this patch: +----------------------------------+ |got[0]: DYNAMIC | <--- _GLOBAL_OFFSET_TABLE_ == DT_PLTGOT .got |got[1]: link_map parm | |got[2]: &_dl_runtime_resolve | +----------------------------------+ | | non-plt GOT entries | | | | +----------------------------------+ | | <--- .gotplt, PLT GOT entries | | | | | | +----------------------------------+ The patch detects the current layout in size_dynamic_section in order to deal also with linker scripts not generated by this ld version. With partial relro enabled we pick a linker script where .got and .got.plt are swapped which then triggers the rest of the logic. ld/ChangeLog: 2018-07-18 Andreas Krebbel <krebbel@linux.ibm.com> * emulparams/elf64_s390.sh: Define GENERATE_RELRO_SCRIPT and SEPARATE_GOTPLT. * testsuite/ld-s390/gotreloc_64-relro-1.dd: New test. * testsuite/ld-s390/gotreloc_64-norelro-1.dd: Renamed from ... * testsuite/ld-s390/gotreloc_64-1.dd: ... this. * testsuite/ld-s390/s390.exp: Split the GOT testcase into two. bfd/ChangeLog: 2018-07-18 Andreas Krebbel <krebbel@linux.ibm.com> * elf-s390-common.c (s390_gotplt_after_got_p): New function. (s390_got_pointer): New function. (s390_got_offset): New function. (s390_gotplt_offset): New function. * elf64-s390.c (allocate_dynrelocs): Adjust comment. (elf_s390_size_dynamic_sections): Move space for magic GOT entries from .got.plt to .got if necessary and pick the right location for _GLOBAL_OFFSET_TABLE_. (elf_s390_relocate_section): Use the wrapper functions from elf-s390-common.c to deal with both possible layouts (either .got or .got.plt first). (elf_s390_finish_dynamic_sections): Likewise. (elf_s390_finish_dynamic_symbol): Make the location of the GOT magic entries conditional.
2018-07-18ld: Enable using separate linker script for -z relroAndreas Krebbel2-8/+291
With this patch dedicated linker scripts can be generated for partial relro triggered by defining GENERATE_RELRO_SCRIPT in the target specific scripts. This is necessary for e.g. S/390 where usually the .got.plt comes first and prevents the relro segment from being extended across the non-plt GOT entries. The patch started with the work from Marcin taken from the mwk user branches. However, the patch needed substantial changes due to the 'separate code' feature which got committed in the meantime. ld/ChangeLog: 2018-07-18 Andreas Krebbel <krebbel@linux.ibm.com> Marcin Kościelnicki <koriakin@0x04.net> * emultempl/elf32.em: Add code to pick dedicated linker scripts for partial relro. * genscripts.sh: Generate dedicated linker scripts for partial relro.
2018-07-18Updated French translation for gold and Spanish translation for ld.Nick Clifton4-2199/+7535
ld * po/es.po: Updated Spanish translation. gold * po/fr.po: Updated French translation.
2018-07-18Automatic date update in version.inGDB Administrator1-1/+1
2018-07-17Return unique_xmalloc_ptr from gdbscm_scm_to_stringTom Tromey7-53/+51
This changes gdbscm_scm_to_string to return a unique_xmalloc_ptr and then fixes all the callers. This allows for the removal of some cleanups. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> * guile/scm-param.c (pascm_set_func, pascm_show_func) (compute_enum_list, pascm_set_param_value_x) (gdbscm_parameter_value): Update. * guile/guile-internal.h (gdbscm_scm_to_string): Update. (gdbscm_scm_to_host_string): Update. * guile/scm-math.c (vlscm_convert_typed_value_from_scheme): Update. * guile/scm-cmd.c (cmdscm_add_completion): Update. * guile/scm-pretty-print.c (ppscm_print_string_repr): Update. * guile/scm-string.c (gdbscm_scm_to_string): Return unique_xmalloc_ptr. (gdbscm_scm_to_host_string): Likewise.
2018-07-17Return unique_xmalloc_ptr from gdbscm_safe_eval_stringTom Tromey5-29/+21
This changes gdbscm_safe_eval_string to return a unique_xmalloc_ptr. This allows for the removal of some cleanups. It also fixes a potential latent memory leak in gdbscm_set_backtrace. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> * guile/guile.c (gdbscm_eval_from_control_command): Update. * guile/guile-internal.h (gdbscm_safe_eval_string): Update. * guile/scm-objfile.c (gdbscm_execute_objfile_script): Update. * guile/scm-safe-call.c (gdbscm_safe_eval_string): Return unique_xmalloc_ptr.
2018-07-17Change gdbscm_exception_message_to_string to return a unique_xmalloc_ptrTom Tromey6-23/+31
This changes gdbscm_exception_message_to_string to return a unique_xmalloc_ptr, allowing for the removal of some cleanups. unique_xmalloc_ptr was chosen because at the root of the call chains is a function from Guile that returns a malloc'd string. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> * guile/scm-param.c (pascm_signal_setshow_error): Update. * guile/guile-internal.h (gdbscm_exception_message_to_string): Update. * guile/scm-cmd.c (cmdscm_function): Update. * guile/scm-pretty-print.c (ppscm_print_exception_unless_memory_error): Update. * guile/scm-exception.c (gdbscm_exception_message_to_string): Return unique_xmalloc_ptr.
2018-07-17Use std::string in ppscm_make_pp_type_error_exceptionTom Tromey2-10/+9
This changes ppscm_make_pp_type_error_exception to use std::string, removing a cleanup. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> * guile/scm-pretty-print.c (ppscm_make_pp_type_error_exception): Use string_printf.
2018-07-17BFD: Use `bfd_is_abs_symbol' to determine whether a symbol is absoluteMaciej W. Rozycki4-12/+19
Use `bfd_is_abs_symbol' to determine whether a symbol is absolute, avoiding a problem with ordinary symbols defined in a linker script outside an output section definition. Such symbols have its owning section set to the absolute section up to the final link phase. A flag has been added to the link hash to identify such symbols. Rather than checking the flag by hand, use the macro that does it uniformly for all users. bfd/ * elf32-nds32.c (nds32_elf_relax_loadstore): Use `bfd_is_abs_symbol' rather than `bfd_is_abs_section' in checking whether the symbol is absolute. (nds32_elf_relax_lo12): Likewise. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Likewise. (elfNN_aarch64_check_relocs): Likewise. * xcofflink.c (xcoff_need_ldrel_p): Likewise. (bfd_xcoff_import_symbol): Likewise. (xcoff_write_global_symbol): Likewise.
2018-07-17LD: Export relative-from-absolute symbol marking to BFDMaciej W. Rozycki7-1/+46
It is usually possible to tell absolute and ordinary symbols apart in BFD throughout the link, by checking whether the section that owns the symbol is absolute or not. That however does not work for ordinary symbols defined in a linker script outside an output section statement. Initially such symbols are entered into to the link hash as absolute symbols, owned by the absolute section. A flag is set in the internal linker expression defining such symbols to tell the linker to convert them to section-relative ones in the final phase of the link. That flag is however not accessible to BFD linker code, including BFD target code in particular. Add a flag to the link hash then to copy the information held in the linker expression. Define a macro, `bfd_is_abs_symbol', for BFD code to use where determining whether a symbol is absolute or ordinary is required before the final link phase. This macro will correctly identify the special `__ehdr_start' symbol as ordinary throughout link, for example, even though early on it will be assigned to the absolute section. Of course this does not let BFD code identify what the symbol's ultimate section will be before the final link phase has converted this symbol (in `update_definedness'). include/ * bfdlink.h (bfd_link_hash_entry): Add `rel_from_abs' member. bfd/ * linker.c (bfd_is_abs_symbol): New macro. * bfd-in2.h: Regenerate. ld/ * ldexp.c (exp_fold_tree_1) <etree_assign, etree_provide> <etree_provided>: Copy expression's `rel_from_abs' flag to the link hash.
2018-07-17RISC-V: Don't decrement pc after break.Jim Wilson2-23/+8
gdb/ * riscv-tdep.c (riscv_has_feature): Delete comment that refers to set_gdbarch_decr_pc_after_break. Call riscv_read_misa_reg always. (riscv_gdbarch_init): Delete local has_compressed_isa. Delete now unecessary braces after EF_RISCV_RVC test. Delete call to set_gdbarch_decr_pc_after_break.
2018-07-17RISC-V: Correct legacy misa register number.Jim Wilson2-2/+8
gdb/ * riscv-tdep.h (DECLARE_CSR): Use RISCV_FIRST_CSR_REGNUM instead of RISCV_LAST_FP_REGNUM + 1. (RSICV_CSR_LEGACY_MISA_REGNUM): Add RISCV_FIRST_CSR_REGNUM.
2018-07-17Remove --disable-gdbcliTom Tromey5-56/+15
I think it doesn't really make sense to allow building gdb without the CLI. Perhaps at one time this was a goal, but libgdb is long gone and the CLI is intrinsic to gdb. So, this patch removes the implementation of this configure option. It is still recognized (this is autoconf's default), but does nothing. This simplifies configure.ac and Makefile.in a bit. Tested by rebuilding. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> * configure.ac: Remove --disable-gdbcli. * configure: Rebuild. * Makefile.in (SUBDIR_CLI_DEPS, SUBDIR_CLI_LDFLAGS) (SUBDIR_CLI_CFLAGS): Remove. (SFILES): Use SUBDIR_CLI_SRCS. (COMMON_OBS): Use SUBDIR_CLI_OBS.
2018-07-17Use scoped_free_pendings in coff_symtab_readTom Tromey2-0/+8
PR gdb/18624 concerns an assertion failure that occurs when setting a breakpoint in a Go program on Windows. What happens here is that coff_symtab_read uses buildsym but does not instantiate scoped_free_pendings. So, the struct pending objects are never released. Later, dwarf2read.c calls buildsym_init, which asserts. This patch fixes the problem by instantiating scoped_free_pendings in coff_symtab_read. Tested using the test executable from the PR. I don't know how to test this more fully. gdb/ChangeLog 2018-07-17 Tom Tromey <tom@tromey.com> PR gdb/18624: * coffread.c (coff_symtab_read): Use scoped_free_pendings.
2018-07-17Automatic date update in version.inGDB Administrator1-1/+1
2018-07-16RISC-V: Add osabi support.Jim Wilson2-0/+7
gdb/ * riscv-tdep.c (riscv_gdbarch_init): Call gdbarch_init_osabi.
2018-07-16Fix typo in NT_PPC_TM_CVSX note descriptionPedro Franco de Carvalho2-1/+6
2018-07-16 Pedro Franco de Carvalho <pedromfc@linux.ibm.com> binutils/ * readelf.c (get_note_type): Fix typo in NT_PPC_TM_CVSX note description.
2018-07-16Add grok/write functions for new ppc core note sectionsEdjunior Barbosa Machado3-0/+421
This patch adds functions for grokking and writing more register core note sections (NT_PPC_TAR, NT_PPC_PPR, NT_PPC_DSCR, NT_PPC_EBB, NT_PPC_PMU, NT_PPC_TM_CGPR, NT_PPC_TM_CFPR, NT_PPC_TM_CVMX, NT_PPC_TM_CVSX, NT_PPC_TM_SPR, NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR). 2018-07-16 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com> bfd/ * elf-bfd.h (elfcore_write_ppc_tar): Add prototype. (elfcore_write_ppc_ppr): Likewise. (elfcore_write_ppc_dscr): Likewise. (elfcore_write_ppc_ebb): Likewise. (elfcore_write_ppc_pmu): Likewise. (elfcore_write_ppc_tm_cgpr): Likewise. (elfcore_write_ppc_tm_cfpr): Likewise. (elfcore_write_ppc_tm_cvmx): Likewise. (elfcore_write_ppc_tm_cvsx): Likewise. (elfcore_write_ppc_tm_spr): Likewise. (elfcore_write_ppc_tm_ctar): Likewise. (elfcore_write_ppc_tm_cppr): Likewise. (elfcore_write_ppc_tm_cdscr): Likewise. * elf.c (elfcore_write_ppc_tar): New function. (elfcore_write_ppc_ppr): Likewise. (elfcore_write_ppc_dscr): Likewise. (elfcore_write_ppc_ebb): Likewise. (elfcore_write_ppc_pmu): Likewise. (elfcore_write_ppc_tm_cgpr): Likewise. (elfcore_write_ppc_tm_cfpr): Likewise. (elfcore_write_ppc_tm_cvmx): Likewise. (elfcore_write_ppc_tm_cvsx): Likewise. (elfcore_write_ppc_tm_spr): Likewise. (elfcore_write_ppc_tm_ctar): Likewise. (elfcore_write_ppc_tm_cppr): Likewise. (elfcore_write_ppc_tm_cdscr): Likewise. (elfcore_write_register_note): Call them. (elfcore_grok_ppc_tar): New function. (elfcore_grok_ppc_ppr): Likewise. (elfcore_grok_ppc_dscr): Likewise. (elfcore_grok_ppc_ebb): Likewise. (elfcore_grok_ppc_pmu): Likewise. (elfcore_grok_ppc_tm_cgpr): Likewise. (elfcore_grok_ppc_tm_cfpr): Likewise. (elfcore_grok_ppc_tm_cvmx): Likewise. (elfcore_grok_ppc_tm_cvsx): Likewise. (elfcore_grok_ppc_tm_spr): Likewise. (elfcore_grok_ppc_tm_ctar): Likewise. (elfcore_grok_ppc_tm_cppr): Likewise. (elfcore_grok_ppc_tm_cdscr): Likewise. (elfcore_grok_note): Call them.
2018-07-16Add missing ChangeLog entrySimon Marchi1-0/+12
I forgot (yes, again) the ChangeLog entry in my latest patch.
2018-07-16Remove unused variables in ia64*tdep.cSimon Marchi3-14/+4
gdb/ChangeLog: * ia64-libunwind-tdep.c (libunwind_frame_cache): Remove unused variable. (libunwind_frame_sniffer): Likewise. (libunwind_frame_prev_register): Likewise. (libunwind_sigtramp_frame_sniffer): Likewise. * ia64-tdep.c (ia64_access_reg): Likewise. (ia64_access_rse_reg): Likewise. (ia64_libunwind_sigtramp_frame_this_id): Likewise. * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Likewise.
2018-07-16Fix compilation error in ia64-vms-tdep.c with libunwind-ia64Simon Marchi2-1/+5
I found this when doing a --enable-targets=all build with libunwind-ia64 properly configured. CXX ia64-vms-tdep.o /home/emaisin/src/binutils-gdb/gdb/ia64-vms-tdep.c: In function ‘int ia64_vms_find_proc_info_x(unw_addr_space_t, unw_word_t, unw_proc_info_t*, int, void*)’: /home/emaisin/src/binutils-gdb/gdb/ia64-vms-tdep.c:79:33: error: invalid conversion from ‘void*’ to ‘gdb_byte* {aka unsigned char*}’ [-fpermissive] pi->unwind_info, pi->unwind_info_size); ^ In file included from /home/emaisin/src/binutils-gdb/gdb/target.h:70:0, from /home/emaisin/src/binutils-gdb/gdb/exec.h:23, from /home/emaisin/src/binutils-gdb/gdb/gdbcore.h:29, from /home/emaisin/src/binutils-gdb/gdb/ia64-vms-tdep.c:25: /home/emaisin/src/binutils-gdb/gdb/target/target.h:35:12: note: initializing argument 2 of ‘int target_read_memory(CORE_ADDR, gdb_byte*, ssize_t)’ extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr, ^ gdb/ChangeLog: * ia64-vms-tdep.c (ia64_vms_find_proc_info_x): Add cast.
2018-07-16remote-sim.c: Remove unused variablesSimon Marchi2-6/+5
gdb/ChangeLog: * remote-sim.c (gdbsim_target::close, gdbsim_target::mourn_inferior): Remove unused variables.
2018-07-16Add missing ChangeLog entrySimon Marchi1-0/+6
I forgot to append the ChangeLog entry to the last commit...
2018-07-16Fix compilation error in ia64-tdep.c with libunwind-ia64Simon Marchi1-15/+9
Commit 9018be22e022 ("Make target_read_alloc & al return vectors") failed to update the code in ia64-tdep.c, for HAVE_LIBUNWIND_IA64_H. This patch fixes that. gdb/ChangeLog: * ia64-tdep.c (ktab_buf): New global. (getunwind_table): Return a gdb::optional<gdb::byte_vector>. (get_kernel_table): Adjust.
2018-07-16Use outermost_context_p in more placesTom Tromey5-13/+21
This changes a few explicit checks of context_stack_depth to use outermost_context_p instead. This simplifies some future work. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * xcoffread.c (read_xcoff_symtab): Use outermost_context_p. * dwarf2read.c (using_directives, new_symbol): Use outermost_context_p. * dbxread.c (process_one_symbol): Use outermost_context_p. * coffread.c (coff_symtab_read): Use outermost_context_p.
2018-07-16Move the using directives to buildsym_compunitTom Tromey5-26/+77
This moves the globals local_using_directives and global_using_directives to be members of buildsym_compunit, and adds the necessary accessors. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * dwarf2read.c (using_directives, read_func_scope) (read_lexical_block_scope): Update. * cp-namespace.c (cp_scan_for_anonymous_namespaces): Update. * buildsym.h (local_using_directives, global_using_directives): Don't declare. (get_local_using_directives, set_local_using_directives) (get_global_using_directives): Declare. * buildsym.c (struct buildsym_compunit) <m_local_using_directives, m_global_using_directives>: New members. (finish_block_internal, prepare_for_building) (reset_symtab_globals, end_symtab_get_static_block) (push_context): Update. (get_local_using_directives, set_local_using_directives) (get_global_using_directives): New functions. (buildsym_init): Update.
2018-07-16Make free_pending_blocks staticTom Tromey5-8/+20
free_pending_blocks can be static because scoped_free_pendings (et al) arrange for it to be NULL in the "steady state". This removes a couple of unnecessary calls to free_pending_blocks and changes it to be static. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * xcoffread.c (xcoff_initial_scan): Don't call free_pending_blocks. * dbxread.c (dbx_symfile_read): Don't call free_pending_blocks. * buildsym.h (class scoped_free_pendings): Add constructor. (free_pending_blocks): Don't declare. * buildsym.c (scoped_free_pendings::scoped_free_pendings): New. (free_pending_blocks): Now static.
2018-07-16Move the subfile stack to buildsym_compunitTom Tromey3-28/+24
This moves the global subfile_stack to be a member of buildsym_compunit. It also change this to be a std::vector, which simplifies the code. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.h (push_subfile, pop_subfile): Update declarations. * buildsym.c (struct buildsym_compunit) <m_subfile_stack>: New member. (struct subfile_stack): Remove. (subfile_stack): Remove. (push_subfile, pop_subfile, buildsym_init): Update.
2018-07-16Use gdb_assert in two places in buildsym.cTom Tromey2-10/+7
This changes buildsym.c to use gdb_assert rather than internal_error in a couple of spots. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (push_subfile): Use gdb_assert. (pop_subfile): Use gdb_assert.
2018-07-16Remove merge_symbol_listsTom Tromey3-30/+5
I discovered that merge_symbol_lists is unused, so this removes it. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.h (merge_symbol_lists): Remove. * buildsym.c (merge_symbol_lists): Remove.
2018-07-16Move scan_file_globals declaration to stabsread.hTom Tromey4-7/+13
scan_file_globals is defined in stabsread.c, so move its declaration to stabsread.h. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * stabsread.c (scan_file_globals): Update comment. * stabsread.h (scan_file_globals): Move from buildsym.h. * buildsym.h (scan_file_globals): Move to stabsread.h.
2018-07-16Remove buildsym_new_initTom Tromey8-22/+21
buildsym_new_init is just an alias for buildsym_init. This removes it. In the long run buildsym_init will also go away; this patch just helps make things a bit clearer in the meantime. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * xcoffread.c (xcoff_new_init): Update. * mipsread.c (mipscoff_new_init): Update. * mdebugread.c (mdebug_build_psymtabs): Update. * elfread.c (elf_new_init): Update. * dbxread.c (dbx_new_init, coffstab_build_psymtabs) (elfstab_build_psymtabs, stabsect_build_psymtabs): Update. * buildsym.h (buildsym_new_init): Don't declare. * buildsym.c (buildsym_new_init): Remove.
2018-07-16Move within_function to stabsreadTom Tromey6-6/+15
The global within_function is only used by a few symbol readers. This patch moves the global out of buildsym and into stabsread, which seemed like a better fit. It also arranges for the existing readers to clear the global at the appropriate time. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * stabsread.h (within_function): Move from buildsym.h. * stabsread.c (start_stabs): Clear within_function. * coffread.c (coff_start_symtab): Clear within_function. * buildsym.h (within_function): Move to stabsread.h. * buildsym.c (prepare_for_building): Update.
2018-07-16Move processing_gcc to stabsreadTom Tromey4-8/+12
processing_gcc is also only used by stabsread -- it is set by the DWARF reader, but this turns out not to be needed. So, this patch moves processing_gcc and removes the assignment from the DWARF reader. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * stabsread.h (processing_gcc_compilation): Move from buildsym.h. * dwarf2read.c (dwarf2_start_symtab): Don't set processing_gcc_compilation. * buildsym.h (processing_gcc_compilation): Move to stabsread.h.
2018-07-16Move some code from buildsym to stabsreadTom Tromey5-25/+36
A few things that currently reside in buildsym.c turn out to be specific to the stabs reader. This patch moves these from buildsym.[ch] to stabsread.[ch]. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * stabsread.h (HASHSIZE, hashname, symnum, next_symbol_text) (next_symbol_text_func): Move from buildsym.h. * stabsread.c (hashname): Move from buildsym.c. * buildsym.h (HASHSIZE, symnum, next_symbol_text) (next_symbol_text_func, hashname): Move to stabsread.h. * buildsym.c: Don't include bcache.h (hashname): Move to stasbread.c.
2018-07-16Make context_stack_size static in buildsym.cTom Tromey3-4/+9
context_stack_size is declared in buildsym.h, but only used in buildsym.c. This makes it static in buildsym.c. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.h (context_stack_size): Don't declare. * buildsym.c (context_stack_size): New global.
2018-07-16Move processing_acc_compilation to dbxread.cTom Tromey3-8/+13
processing_acc_compilation is only used in dbxread.c, so move it there. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * dbxread.c (processing_acc_compilation): New global. * buildsym.h (processing_acc_compilation): Don't declare.
2018-07-16Move last_source_start_addr to buildsym_compunitTom Tromey6-27/+73
This moves the global last_source_start_addr into buildsym_compunit, adding some accessors as well. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * xcoffread.c (aix_process_linenos, complete_symtab): Update. * dbxread.c (read_ofile_symtab): Update. * coffread.c (coff_start_symtab, coff_end_symtab): Update. * buildsym.h (last_source_start_addr): Remove. (set_last_source_start_addr, get_last_source_start_addr): Declare. * buildsym.c (buildsym_compunit::buildsym_compunit): Add last_addr parameter. (struct buildsym_compunit) <m_last_source_start_addr>: New member. (prepare_for_building): Remove start_addr parameter. (start_symtab, restart_symtab, end_symtab_get_static_block) (end_symtab_with_blockvector): Update. (set_last_source_start_addr, get_last_source_start_addr): New functions.
2018-07-16Move have_line_numbers to buildsym_compunitTom Tromey2-9/+15
This moves the global have_line_numbers into buildsym_compunit. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (struct buildsym_compunit) <m_have_line_numbers>: New member. (have_line_numbers): Remove. (record_line, prepare_for_building, end_symtab_get_static_block) (augment_type_symtab): Update.
2018-07-16Move pending_macros to buildsym_compunitTom Tromey2-28/+39
This moves the pending_macros global into buildsym_compunit. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (~buildsym_compunit): Free the macro table. (struct buildsym_compunit) <get_macro_table, release_macros>: New methods. <m_pending_macros>: New member. (pending_macros): Remove. (~scoped_free_pendings, get_macro_table, prepare_for_building) (reset_symtab_globals, end_symtab_get_static_block) (end_symtab_with_blockvector, augment_type_symtab) (buildsym_init): Update.
2018-07-16Move last_source file to buildsym_compunitTom Tromey2-18/+36
This moves the global last_source_file into buildsym_compunit. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (buildsym_compunit::buildsym_compunit): Add name parameter. (buildsym_compunit::set_last_source_file): New method. <m_last_source_file>: New member. (prepare_for_building): Remove "name" parameter. (start_symtab, restart_symtab, reset_symtab_globals): Update. (last_source_file): Remove. (set_last_source_file, get_last_source_file): Update.
2018-07-16Add assert in prepare_for_buildingTom Tromey2-0/+5
This adds an assertion in prepare_for_building. This was useful for verifying whether some subsequent changes were valid. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (prepare_for_building): Add assert.
2018-07-16Change buildsym_compunit::comp_dir to be a unique_xmalloc_ptrTom Tromey2-6/+12
This change buildsym_compunit::comp_dir to be a unique_xmalloc_ptr. This is just a small cleanup to remove some manual memory management. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (~buildsym_compunit): Update. (struct buildsym_compunit) <comp_unit>: Now a unique_xmalloc_ptr. (start_subfile, patch_subfile_names) (end_symtab_with_blockvector): Update.
2018-07-16Use new and delete for buildsym_compunitTom Tromey2-50/+49
This changes buildsym_compunit to use new and delete. gdb/ChangeLog 2018-07-16 Tom Tromey <tom@tromey.com> * buildsym.c (struct buildsym_compunit): Add constructor, destructor, initializers. (start_buildsym_compunit): Remove. (free_buildsym_compunit): Use "delete". (start_symtab, restart_symtab): Use "new".
2018-07-16Update release making notes to metion checking for new top level files.Nick Clifton2-3/+15
* README-how-to-make-a-release: Add note to check for new top level files and add them to the src-release.sh script.
2018-07-16Update the src-release script to include the new top level files test-driver ↵Nick Clifton2-1/+5
and ar-lib. * src-release.sh (DEVO_SUPPORT): Add test-driver and ar-lib.
2018-07-16x86: fix operand size checkingJan Beulich4-86/+123
Currently mov to/from control, debug, and test register insns accept any size GPR operand (general pattern: templates with D set and both operands being registers in distinct register files). This is due to improper checking of the reverse case, including not informing the caller whether a straight and/or reverse match was successful. The helper functions need to be told two indexes: One to index the given operand types array, and the other to index the template one. The caller must attempt a further straight match only if the function reported a straight match (and respectively for reverse matches).
2018-07-16Automatic date update in version.inGDB Administrator1-1/+1
2018-07-15Fix filename in prior ChangeLog entrySimon Marchi1-4/+5
2018-07-15Automatic date update in version.inGDB Administrator1-1/+1