8sa1-binutils-gdb/libctf
Nick Alcock 2a05d50e90 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.
2021-03-18 12:40:40 +00:00
..
testsuite libctf: fix some tabdamage and move some code around 2021-03-18 12:37:52 +00:00
.gitignore libctf: restructure error handling to reduce relocations 2020-07-22 17:57:20 +01:00
aclocal.m4 Implement a workaround for GNU mak jobserver 2021-01-12 05:45:44 -08:00
ChangeLog libctf: don't lose track of all valid types upon serialization 2021-03-18 12:40:40 +00:00
ChangeLog-2020 libctf: fix old ChangeLog typo 2021-01-05 14:53:40 +00:00
config.h.in libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
configure libctf AC_CANONICAL_TARGET 2021-02-21 14:26:38 +10:30
configure.ac libctf AC_CANONICAL_TARGET 2021-02-21 14:26:38 +10:30
ctf-archive.c libctf: fix GNU style for do {} while 2021-03-18 12:37:55 +00:00
ctf-create.c libctf: eliminate dtd_u, part 3: functions 2021-03-18 12:40:40 +00:00
ctf-decl.c libctf, ld: dump enums: generally improve dump formatting 2021-01-05 14:53:39 +00:00
ctf-decls.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-dedup.c libctf: eliminate dtd_u, part 1: int/float/slice 2021-03-18 12:40:36 +00:00
ctf-dump.c libctf: fix GNU style for do {} while 2021-03-18 12:37:55 +00:00
ctf-endian.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-error.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-hash.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-impl.h libctf: eliminate dtd_u, part 3: functions 2021-03-18 12:40:40 +00:00
ctf-inlines.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-intl.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-labels.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-link.c libctf: fix some tabdamage and move some code around 2021-03-18 12:37:52 +00:00
ctf-lookup.c libctf: fix GNU style for do {} while 2021-03-18 12:37:55 +00:00
ctf-open-bfd.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-open.c libctf, include: find types of symbols by name 2021-02-20 16:37:08 +00:00
ctf-qsort_r.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-serialize.c libctf: don't lose track of all valid types upon serialization 2021-03-18 12:40:40 +00:00
ctf-sha1.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-sha1.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-string.c libctf: always name nameless types "", never NULL 2021-02-04 16:01:53 +00:00
ctf-subr.c Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
ctf-types.c libctf: eliminate dtd_u, part 3: functions 2021-03-18 12:40:40 +00:00
ctf-util.c libctf, include: support unnamed structure members better 2021-01-05 14:53:40 +00:00
elf.h Update year range in copyright notice of binutils files 2021-01-01 10:31:05 +10:30
libctf.ver libctf, include: find types of symbols by name 2021-02-20 16:37:08 +00:00
Makefile.am libctf: split serialization and file writeout into its own file 2021-03-18 12:37:53 +00:00
Makefile.in libctf: split serialization and file writeout into its own file 2021-03-18 12:37:53 +00:00
NEWS libctf: add a NEWS 2021-02-20 16:37:08 +00:00
swap.h libctf: fix GNU style for do {} while 2021-03-18 12:37:55 +00:00