diff options
author | Nick Alcock <nick.alcock@oracle.com> | 2021-03-18 12:37:52 +0000 |
---|---|---|
committer | Nick Alcock <nick.alcock@oracle.com> | 2021-03-18 12:40:40 +0000 |
commit | 2a05d50e90c2c8219dd4119788548f64a934190e (patch) | |
tree | c0bc0bfd7d5b19dd1a0524af7a25bd16e17907a3 /binutils/prdbg.c | |
parent | 755ba58ebef02e1be9fc6770d00243ba6ed0223c (diff) | |
download | gdb-2a05d50e90c2c8219dd4119788548f64a934190e.zip gdb-2a05d50e90c2c8219dd4119788548f64a934190e.tar.gz gdb-2a05d50e90c2c8219dd4119788548f64a934190e.tar.bz2 |
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 'binutils/prdbg.c')
0 files changed, 0 insertions, 0 deletions