gdb.trace: Fix off-by-one in tfile_fetch_registers.

This resulted in the last register being considered unavailable.
On plain x86_64 (without AVX), this happened to be orig_rax.

gdb/ChangeLog:

	* tracefile-tfile.c (tfile_fetch_registers): Fix off-by-one in bounds
	check.
This commit is contained in:
Marcin Kościelnicki 2016-02-06 16:30:01 +01:00
parent 4670103e86
commit 473b99e572
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2016-02-10 Marcin Kościelnicki <koriakin@0x04.net>
* tracefile-tfile.c (tfile_fetch_registers): Fix off-by-one in bounds
check.
2016-02-10 Joel Brobecker <brobecker@adacore.com>
* NEWS: Create a new section for the next release branch.

View File

@ -816,7 +816,7 @@ tfile_fetch_registers (struct target_ops *ops,
{
regsize = register_size (gdbarch, regn);
/* Make sure we stay within block bounds. */
if (offset + regsize >= trace_regblock_size)
if (offset + regsize > trace_regblock_size)
break;
if (regcache_register_status (regcache, regn) == REG_UNKNOWN)
{