libctf: split serialization and file writeout into its own file
The code to serialize CTF dicts just gets bigger and bigger as the
dictionary's complexity grows: adding symtypetabs almost doubled it on
its own. It's long past time to split this out into its own source
file, accompanied by the functions that do the actual writeout.
This leaves ctf-create.c populated exclusively by functions related to
actual writable dict creation (ctf_add_*, ctf_create etc), and leaves
both files a much more reasonable size.
libctf/ChangeLog
2021-03-18 Nick Alcock <nick.alcock@oracle.com>
* ctf-create.c (symtypetab_delete_nonstatic_vars): Move
into ctf-serialize.c.
(ctf_symtab_skippable): Likewise.
(CTF_SYMTYPETAB_EMIT_FUNCTION): Likewise.
(CTF_SYMTYPETAB_EMIT_PAD): Likewise.
(CTF_SYMTYPETAB_FORCE_INDEXED): Likewise.
(symtypetab_density): Likewise.
(emit_symtypetab): Likewise.
(emit_symtypetab_index): Likewise.
(ctf_copy_smembers): Likewise.
(ctf_copy_lmembers): Likewise.
(ctf_copy_emembers): Likewise.
(ctf_sort_var): Likewise.
(ctf_serialize): Likewise.
(ctf_gzwrite): Likewise.
(ctf_compress_write): Likewise.
(ctf_write_mem): Likewise.
(ctf_write): Likewise.
* ctf-serialize.c: New file.
* Makefile.am (libctf_nobfd_la_SOURCES): Add it.
* Makefile.in: Regenerate.