aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-01-22gdb: xtensa: fix on 64-bit hostsBaruch Siach2-1/+5
On 64-bit hosts unsigned long is 64 bit. Use uint32_t instead. gdb/ 2014-01-22 Baruch Siach <baruch@tkos.co.il> * xtensa-tdep.h (xtensa_elf_greg_t): Change type to uint32_t.
2014-01-22xtensa-config.c: missing defs.h include.Pedro Alves2-0/+6
All .c files must start by including defs.h. 2014-01-22 Pedro Alves <palves@redhat.com> * xtensa-config.c: Include defs.h.
2014-01-22Display the reference causing a shared library to be neededAlan Modra7-2/+89
Adds a section for --as-needed libraries to a linker map file, similar to what we do for archive libraries. bfd/ * elflink.c (elf_link_add_object_symbols): Call minfo for --as-needed. ld/ * ldlang.c (asneeded_list_head, asneeded_list_tail): New vars. (lang_init): Initialise them. (lang_print_asneeded): New function. (lang_process): Call lang_print_asneeded. * ldlang.h (struct asneeded_minfo): New. (asneeded_list_tail): Declare. * ldmain.c (add_archive_element): Improve archive map heading. * ldmisc.c (minfo): Stash --as-needed info.
2014-01-22Fix gas build breakageAlan Modra2-1/+5
* config/tc-tic4x.c (md_shortopts): s/CONST/const/.
2014-01-22Comment typoAlan Modra2-1/+5
* elf64-ppc.c (STK_LINKER): Comment typo fix.
2014-01-22Add ARI (ok) marker for __func__ reference in common-utils.hJoel Brobecker2-1/+6
The ARI script flagged the use of the __func__ variable, which is normally not allowed (not defined in C90). However, this particular use is OK, as the reference is only made when __STDC_VERSION__ >= 199901L. So, add an "ARI:" comment to explicitly OK this use. gdb/ChangeLog: * common/common-utils.h: Add "ARI:" comment beside __func__ reference.
2014-01-22Expand documentation of common-utils.h::FUNCTION_NAMEJoel Brobecker2-1/+11
While looking at this macro, I noticed that it wasn't always necessarily defined. That prompted me to search the current sources to make sure that all uses were adequately protected, which they were. But to help prevent future uses to be made unprotected, this patch expands the current macro documentation a bit. gdb/ChangeLog: * common/common-utils.h (FUNCTION_NAME): Expand the macro's documentation a bit.
2014-01-22Miscellaneous ld tidiesAlan Modra6-7/+18
Localise a struct, prevent an unneeded symbol lookup, and fix a testcase. ld/ * ld.h (struct map_symbol_def): Move to.. * ldlang.h: ..here. * ldlang.c (print_assignment): Don't set expld.assign_name to dot. ld/testsuite/ * ld-scripts/pr14962-2.d: Correct target triple.
2014-01-22Make assignments to dot keep an empty output section.Alan Modra19-38/+157
An assignment to dot in an output section that allocates space of course keeps the output section. Here, I'm changing the behaviour for assignments that don't allocate space. The idea is not so much to allow people to force output of an empty section with ". = .", but to fix cases where an otherwise empty section has padding added by an alignment expression that changes with relaxation or .eh_frame editing. Such a section might have zero size before relaxation and so be stripped incorrectly. ld/ * ld.texinfo (Output Section Discarding): Mention assigning to dot as a way of keeping otherwise empty sections. * ldexp.c (is_dot, is_value, is_sym_value, is_dot_ne_0, is_dot_plus_0, is_align_conditional): New predicates. (exp_fold_tree_1): Set SEC_KEEP when assigning to dot inside an output section, except for some special cases. * scripttempl/elfmicroblaze.sc: Use canonical form to align at end of .heap and .stack. ld/testsuite/ * ld-shared/elf-offset.ld: Align end of .bss with canonical form of ALIGN that allows an empty .bss to be removed. * ld-arm/arm-dyn.ld: Likewise. * ld-arm/arm-lib.ld: Likewise. * ld-elfvsb/elf-offset.ld: Likewise. * ld-mips-elf/mips-dyn.ld: Likewise. * ld-mips-elf/mips-lib.ld: Likewise. * ld-arm/arm-no-rel-plt.ld: Remove duplicate ALIGN. * ld-powerpc/vle-multiseg-1.ld: Remove ALIGN at start of section. ALIGN address of section instead. * ld-powerpc/vle-multiseg-2.ld: Likewise. * ld-powerpc/vle-multiseg-3.ld: Likewise. * ld-powerpc/vle-multiseg-4.ld: Likewise. * ld-powerpc/vle-multiseg-6.ld: Likewise. * ld-scripts/empty-aligned.d: Check section headers not program headers. Remove xfail and notarget. * ld-scripts/empty-aligned.t: Use canonical ALIGN for end of .text2.
2014-01-21Check incompatible existing default symbol definitionH.J. Lu11-5/+106
After resolving a versioned reference, foo@VER1, to a default versioned definition, foo@@VER1, from a shared object, we also merge it with the existing regular default symbol definition, foo. When foo is IFUNC and foo@@VER1 aren't, we will merge 2 incompatible definitions. This patch avoids merging foo@@VER1 definition with foo definition if one is IFUNC and the other isn't.
2014-01-22daily updateAlan Modra1-1/+1
2014-01-21Ensure that %func() expressions are outermost termsDJ Delorie2-1/+42
This is to avoid expressions like: %hi(foo) + 1, which will not do what you expect. The complex relocations can handle it, but the internal fixups can't.
2014-01-21gdb: Support install-strip targetRoland McGrath5-16/+259
gdb/ * configure.ac: Call AM_PROG_INSTALL_STRIP. * configure: Regenerate. * aclocal.m4: Regenerate. * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM, STRIP): New substituted variables. (install-strip): New target. (INSTALL_SCRIPT): New substituted variable. (FLAGS_TO_PASS): Add it. (install-only): Use $(INSTALL_SCRIPT) rather than $(INSTALL_PROGRAM) for gcore.
2014-01-21[PATCH] include * ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, ↵tromey10-191/+62
PARAMS) (VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST) (VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS) (NOARGS): Don't define. * libiberty.h (expandargv, writeargv): Don't use PARAMS. libiberty * _doprint.c (checkit): Use stdarg, not VA_* macros. * asprintf.c (asprintf): Use stdarg, not VA_* macros. * concat.c (concat_length, concat_copy, concat_copy2, concat) (reconcat): Use stdarg, not VA_* macros. * snprintf.c (snprintf): Use stdarg, not VA_* macros. * vasprintf.c (checkit): Use stdarg, not VA_* macros. * vsnprintf.c (checkit): Use stdarg, not VA_* macros. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206881 138bc75d-0d04-0410-961f-82ee72b054a4
2014-01-21Update comments for the last commitH.J. Lu1-2/+1
2014-01-21Don't check shared/export_dynamic/ref_dynamic for type mismatchH.J. Lu4-3/+38
There is nothing linker can do when a type mismatched default definition are made dynamic by info->shared, info->export_dynamic or h->ref_dynamic. But we do want to avoid exporting it when building PIE. Let's remove those checks. bfd/ PR ld/2404 * elflink.c (_bfd_elf_merge_symbol): Don't check info->shared, info->export_dynamic, nor !h->ref_dynamic for type mismatch when adding the default version. ld/testsuite/ PR ld/2404 * ld-elf/shared.exp: Add a PIE test for PR ld/2404.
2014-01-21daily updateAlan Modra1-1/+1
2014-01-20[AArch64] Define LP64 BE linker name.Marcus Shawcroft2-0/+5
2014-01-20[AArch64] Define LP64 LE loader name.Marcus Shawcroft2-0/+6
2014-01-20better packing for command structTom Tromey2-48/+53
This moves all the bitfields in struct cmd_list_element to be closer together. This packs the structure somewhat better. On a 64 bit machine, this simple rearrangement saves around 50k at startup. 2014-01-20 Tom Tromey <tromey@redhat.com> * cli/cli-decode.h (struct cmd_list_element): Move all bitfields together.
2014-01-20convert flags to bitfieldsTom Tromey5-61/+85
This changes various flags struct cmd_list_element into bitfields. In general I think bitfields are cleaner than flag words, at least in a case like this where there is no need to pass the flags around independently of the enclosing struct. 2014-01-20 Tom Tromey <tromey@redhat.com> * cli/cli-decode.c (add_cmd, deprecate_cmd, add_alias_cmd) (add_setshow_cmd_full, delete_cmd, lookup_cmd_1) (deprecated_cmd_warning, complete_on_cmdlist): Update. * cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER) (MALLOCED_REPLACEMENT, DOC_ALLOCATED): Remove. (struct cmd_list_element) <flags>: Remove. <cmd_deprecated, deprecated_warn_user, malloced_replacement, doc_allocated>: New fields. <hook_in, allow_unknown, abbrev_flag, type, var_type>: Now bitfields. * maint.c (maintenance_do_deprecate): Update. * top.c (execute_command): Update.
2014-01-20Add a testcase for PR ld/2404H.J. Lu5-0/+55
PR ld/2404 was fixed without a testcase. This patch to add one. PR ld/2404 * ld-elf/pr2404.out: New file. * ld-elf/pr2404a.c: Likewise. * ld-elf/pr2404b.c: Likewise. * ld-elf/shared.exp (build_tests): Build libpr2404a.so and libpr2404b.a. (run_tests): Run pr2404.
2014-01-20gdb: xtensa: fix linux ptrace includesBaruch Siach4-1/+11
Currently, xtensa code using the Linux ptrace interface only include sys/ptrace.h. This file comes from the C library (glibc and uClibc, at least), and includes a declaration of the ptrace() functions, along with some cross architecture constants that are mostly copied from the file located at include/uapi/linux/ptrace.h in recent Linux kernels. For xtensa specific constants like PTRACE_GETXTREGS and PTRACE_SETXTREGS the asm/ptrace.h include from the Linux kernel UAPI is needed. The code in gdbserver xtensa specific part doesn't call ptrace() directly, so we can remove the unneeded sys/ptrace.h include. The gdb xtensa specific code needs both headers, since it calls ptrace(). gdb/ * xtensa-linux-nat.c: Include asm/ptrace.h. gdb/gdbserver/ * linux-xtensa-low.c: Include asm/ptrace.h instead of sys/ptrace.h.
2014-01-20Allow self-assignment for absolute symbols defined in a linker scriptAlan Modra8-60/+98
Modifies ld machinery tracking linker script assignments to notice all assignments, not just those symbols mentioned in DEFINED(). ld/ PR ld/14962 * ldlang.h (struct lang_definedness_hash_entry): Add by_object and by_script. Make iteration a single bit field. (lang_track_definedness, lang_symbol_definition_iteration): Delete. (lang_symbol_defined): Declare. * ldlang.c (lang_statement_iteration): Expand comment a little. (lang_init <lang_definedness_table>): Make it bigger. (lang_track_definedness, lang_symbol_definition): Delete. (lang_definedness_newfunc): Update. (lang_symbol_defined): New function. (lang_update_definedness): Create entries here. Do track whether script definition of symbol is valid, even when also defined in an object file. * ldexp.c (fold_name <DEFINED>): Update. (fold_name <NAME>): Allow self-assignment for absolute symbols defined in a linker script. ld/testsuite/ * ld-scripts/pr14962-2.d, * ld-scripts/pr14962-2.t: New test. * ld-scripts/expr.exp: Run it.
2014-01-20Fix duplicate output section statement lookupGuy Martin12-25/+43
Tie output section statements to their associated output section via output section userdata. This allows us to avoid hash lookups which are slower and fail when multiple output sections have the same name. * ldlang.h (lang_output_section_get): Define. * ldlang.c (lang_output_section_get): Likewise. (init_os): Set the output_section userdata to the output section statement. * emultempl/hppaelf.em: Use lang_output_section_get instead of lang_output_section_find where applicable. * emultempl/aarch64elf.em: Likewise. * emultempl/aix.em: Likewise. * emultempl/armelf.em: Likewise. * emultempl/m68hc1xelf.em: Likewise. * emultempl/metagelf.em: Likewise. * emultempl/mipself.em: Likewise. * emultempl/ppc64elf.em: Likewise. * emultempl/spuelf.em: Likewise.
2014-01-20daily updateAlan Modra1-1/+1
2014-01-18Move D demangling routines out of d-lang.c and into d-support.c, whichIain Buclaw5-598/+637
is intended to house other D language support functions. gdb/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * Makefile.in (SFILES): Add d-support.c. (COMMON_OBS): Add d-support.o. * d-lang.h (d_parse_symbol): Add comment, now defined in d-support.c. * d-lang.c (parse_call_convention) (parse_attributes, parse_function_types) (parse_function_args, parse_type, parse_identifier) (call_convention_p, d_parse_symbol): Move functions to ... * d-support.c: ... New file.
2014-01-18Fix and update D demangling support in gdb to the current mangling ABI.Iain Buclaw5-137/+821
gdb/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * d-lang.h (d_parse_symbol): Add declaration. * d-lang.c (extract_identifiers) (extract_type_info): Remove functions. (parse_call_convention, parse_attributes) (parse_function_types, parse_function_args) (parse_type, parse_identifier, call_convention_p) (d_parse_symbol): New functions. (d_demangle): Use d_parse_symbol to demangle D symbols. gdb/testsuite/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * gdb.dlang/demangle.exp: New file.
2014-01-18Define all basic data types of D and add them to the primitive typeIain Buclaw5-1/+302
language vector. gdb/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * d-lang.h (struct builtin_d_type): New data type. (builtin_d_type): Add declaration. * d-lang.c (d_language_arch_info, build_d_types) (builtin_d_type): New functions. (enum d_primitive_types): New data type. (d_language_defn): Change c_language_arch_info to d_language_arch_info. (d_type_data): New static variable. (_initialize_d_language): Initialize d_type_data. gdb/testsuite/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * gdb.dlang/primitive-types.exp: New file.
2014-01-18Add d_main_name to set the logical entry point for D programs.Iain Buclaw4-0/+38
gdb/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * d-lang.h (d_main_name): Add declaration. * d-lang.c (d_main_name): New function. * symtab.c (find_main_name): Add call to d_main_name.
2014-01-18Update d_language_defn to reflect that D does not have any style ofIain Buclaw2-1/+6
macro expansion in its language. gdb/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * d-lang.c (d_language_defn): Change macro_expansion_c to macro_expansion_no.
2014-01-18Add gdb.dlang to the gdb testsuite for the purpose of creating DIain Buclaw7-3/+69
specific tests. gdb/testsuite/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * configure.ac: Create gdb.dlang/Makefile. * configure: Regenerate. * Makefile.in (ALL_SUBDIRS): Add gdb.dlang. * gdb.dlang/Makefile.in: New file. * lib/d-support.exp: New file. * lib/gdb.exp (skip_d_tests): New proc.
2014-01-18Add myself as a write-after-approval gdb maintainer.Iain Buclaw2-0/+5
gdb/ChangeLog: 2014-01-17 Iain Buclaw <ibuclaw@gdcproject.org> * MAINTAINERS: Add myself as a write-after-approval maintainer.
2014-01-18daily updateAlan Modra1-1/+1
2014-01-17Add "volatile" keyword to "struct gdb_exception" declarationSergio Durigan Junior3-2/+8
While doing something else, I found that those 2 places were incorrectly declaring a "struct gdb_exception" without using the "volatile" keyword. This commit fixes that. 2014-01-17 Sergio Durigan Junior <sergiodj@redhat.com> * breakpoint.c (insert_bp_location): Add "volatile" keyword to "struct gdb_exception" declaration. * remote.c (getpkt_or_notif_sane): Likewise.
2014-01-17Add delim_string_to_char_ptr_vec.Doug Evans3-17/+53
* common/gdb_vecs.c (delim_string_to_char_ptr_vec_append): New function, contents of dirnames_to_char_ptr_vec_append moved here. (delim_string_to_char_ptr_vec): New function. (dirnames_to_char_ptr_vec_append): Rewrite. * common/gdb_vecs.h (delim_string_to_char_ptr_vec): Declare.
2014-01-17Move ASSERT_FUNCTION to FUNCTION_NAME.Doug Evans5-22/+35
* common/common-utils.h (FUNCTION_NAME): Renamed from ASSERT_FUNCTION, and moved here ... * common/gdb_assert.h (ASSERT_FUNCTION): ... from here. #include "common-utils.h". (gdb_assert, gdb_assert_fail, gdb_assert_not_reached): Update. * common/vec.h (VEC_ASSERT_PASS): Update. * darwin-nat.h: Replace #include of gdb_assert.h with common-utils.h. (MACH_CHECK_ERROR): Update.
2014-01-17Fix PR mention in gdb/gdbserver/ChangeLog's previous change.Pedro Alves1-1/+1
2014-01-17gas: ARM: Fix encoding of VCVTr.s32.f64 instructionsWill Newton4-5/+14
The direct rounding floating-point VCVT instructions introduced in ARMv8 encode the s32.f64 variant incorrectly. The op bit should be set to 1 for all signed conversions. gas/ChangeLog: 2014-01-17 Will Newton <will.newton@linaro.org> * config/tc-arm.c (do_vfp_nsyn_cvt_fpv8): Set OP to 1 for the s32.f64 flavours of VCVT. gas/testsuite/ChangeLog: 2014-01-17 Will Newton <will.newton@linaro.org> * gas/arm/armv8-a+fp.d: Correct encoding of vcvta.s32.f64.
2014-01-17Fix silly ChangeLog entry in previous change.Pedro Alves1-2/+2
2014-01-17Fix PR PR16445 - gdbserver build failure on x86.Pedro Alves2-1/+12
If gdb_proc_service.h ends up including linux/elf.h, we'll trip on duplicate definitions: In file included from ../../../gdb/gdbserver/linux-x86-low.c:29:0: ../../../gdb/gdbserver/../../include/elf/common.h:36:0: error: "ELFMAG0" redefined [-Werror] ... etc ... Handle this the same way linux-low.c and linux-arm-low.c handle this. gdb/gdbserver/ 2014-01-17 Pedro Alves <palves@redhat.com> PR PR16445 * linux-x86-low.c (linux-x86-low.c): Don't include elf/common.h if ELFMAG0 is defined after including gdb_proc_service.h.
2014-01-17Add comments to gdbarch_address_class_name_to_type_flags.Simon Marchi3-0/+14
gdb/ChangeLog 2014-01-17 Simon Marchi <simon.marchi@ericsson.com> * gdbarch.sh (gdbarch_address_class_name_to_type_flags): Add comments. * gdbarch.h: Regenerate.
2014-01-17Allow ld target customiser script to force on disk scripts.Alan Modra16-22/+38
Mucking with EMULATION_LIBPATH has unwanted side effects. Allow nds32 emulparams scripts to disable compiled-in scripts naturally, by setting COMPILE_IN=no. * genscripts.sh (COMPILE_IN): Don't set if already set. * emulparams/nds32elf.sh: Don't clear EMULATION_LIBPATH, set COMPILE_IN=no. * emulparams/nds32elf16m.sh: Likewise. * emulparams/nds32elf_linux.sh: Likewise. * emultempl/aix.em: Test COMPILE_IN value is "yes". * emultempl/armcoff.em: Likewise. * emultempl/elf32.em: Likewise. * emultempl/generic.em: Likewise. * emultempl/gld960.em: Likewise. * emultempl/gld960c.em: Likewise. * emultempl/linux.em: Likewise. * emultempl/lnk960.em: Likewise. * emultempl/m68kcoff.em: Likewise. * emultempl/sunos.em: Likewise. * emultempl/ticoff.em: Likewise.
2014-01-16 * dll.c (UNSPECIFIED_CORE_ADDR): New macro.Doug Evans2-1/+9
(match_dll): Use it.
2014-01-17daily updateAlan Modra1-1/+1
2014-01-16rearrange struct value to save memoryTom Tromey2-3/+7
This patch rearranges struct value a tiny bit, moving the "regnum" field into a hole. This saves 8 bytes per value on a 64-bit machine, and 4 bytes per value on a 32 bit machine. I think it does not negatively affect readability or performance. Built and regtested on x86-64 Fedora 18. 2014-01-16 Tom Tromey <tromey@redhat.com> * value.c (struct value) <regnum>: Move earlier.
2014-01-16remove extended_remote_create_inferior_1Tom Tromey2-10/+9
I noticed that extended_remote_create_inferior_1 is called from a single spot. This patch unifies the callee and caller. It's just a simple cleanup that made the coming refactoring simpler. 2014-01-16 Tom Tromey <tromey@redhat.com> * remote.c (extended_remote_create_inferior): Rename from extended_remote_create_inferior_1. Add "ops" argument. Remove old implementation.
2014-01-16Fix gdb.trace/mi-traceframe-changed.exp on s390.Pedro Alves2-4/+17
The test fails on s390 with: -trace-find frame-number 0^M &"PC not available\n"^M ^done,found="1",tracepoint="1",traceframe="0",frame={level="-1",addr="<unavailable>",func="??",args=[]}^M (gdb) ^M FAIL: gdb.trace/mi-traceframe-changed.exp: tfile: -trace-find frame-number 0 tfile knows to infer the PC from the tracepoint's address if the PC wasn't collected (tfile_fetch_registers) but, that only works on targets whose PC register is a raw register, and on s390, the PC register is a pseudo register. But even if GDB doesn't know how to infer the value of PC, saying the current frame is level -1 is a bug: ^done,found="1",tracepoint="1",traceframe="0",frame={level="-1",addr="<unavailable>",func="??",args=[]}^M ^^^^^^^^^ '-1' is the level of the sentinel frame, which should never be visible. This is caused by the s390's heuristic unwinder accepting the frame (the fallback heuristic unwinders _always_ accept the frame), but then the unwind->this_id method throws that "PC not available\n" error. IOW, the s390's heuristic unwinder was never adjusted to handle unavailable register values gracefully, which can happen with e.g., a trimmed core file too. This is just the minimal necessary for <unavailable> frames, which at least gets us: (gdb) tfind Found trace frame 0, tracepoint 1 #0 <unavailable> in ?? () That is, frame #0 instead of -1. We could get better info out of "info frame" (this patch makes us show "outermost"), but this change would still be necessary. gdb/ 2014-01-16 Pedro Alves <palves@redhat.com> * s390-linux-tdep.c (s390_frame_unwind_cache): Swallow NOT_AVAILABLE_ERROR errors while parsing the prologue or reading the backchain.
2014-01-16dwarf2read.c (open_and_init_dwp_file): Fix typo in comment.Doug Evans2-1/+5
2014-01-16record-btrace: add (reverse-)stepping supportMarkus Metzger22-42/+1279
Provide to_resume and to_wait target methods for the btrace record target to allow reverse stepping and replay support. Replay is limited in the sense that only stepping and source correlation are supported. We do not record data and thus can not show variables. Non-stop mode is not working. Do not allow record-btrace in non-stop mode. 2014-01-16 Markus Metzger <markus.t.metzger@intel.com> * btrace.h (btrace_thread_flag): New. (struct btrace_thread_info) <flags>: New. * record-btrace.c (record_btrace_resume_thread) (record_btrace_find_thread_to_move, btrace_step_no_history) (btrace_step_stopped, record_btrace_start_replaying) (record_btrace_step_thread, record_btrace_decr_pc_after_break) (record_btrace_find_resume_thread): New. (record_btrace_resume, record_btrace_wait): Extend. (record_btrace_can_execute_reverse): New. (record_btrace_open): Fail in non-stop mode. (record_btrace_set_replay): Split into this, ... (record_btrace_stop_replaying): ... this, ... (record_btrace_clear_histories): ... and this. (init_record_btrace_ops): Init to_can_execute_reverse. * NEWS: Announce it. testsuite/ * gdb.btrace/delta.exp: Check reverse stepi. * gdb.btrace/tailcall.exp: Update. Add stepping tests. * gdb.btrace/finish.exp: New. * gdb.btrace/next.exp: New. * gdb.btrace/nexti.exp: New. * gdb.btrace/record_goto.c: Add comments. * gdb.btrace/step.exp: New. * gdb.btrace/stepi.exp: New. * gdb.btrace/multi-thread-step.c: New. * gdb.btrace/multi-thread-step.exp: New. * gdb.btrace/rn-dl-bind.c: New. * gdb.btrace/rn-dl-bind.exp: New. * gdb.btrace/data.c: New. * gdb.btrace/data.exp: New. * gdb.btrace/Makefile.in (EXECUTABLES): Add new. doc/ * gdb.texinfo: Document limited reverse/replay support for target record-btrace.