aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-06-01Bump version number to 2.30.52H.J. Lu13-61/+86
Bump version number to 2.30.52 since _bfd_link_hide_symbol has been added to bfd_target. bfd/ * version.m4: Bump version to 2.30.52 * configure: Regenerated. binutils/ * configure: Regenerated. gas/ * configure: Regenerated. gprof/ * configure: Regenerated. ld/ * configure: Regenerated. opcodes/ * configure: Regenerated.
2018-06-01Remove type_name_no_tag and rename type_name_no_tag_or_errorTom Tromey17-56/+73
type_name_no_tag is just a plain wrapper for TYPE_NAME now, so this patch removes it. And, because tag names no longer exist, this renames type_name_no_tag_or_error to type_name_or_error. gdb/ChangeLog 2018-06-01 Tom Tromey <tom@tromey.com> * valops.c (value_cast_structs, destructor_name_p): Update. * symtab.c (gdb_mangle_name): Update. * stabsread.c (define_symbol, read_cpp_abbrev, read_baseclasses): Update. * p-valprint.c (pascal_object_is_vtbl_ptr_type) (pascal_object_print_value_fields, pascal_object_print_value): Update. * p-typeprint.c (pascal_type_print_derivation_info): Update. * linespec.c (find_methods): Update. * gdbtypes.h (type_name_no_tag): Remove. (type_name_or_error): Rename from type_name_no_tag_or_error. * gdbtypes.c (type_name_no_tag): Remove. (type_name_or_error): Rename from type_name_no_tag_or_error. (lookup_struct_elt_type, check_typedef): Update. * expprint.c (print_subexp_standard): Update. * dwarf2read.c (dwarf2_add_field, load_partial_dies): Update. * d-namespace.c (d_lookup_nested_symbol): Update. * cp-valprint.c (cp_is_vtbl_ptr_type, cp_print_value_fields) (cp_print_class_member): Update. * cp-namespace.c (cp_lookup_nested_symbol): Update. * completer.c (add_struct_fields): Update. * c-typeprint.c (cp_type_print_derivation_info) (c_type_print_varspec_prefix, c_type_print_base_struct_union): Update. * ada-lang.c (parse_old_style_renaming, xget_renaming_scope) (ada_prefer_type, ada_is_exception_sym): Update.
2018-06-01Remove TYPE_TAG_NAMETom Tromey31-209/+221
TYPE_TAG_NAME has been an occasional source of confusion and bugs. It seems to me that it is only useful for C and C++ -- but even there, not so much, because at least with DWARF there doesn't seem to be any way to wind up with a type where the name and the tag name are both non-NULL and different. So, this patch removes TYPE_TAG_NAME entirely. This should save a little memory, but more importantly, it simplifies this part of gdb. A few minor test suite adjustments were needed. In some situations the new code does not yield identical output to the old code. gdb/ChangeLog 2018-06-01 Tom Tromey <tom@tromey.com> * valops.c (enum_constant_from_type, value_namespace_elt) (value_maybe_namespace_elt): Update. * valarith.c (find_size_for_pointer_math): Update. * target-descriptions.c (make_gdb_type): Update. * symmisc.c (print_symbol): Update. * stabsread.c (define_symbol, read_type) (complain_about_struct_wipeout, add_undefined_type) (cleanup_undefined_types_1): Update. * rust-lang.c (rust_tuple_type_p, rust_slice_type_p) (rust_range_type_p, val_print_struct, rust_print_struct_def) (rust_internal_print_type, rust_composite_type) (rust_evaluate_funcall, rust_evaluate_subexp) (rust_inclusive_range_type_p): Update. * python/py-type.c (typy_get_tag): Update. * p-typeprint.c (pascal_type_print_base): Update. * mdebugread.c (parse_symbol, parse_type): Update. * m2-typeprint.c (m2_long_set, m2_record_fields, m2_enum): Update. * guile/scm-type.c (gdbscm_type_tag): Update. * go-lang.c (sixg_string_p): Update. * gnu-v3-abi.c (build_gdb_vtable_type, build_std_type_info_type): Update. * gdbtypes.h (struct main_type) <tag_name>: Remove. (TYPE_TAG_NAME): Remove. * gdbtypes.c (type_name_no_tag): Simplify. (check_typedef, check_types_equal, recursive_dump_type) (copy_type_recursive, arch_composite_type): Update. * f-typeprint.c (f_type_print_base): Update. Print "Type" prefix in summary mode when needed. * eval.c (evaluate_funcall): Update. * dwarf2read.c (fixup_go_packaging, read_structure_type) (process_structure_scope, read_enumeration_type) (read_namespace_type, read_module_type, determine_prefix): Update. * cp-support.c (inspect_type): Update. * coffread.c (process_coff_symbol, decode_base_type): Update. * c-varobj.c (c_is_path_expr_parent): Update. * c-typeprint.c (c_type_print_base_struct_union): Update. (c_type_print_base_1): Update. Print struct/class/union/enum in summary when using C language. * ax-gdb.c (gen_struct_ref, gen_namespace_elt) (gen_maybe_namespace_elt): Update. * ada-lang.c (ada_type_name): Simplify. (empty_record, ada_template_to_fixed_record_type_1) (template_to_static_fixed_type) (to_record_with_fixed_variant_part, ada_check_typedef): Update. gdb/testsuite/ChangeLog 2018-06-01 Tom Tromey <tom@tromey.com> * gdb.xml/tdesc-regs.exp (load_description): Update expected results. * gdb.dwarf2/method-ptr.exp: Set language to C++. * gdb.dwarf2/member-ptr-forwardref.exp: Set language to C++. * gdb.cp/typeid.exp (do_typeid_tests): Update type_re. * gdb.base/maint.exp (maint_pass_if): Update.
2018-06-01Thread language through c_type_print_argsTom Tromey4-40/+98
Currently dwarf2read.c will pass the CU's language to c_type_print_args -- but this doesn't affect all aspects of type printing, because some code in c-typeprint.c refers to current_language. This patch threads the language through more of the type printing code, adding an overload to c_type_print. Some uses of current_language remain, but now they are only in top-level functions. gdb/ChangeLog 2018-06-01 Tom Tromey <tom@tromey.com> * dwarf2read.c (dwarf2_compute_name): Pass CU's language to c_print_type. * c-typeprint.c (c_print_type_1): Add "language" parameter. (c_print_type): Update. (c_print_type): New overload. (c_type_print_varspec_prefix, c_type_print_args) (c_type_print_varspec_suffix, c_print_type_no_offsets) (c_type_print_base_struct_union, c_type_print_base_1) (cp_type_print_method_args): Add "language" parameter. (c_type_print_base): Update. * c-lang.h (c_print_type): Add new overload.
2018-06-01Make c_type_print_varspec_suffix staticTom Tromey3-4/+10
I noticed that c_type_print_varspec_suffix is only called from c-typeprint.c, so this patch makes it "static". gdb/ChangeLog 2018-06-01 Tom Tromey <tom@tromey.com> * typeprint.h (c_type_print_varspec_suffix): Don't declare. * c-typeprint.c (c_type_print_varspec_suffix): Now static.
2018-06-01Add SVE register definesAlan Hayward3-1/+44
In order to prevent gaps in the register numbering, the Z registers reuse the V register numbers (which become pseudos on SVE). 2018-06-01 Alan Hayward <alan.hayward@arm.com> * aarch64-tdep.c (aarch64_sve_register_names): New const var. * arch/aarch64.h (enum aarch64_regnum): Add SVE entries. (AARCH64_SVE_Z_REGS_NUM): New define. (AARCH64_SVE_P_REGS_NUM): Likewise. (AARCH64_SVE_NUM_REGS): Likewise.
2018-06-01Drop view when consuming line infoAlexandre Oliva2-0/+5
Fix locviews on ia64. If we do not drop the view after copying line info to slots in the bundle, we may attempt to compute the view more than once and get very confused. for gas/ChangeLog * dwarf2dbg.c (dwarf2_consume_line_info): Drop view.
2018-06-01x86: fold MOV to/from segment register templatesJan Beulich3-119/+16
First of all there's no point in having separate Cpu386 templates - the respective SReg3 registers can't be specified for pre-386 anyway; see parse_real_register(). And then we can also make use of D here for the memory forms of the insn. This cannot be done for the non-64bit GPR forms because of the IgnoreSize that cannot be dropped from the to-SREG variant.
2018-06-01x86: don't emit REX.W for SLDT and STRJan Beulich6-8/+18
Just like for other selector register reads, they're unnecessary and should hence be avoided.
2018-06-01x86: relax redundant REX prefix checkJan Beulich5-2/+37
All REX bits can be specified via individual prefixes. Redundancy should only be reported on a per-bit basis. Note that I originally had further checks added to the test case, checking the effect also on PDEP. I had to strip those, because my patch to correctly handle those (https://sourceware.org/ml/binutils/2017-02/msg00280.html) was rejected. I continue to think that there should not be any new prefix introduced to handle the VEX case - whether the encoding of an insn requires VEX et al should not be of immediate interest to the programmer.
2018-06-01x86: simplify control register checkJan Beulich2-5/+7
... as is already done elsewhere: There's no need for the use of operand_type_equal() here - the bit identifying control registers isn't used for any other purposes.
2018-06-01x86: tighten condition for emitting LOCK on control register accessesJan Beulich2-4/+9
The control register is never expressed by REX.B; this bit only affects the involved GPR. Also only one of the operands can have its "control" flag set, so only check the correct operand.
2018-06-01x86/Intel: accept "oword ptr" for INVPCIDJan Beulich10-6/+27
The insn is no different in this reagrd from INVEPT and INVVPID.
2018-06-01Make _bfd_error_handler available outside libbfdAlan Modra11-19/+42
Needed when building libopcodes.so. bfd/ * bfd.c (_bfd_error_handler): Arrange for this function to be declared in bfd-in2.h. * libbfd-in.h (_bfd_error_handler): Don't declare. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. opcodes/ * sysdep.h (_bfd_error_handler): Don't declare. * msp430-decode.opc: Include bfd.h. Don't include ansidecl.h here. * rl78-decode.opc: Likewise. * msp430-decode.c: Regenerate. * rl78-decode.c: Regenerate.
2018-06-01Automatic date update in version.inGDB Administrator1-1/+1
2018-05-31Fix "set" handling of Python parametersTom Tromey4-16/+17
It's long bothered me that setting a Python parameter from the CLI will print the "set" help text by default. I think usually "set" commands should be silent. And, while you can modify this behavior a bit by providing a "get_set_string" method, if this method returns an empty string, a blank line will be printed. This patch removes the "help" behavior and changes the get_set_string behavior to avoid printing a blank line. The code has a comment about preserving API behavior, but I don't think this is truly important; and in any case the workaround -- implementing get_set_string -- is trivial. Regression tested on x86-64 Fedora 26. 2018-04-26 Tom Tromey <tom@tromey.com> * NEWS: Mention new "set" behavior. * python/py-param.c (get_set_value): Don't print an empty string. Don't call get_doc_string. gdb/doc/ChangeLog 2018-04-26 Tom Tromey <tom@tromey.com> * python.texi (Parameters In Python): Update get_set_string documentation.
2018-05-31Add basic Python API for convenience variablesTom Tromey6-2/+132
This adds a basic Python API for accessing convenience variables. With this, convenience variables can be read and set from Python. Although gdb supports convenience variables whose value changes at each call, this is not exposed to Python; it could be, but I think it's just as good to write a convenience function in this situation. This is PR python/23080. Tested on x86-64 Fedora 26. 2018-04-22 Tom Tromey <tom@tromey.com> PR python/23080: * NEWS: Update for new functions. * python/py-value.c (gdbpy_set_convenience_variable) (gdbpy_convenience_variable): New functions. * python/python-internal.h (gdbpy_convenience_variable) (gdbpy_set_convenience_variable): Declare. * python/python.c (python_GdbMethods): Add convenience_variable, set_convenience_variable. doc/ChangeLog 2018-04-22 Tom Tromey <tom@tromey.com> PR python/23080: * python.texi (Basic Python): Document gdb.convenience_variable, gdb.set_convenience_variable. testsuite/ChangeLog 2018-04-22 Tom Tromey <tom@tromey.com> PR python/23080: * gdb.python/python.exp: Add convenience variable tests.
2018-05-31Fix Alpha native GDB buildUros Bizjak2-5/+6
[Commit log by Simon Marchi] I get this error: CXX linux-nat.o /home/simark/src/binutils-gdb/gdb/linux-nat.c: In function 'void save_stop_reason(lwp_info*)': /home/simark/src/binutils-gdb/gdb/linux-nat.c:2718:9: error: duplicated 'if' condition [-Werror=duplicated-cond] else if (GDB_ARCH_IS_TRAP_HWBKPT (siginfo.si_code)) ^~ In file included from /home/simark/src/binutils-gdb/gdb/linux-nat.c:31:0: /home/simark/src/binutils-gdb/gdb/nat/linux-ptrace.h:173:41: note: previously used here # define GDB_ARCH_IS_TRAP_BRKPT(X) ((X) == TRAP_BRKPT) ~~~~~^~~~~~~~~~~~~~ /home/simark/src/binutils-gdb/gdb/linux-nat.c:2709:13: note: in expansion of macro 'GDB_ARCH_IS_TRAP_BRKPT' else if (GDB_ARCH_IS_TRAP_BRKPT (siginfo.si_code)) ^~~~~~~~~~~~~~~~~~~~~~ For Alpha, we currently define GDB_ARCH_IS_TRAP_BRKPT and GDB_ARCH_IS_TRAP_HWBKPT both to ((X) == TRAP_BRKPT), which causes the two if branches to be duplicated. Alpha doesn't have hardware breakpoints, so the Linux kernel for Alpha never sets si_code to TRAP_HWBKPT. We can just remove the special definitions of these macros for __alpha__ and rely on the default ones. Since the kernel will never report TRAP_HWBKPT, we will just never enter the "hardware breakpoint" branch on Alpha (which is fine since it doesn't have them). gdb/ChangeLog: * nat/linux-ptrace.h [__alpha__] (GDB_ARCH_IS_TRAP_BRKPT, GDB_ARCH_IS_TRAP_HWBKPT): Remove definitions.
2018-05-31arch-utils: Make the last endianness actually chosen stickyMaciej W. Rozycki8-0/+149
Use the last endianness explicitly selected, either by choosing a binary file or with the `set endian' command, for future automatic selection. As observed with the `gdb.base/step-over-no-symbols.exp' test case when discarding the binary file even while connected to a live target the endianness automatically selected is reset to the GDB target's default, even if it does not match the endianness of the target being talked to. For example with a little-endian MIPS target and the default endianness being big we get this: (gdb) file .../gdb/testsuite/outputs/gdb.base/step-over-no-symbols/step-over-no-symbols Reading symbols from .../gdb/testsuite/outputs/gdb.base/step-over-no-symbols/step-over-no-symbols...done. (gdb) delete breakpoints (gdb) info breakpoints No breakpoints or watchpoints. (gdb) break main Breakpoint 1 at 0x400840: file .../gdb/testsuite/gdb.base/start.c, line 34. [...] (gdb) continue Continuing. Breakpoint 1, main () at .../gdb/testsuite/gdb.base/start.c:34 34 foo(); (gdb) delete breakpoints Delete all breakpoints? (y or n) y (gdb) info breakpoints No breakpoints or watchpoints. (gdb) file A program is being debugged already. Are you sure you want to change the file? (y or n) y No executable file now. Discard symbol table from `.../gdb/testsuite/outputs/gdb.base/step-over-no-symbols/step-over-no-symbols'? (y or n) y No symbol file now. (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: purging symbols p /x $pc $1 = 0x40084000 (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: get before PC break *$pc Breakpoint 2 at 0x40084000 (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: break *$pc set displaced-stepping off (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: set displaced-stepping off stepi Warning: Cannot insert breakpoint 2. Cannot access memory at address 0x40084000 Command aborted. (gdb) FAIL: gdb.base/step-over-no-symbols.exp: displaced=off: stepi p /x $pc $2 = 0x40084000 (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: get after PC FAIL: gdb.base/step-over-no-symbols.exp: displaced=off: advanced Remote debugging from host ... monitor exit (gdb) Killing process(es): ... testcase .../gdb/testsuite/gdb.base/step-over-no-symbols.exp completed in 2 seconds which shows that with the removal of the executable debugged the endianness of $pc still at `main' gets swapped and the value in that register is now incorrectly interpreted as 0x40084000 rather than 0x400840 as shown earlier on with the `break' command. Consequently the debug session no longer works as expected, until the endianness is overridden with an explicit `set endian little' command. This will happen while working with any target hardware whose endianness does not match the default GDB target's endianness guessed and recorded for a later use in `initialize_current_architecture'. Given that within a single run of GDB it is more likely that consecutive target connections will use the same endianness than that the endianness will be swapped between connections, it makes sense to preserve the last endianness explicitly selected as the automatic default. It will make a session like above, where an executable is removed, work correctly and will retain the endianness for a further reconnection to the target. And the new automatic default will still be overridden by subsequently choosing a binary to debug, or with an explicit `set endian' command. With the change in place the test case above completes successfully: (gdb) continue Continuing. Breakpoint 1, main () at .../gdb/testsuite/gdb.base/start.c:34 34 foo(); (gdb) delete breakpoints Delete all breakpoints? (y or n) y (gdb) info breakpoints No breakpoints or watchpoints. (gdb) file A program is being debugged already. Are you sure you want to change the file? (y or n) y No executable file now. Discard symbol table from `.../gdb/testsuite/outputs/gdb.base/step-over-no-symbols/step-over-no-symbols'? (y or n) y No symbol file now. (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: purging symbols p /x $pc warning: GDB can't find the start of the function at 0x400840. GDB is unable to find the start of the function at 0x400840 and thus can't determine the size of that function's stack frame. This means that GDB may be unable to access that stack frame, or the frames below it. This problem is most likely caused by an invalid program counter or stack pointer. However, if you think GDB should simply search farther back from 0x400840 for code which looks like the beginning of a function, you can increase the range of the search using the `set heuristic-fence-post' command. $1 = 0x400840 (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: get before PC break *$pc Breakpoint 2 at 0x400840 (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: break *$pc set displaced-stepping off (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: set displaced-stepping off stepi warning: GDB can't find the start of the function at 0x4007f8. 0x004007f8 in ?? () (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: stepi p /x $pc $2 = 0x4007f8 (gdb) PASS: gdb.base/step-over-no-symbols.exp: displaced=off: get after PC PASS: gdb.base/step-over-no-symbols.exp: displaced=off: advanced Remote debugging from host ... monitor exit (gdb) Killing process(es): ... testcase .../gdb/testsuite/gdb.base/step-over-no-symbols.exp completed in 2 seconds gdb/ * arch-utils.c (gdbarch_info_fill): Set `default_byte_order' to the endianness selected. * NEWS: Document `set endian auto' mode operation update. gdb/doc/ * gdb.texinfo (Choosing Target Byte Order): Document endianness selection details with the `set endian auto' mode. gdb/testsuite * gdb.base/endian.exp: New test. * gdb.base/endian.c: New test source.
2018-05-31Function for reading the Aarch64 SVE vector lengthAlan Hayward8-1/+169
Returns 0 for systems without SVE support. Note the defines taken from Linux kernel headers in aarch64-sve-linux-ptrace.h. gdb/ * Makefile.in: Add new header. * gdb/arch/aarch64.h (sve_vg_from_vl): New macro. (sve_vl_from_vg): Likewise. (sve_vq_from_vl): Likewise. (sve_vl_from_vq): Likewise. (sve_vq_from_vg): Likewise. (sve_vg_from_vq): Likewise. * configure.nat: Add new c file. * nat/aarch64-sve-linux-ptrace.c: New file. * nat/aarch64-sve-linux-ptrace.h: New file. gdbserver/ * configure.srv: Add new c/h file.
2018-05-31Add Aarch64 SVE target descriptionAlan Hayward11-18/+230
No code uses the new descriptions yet. gdb/ * aarch64-linux-nat.c (aarch64_linux_read_description): Add parmeter zero. * aarch64-linux-tdep.c (aarch64_linux_core_read_description): Likewise. * aarch64-tdep.c (tdesc_aarch64_list): Add. (aarch64_read_description): Use VQ to index tdesc_aarch64_list. (aarch64_gdbarch_init): Add parmeter zero. * aarch64-tdep.h (aarch64_read_description): Add VQ parmeter. * arch/aarch64.c (aarch64_create_target_description): Check VQ. * arch/aarch64.h (aarch64_create_target_description): Add VQ. parmeter. * doc/gdb.texinfo: Describe SVE feature * features/aarch64-sve.c: New file. gdbserver/ * linux-aarch64-tdesc.c (aarch64_linux_read_description): Add null VQ.
2018-05-31include: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>edlinger4-1/+32
include: * splay-tree.h (splay_tree_compare_strings, splay_tree_delete_pointers): Declare new utility functions. libiberty: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * splay-tree.c (splay_tree_compare_strings, splay_tree_delete_pointers): New utility functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260850 138bc75d-0d04-0410-961f-82ee72b054a4
2018-05-31Improve boostrap-ubsan config (PR bootstrap/64914).marxin2-1/+6
2018-05-10 Martin Liska <mliska@suse.cz> PR bootstrap/64914 * md5.c: Use strict alignment with UBSAN_BOOTSTRAP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@260112 138bc75d-0d04-0410-961f-82ee72b054a4
2018-05-31* argv.c (expandargv): Fix memory leak for expanded arguments.law2-0/+6
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259775 138bc75d-0d04-0410-961f-82ee72b054a4
2018-05-31Unset gdbarch significant_addr_bit by defaultOmair Javaid4-5/+14
This patch fixes a bug introduced by fix to AArch64 pointer tagging. In our fix for tagged pointer support our agreed approach was to sign extend user-space address after clearing tag bits. This is not same for all architectures and this patch allows sign extension for addresses on targets which specifically set significant_addr_bit. More information about patch that caused the issues and discussion around tagged pointer support can be found in links below: https://sourceware.org/ml/gdb-patches/2018-05/msg00000.html https://sourceware.org/ml/gdb-patches/2017-12/msg00159.html gdb/ChangeLog: 2018-05-31 Omair Javaid <omair.javaid@linaro.org> PR gdb/23210 * gdbarch.sh (significant_addr_bit): Default to zero when not set by target architecture. * gdbarch.c: Re-generated. * utils.c (address_significant): Update.
2018-05-31Run a few more binutils tests non-nativeAlan Modra3-19/+11
Setting CC_FOR_TARGET from the environment CC was just plain wrong, and no doubt the reason these tests were only run natively. * testsuite/binutils-all/compress.exp (test_gnu_debuglink): Don't set CC_FOR_TARGET. Run test non-native. * testsuite/binutils-all/objdump.exp (test_build_id_debuglink): Likewise. (test_follow_debuglink): Run test non-native.
2018-05-31Automatic date update in version.inGDB Administrator1-1/+1
2018-05-30(ARI) remove trailing newline in call to error in stack.c::func_commandJoel Brobecker2-1/+5
gdb/ChangeLog: * stack.c (func_command): Remove trailing newline in call to error.
2018-05-30Remove regcache_raw_collectSimon Marchi58-417/+354
Remove regcache_raw_collect, update callers to use regcache::raw_collect. gdb/ChangeLog: * regcache.h (regcache_raw_collect): Remove, update callers to use regcache::raw_collect. * regcache.c (regcache_raw_collect): Remove.
2018-05-30Remove regcache_raw_supplySimon Marchi88-659/+581
Remove regcache_raw_supply, update callers to use detached_regcache::raw_supply. gdb/ChangeLog: * regcache.h (regcache_raw_supply): Remove, update callers to use detached_regcache::raw_supply. * regcache.c (regcache_raw_supply): Remove.
2018-05-30Remove regcache_cooked_write_partSimon Marchi12-64/+47
Remove regcache_cooked_write_part, update callers to use regcache::cooked_write_part. gdb/ChangeLog: * regcache.h (regcache_cooked_write_part): Remove, update callers to use regcache::cooked_write_part. * regcache.c (regcache_cooked_write_part): Remove.
2018-05-30Remove regcache_cooked_read_partSimon Marchi11-39/+29
Remove regcache_cooked_read_part, update callers to use readable_regcache::cooked_read_part. gdb/ChangeLog: * regcache.h (regcache_cooked_read_part): Remove, update callers to use readable_regcache::cooked_read_part. * regcache.c (regcache_cooked_read_part): Remove.
2018-05-30Remove regcache_cooked_read_valueSimon Marchi4-13/+9
Remove regcache_cooked_read_value, update callers to use readable_regcache::cooked_read_value. gdb/ChangeLog: * regcache.h (regcache_cooked_read_value): Remove, update callers to use readable_regcache::cooked_read_value. * regcache.c (regcache_cooked_read_value): Remove.
2018-05-30Remove regcache_cooked_writeSimon Marchi36-310/+246
Remove regcache_cooked_write, update callers to use regcache::cooked_write. gdb/ChangeLog: * regcache.h (regcache_cooked_write): Remove, update callers to use regcache::cooked_write. * regcache.c (regcache_cooked_write): Remove.
2018-05-30Remove regcache_invalidateSimon Marchi5-13/+10
Remove regcache_invalidate, update callers to use detached_regcache::invalidate instead. gdb/ChangeLog: * regcache.h (regcache_invalidate): Remove, update callers to use detached_regcache::invalidate instead. * regcache.c (regcache_invalidate): Remove.
2018-05-30Remove regcache_raw_write_partSimon Marchi12-34/+26
Remove regcache_raw_write_part, update callers to use regcache::raw_write_part instead. gdb/ChangeLog: * regcache.h (regcache_raw_write_part): Remove, update callers to use regcache::raw_write_part instead. * regcache.c (regcache_raw_write_part): Remove.
2018-05-30Remove regcache_raw_read_partSimon Marchi7-15/+12
Remove regcache_raw_read_part, update callers to use readable_regcache::raw_read_part instead. gdb/ChangeLog: * regcache.h (regcache_raw_read_part): Remove, update callers to use readable_regcache::raw_read_part instead. * regcache.c (regcache_raw_read_part): Remove.
2018-05-30Remove regcache_cooked_readSimon Marchi31-143/+127
Remove regcache_cooked_read, update callers to use readable_regcache::cooked_read instead. gdb/ChangeLog: * regcache.h (regcache_cooked_read): Remove, update callers to use readable_regcache::cooked_read instead. * regcache.c (regcache_cooked_read): Remove.
2018-05-30Remove regcache_raw_writeSimon Marchi31-142/+113
Remove regcache_raw_write, update all callers to use regcache::raw_write instead. gdb/ChangeLog: * regcache.h (regcache_raw_write): Remove, update callers to use regcache::raw_write instead. * regcache.c (regcache_raw_write): Remove.
2018-05-30Remove regcache_raw_readSimon Marchi21-63/+61
Remove regcache_raw_read, update all callers to use readable_regcache::raw_read instead. gdb/ChangeLog: * regcache.h (regcache_raw_read): Remove, update callers to use readable_regcache::raw_read instead. * regcache.c (regcache_raw_read): Remove.
2018-05-30Remove regcache_raw_updateSimon Marchi4-13/+8
Remove regcache_raw_update, update callers to use readable_regcache::raw_update instead. gdb/ChangeLog: * regcache.h (regcache_raw_update): Remove, update callers to use readable_regcache::raw_update instead. * regcache.c (regcache_raw_update): Remove.
2018-05-30Remove regcache_register_statusSimon Marchi12-72/+58
Remove regcache_register_status, change callers to use reg_buffer::get_register_status directly. gdb/ChangeLog: * regcache.h (regcache_register_status): Remove, update callers to use reg_buffer::get_register_status directly instead. * regcache.c (regcache_register_status): Remove.
2018-05-30Remove regcache_get_ptidSimon Marchi50-139/+135
Remove regcache_get_ptid, change all callers to call the regcache method directly. gdb/ChangeLog: * regcache.h (regcache_get_ptid): Remove, update all callers to call regcache::ptid instead. * regcache.c (regcache_get_ptid): Remove.
2018-05-30Add option to ar's 't' command to display the offset of elements within the ↵Ant Bikeneev9-17/+64
archive. PR 23107 * ar.c (display_offsets): New variable. (usage): Add description of 'O' operator. (decode_option): Handle 'O' operator. (print_descr): Pass display_offsets to print_arelt_descr. * arsup.c: Update call to printy_arelt_descr. * objdump.c: Likewise. * bucomm.c (print_arelt_descr): If offsets parameter is true then display offset of archive element within the archive. * bucomm.h: Update prototype for print_arelt_descr. * doc/binutils.texi: Update description of ar command. * NEWS: Mention the new feature. * testsuite/binutils-all/ar.exp: Add text of new feature.
2018-05-30Add or1k target to --enable-targets=allSimon Marchi2-0/+5
The or1k-tdep.o object is missing from the ALL_TARGET_OBS, which means it's not currently included in an --enable-targets=all build. gdb/ChangeLog: * Makefile.in (ALL_TARGET_OBS): Add or1k-tdep.o.
2018-05-302018-05-30 Amaan Cheval <amaan.cheval@gmail.com>Amaan Cheval2-0/+9
* config.bfd (x86_64-*-*): Add pei-x86-64 target to x86_64-*-rtems* This is needed to generate UEFI application image files from ELFs.
2018-05-30Mark END_CATCH as ATTRIBUTE_NORETURN (-Wmaybe-uninitialized warnings)Pedro Alves2-1/+6
This commit fixes a set of -Wmaybe-uninitialized warnings in GDB and GDBserver, seen with GCC 7.3.1 on F27 at -O2. Specifically, all of these: src/gdb/breakpoint.c:5040:4: warning: ‘e’ may be used uninitialized in this function [-Wmaybe-uninitialized] src/gdb/cli/cli-cmds.c:277:71: warning: ‘tracker’ may be used uninitialized in this function [-Wmaybe-uninitialized] src/gdb/cli/cli-cmds.c:302:22: warning: ‘word’ may be used uninitialized in this function [-Wmaybe-uninitialized] src/gdb/gdbserver/server.c:1895:7: warning: ‘result’ may be used uninitialized in this function [-Wmaybe-uninitialized] src/gdb/gdbserver/server.c:1966:7: warning: ‘result’ may be used uninitialized in this function [-Wmaybe-uninitialized] For example, looking at one of the gdbserver ones in more detail: ../../../src/gdb/gdbserver/server.c: In function ‘int handle_qxfer_btrace_conf(const char*, gdb_byte*, const gdb_byte*, ULONGEST, LONGEST)’: ../../../src/gdb/gdbserver/server.c:1966:7: warning: ‘result’ may be used uninitialized in this function [-Wmaybe-uninitialized] if (result != 0) ^~ In this case (like the others), the 'result' variable is assigned in both TRY and CATCH blocks: TRY { result = target_read_btrace_conf (thread->btrace, &cache); if (result != 0) memcpy (own_buf, cache.buffer, cache.used_size); } CATCH (exception, RETURN_MASK_ERROR) { sprintf (own_buf, "E.%s", exception.message); result = -1; } END_CATCH if (result != 0) return -3; so it would seem like the warning is bogus. However, END_CATCH is really a catch block in disguise, and that path indeed does not initialize the variable: #define END_CATCH \ catch (...) \ { \ exception_rethrow (); \ } \ } exception_rethrow does not return normally (it rethrows the current exception after running cleanups), but the compiler can not see that. If it could return normally, then indeed 'result' could be used uninitialized if the TRY block threw some non-gdb exception, which would be caught by END_CATCH. The fix it to let the compiler know that the exception_rethrow does not return normally, using ATTRIBUTE_NORETURN. gdb/ChangeLog: 2018-05-30 Pedro Alves <palves@redhat.com> * common/common-exceptions.h (exception_rethrow): Use ATTRIBUTE_NORETURN.
2018-05-30Add znver2 support.Amit Pawar15-36/+169
gas/ * config/tc-i386.c (cpu_flag_init): Add CPU_ZNVER2_FLAGS. * doc/c-i386.texi : Document znver2. * gas/testsuite/gas/i386/arch-13.s: Updated for znver2. * gas/testsuite/gas/i386/arch-13.d: Updated. * gas/testsuite/gas/i386/arch-13-znver1.d: Updated. * gas/testsuite/gas/i386/arch-13-znver2.d: New file. * gas/testsuite/gas/i386/x86-64-arch-3.s: Updated for znver2. * gas/testsuite/gas/i386/x86-64-arch-3.d: Updated. * gas/testsuite/gas/i386/x86-64-arch-3-znver1.d: Updated. * gas/testsuite/gas/i386/x86-64-arch-3-znver2.d: New file. * gas/testsuite/gas/i386/i386.exp: Updated for new test. opcode/ * i386-gen.c (cpu_flag_init): Add CPU_ZNVER2_FLAGS. * i386-init.h : Regenerated.
2018-05-29Remove "struct" keyword in range-based for loopsSimon Marchi7-10/+22
I get this kind of errors with GCC 6.3.0: /home/simark/src/binutils-gdb/gdb/breakpoint.c: In function 'void print_solib_event(int)': /home/simark/src/binutils-gdb/gdb/breakpoint.c:4618:12: error: types may not be defined in a for-range-declaration [-Werror] for (struct so_list *iter : current_program_space->added_solibs) ^~~~~~ Removing the struct keyword makes it happy. gdb/ChangeLog: * breakpoint.c (print_solib_event, check_status_catch_solib): Remove struct keyword in range-based for loops. * dbxread.c (find_corresponding_bincl_psymtab): Likewise. * dwarf2read.c (compute_delayed_physnames, rust_union_quirks); Likewise. * linespec.c (find_superclass_methods, search_minsyms_for_name): Likewise. * symfile.c (addr_info_make_relative): Likewise. * thread.c (value_in_thread_stack_temporaries): Likewise.
2018-05-30Automatic date update in version.inGDB Administrator1-1/+1