aboutsummaryrefslogtreecommitdiff
path: root/libctf
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2019-06-28 22:11:14 +0100
committerNick Alcock <nick.alcock@oracle.com>2019-07-01 11:05:59 +0100
commitf57cf0e3e357255959d00626bce5c21396e23212 (patch)
tree0e2f81c002a172e629089f52ac07364c76c99d65 /libctf
parentf5e9c9bde04ae52b92027b78c9ca20055f1afb78 (diff)
downloadgdb-f57cf0e3e357255959d00626bce5c21396e23212.zip
gdb-f57cf0e3e357255959d00626bce5c21396e23212.tar.gz
gdb-f57cf0e3e357255959d00626bce5c21396e23212.tar.bz2
libctf: fix spurious error when rolling back to the first snapshot
The first ctf_snapshot called after CTF file creation yields a snapshot handle that always yields a spurious ECTF_OVERROLLBACK error ("Attempt to roll back past a ctf_update") on ctf_rollback(), even if ctf_update has never been called. The fix is to start with a ctf_snapshot value higher than the zero value that ctf_snapshot_lu ("last update CTF snapshot value") is initialized to. libctf/ * ctf-create.c (ctf_create): Fix off-by-one error.
Diffstat (limited to 'libctf')
-rw-r--r--libctf/ChangeLog4
-rw-r--r--libctf/ctf-create.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog
index d07d5dc..1770f99 100644
--- a/libctf/ChangeLog
+++ b/libctf/ChangeLog
@@ -1,5 +1,9 @@
2019-06-28 Nick Alcock <nick.alcock@oracle.com>
+ * ctf-create.c (ctf_create): Fix off-by-one error.
+
+2019-06-28 Nick Alcock <nick.alcock@oracle.com>
+
* ctf-impl.h: (struct ctf_strs_writable): New, non-const version of
struct ctf_strs.
(struct ctf_dtdef): Note that dtd_data.ctt_name is unpopulated.
diff --git a/libctf/ctf-create.c b/libctf/ctf-create.c
index 6ab0cf3..24ea114 100644
--- a/libctf/ctf-create.c
+++ b/libctf/ctf-create.c
@@ -82,7 +82,7 @@ ctf_create (int *errp)
fp->ctf_dvhash = dvhash;
fp->ctf_dtnextid = 1;
fp->ctf_dtoldid = 0;
- fp->ctf_snapshots = 0;
+ fp->ctf_snapshots = 1;
fp->ctf_snapshot_lu = 0;
return fp;