summaryrefslogtreecommitdiff
path: root/libctf/ChangeLog
diff options
context:
space:
mode:
authorNick Alcock <nick.alcock@oracle.com>2021-03-18 12:37:52 +0000
committerNick Alcock <nick.alcock@oracle.com>2021-03-18 12:40:40 +0000
commit2a05d50e90c2c8219dd4119788548f64a934190e (patch)
treec0bc0bfd7d5b19dd1a0524af7a25bd16e17907a3 /libctf/ChangeLog
parent755ba58ebef02e1be9fc6770d00243ba6ed0223c (diff)
downloadbinutils-gdb-2a05d50e90c2c8219dd4119788548f64a934190e.tar.gz
libctf: don't lose track of all valid types upon serialization
One pattern which is rarely done in libctf but which is meant to work is this: ctf_create(); ctf_add_*(); // add stuff ctf_type_*() // look stuff up ctf_write_*(); ctf_add_*(); // should still work ctf_type_*() // so should this ctf_write_*(); // and this i.e., writing out a dict should not break it and you should be able to do everything you could do with it before, including writing it out again. Unfortunately this has been broken for a while because the field which indicates the maximum valid type ID was not preserved across serialization: so type additions after serialization would overwrite types (obviously disastrous) and type lookups would just fail. Fix trivial. libctf/ChangeLog 2021-03-18 Nick Alcock <nick.alcock@oracle.com> * ctf-serialize.c (ctf_serialize): Preserve ctf_typemax across serialization.
Diffstat (limited to 'libctf/ChangeLog')
-rw-r--r--libctf/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog
index 3eff44c146a..c27464110fc 100644
--- a/libctf/ChangeLog
+++ b/libctf/ChangeLog
@@ -1,5 +1,10 @@
2021-03-18 Nick Alcock <nick.alcock@oracle.com>
+ * ctf-serialize.c (ctf_serialize): Preserve ctf_typemax across
+ serialization.
+
+2021-03-18 Nick Alcock <nick.alcock@oracle.com>
+
* ctf-impl.h (ctf_dtdef_t) <dtd_u.dtu_argv>: Remove.
* ctf-create.c (ctf_dtd_delete): No longer free it.
(ctf_add_function): Use the dtd_vlen, not dtu_argv. Properly align.