diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2019-06-28 22:11:14 +0100 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2019-07-01 11:05:59 +0100 |
commit | f57cf0e3e357255959d00626bce5c21396e23212 (patch) | |
tree | 0e2f81c002a172e629089f52ac07364c76c99d65 /libctf | |
parent | f5e9c9bde04ae52b92027b78c9ca20055f1afb78 (diff) | |
download | gdb-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/ChangeLog | 4 | ||||
-rw-r--r-- | libctf/ctf-create.c | 2 |
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; |