diff options
Diffstat (limited to 'libctf/ChangeLog')
-rw-r--r-- | libctf/ChangeLog | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 21b62e1..d07d5dc 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,5 +1,56 @@ 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. + (struct ctf_str_atom): New, disambiguated single string. + (struct ctf_str_atom_ref): New, points to some other location that + references this string's offset. + (struct ctf_file): New members ctf_str_atoms and ctf_str_num_refs. + Remove member ctf_dtvstrlen: we no longer track the total strlen + as we add strings. + (ctf_str_create_atoms): Declare new function in ctf-string.c. + (ctf_str_free_atoms): Likewise. + (ctf_str_add): Likewise. + (ctf_str_add_ref): Likewise. + (ctf_str_rollback): Likewise. + (ctf_str_purge_refs): Likewise. + (ctf_str_write_strtab): Likewise. + (ctf_realloc): Declare new function in ctf-util.c. + + * ctf-open.c (ctf_bufopen): Create the atoms table. + (ctf_file_close): Destroy it. + * ctf-create.c (ctf_update): Copy-and-free it on update. No longer + special-case the position of the parname string. Construct the + strtab by calling ctf_str_add_ref and ctf_str_write_strtab after the + rest of each buffer element is constructed, not via open-coding: + realloc the CTF buffer and append the strtab to it. No longer + maintain ctf_dtvstrlen. Sort the variable entry table later, after + strtab construction. + (ctf_copy_membnames): Remove: integrated into ctf_copy_{s,l,e}members. + (ctf_copy_smembers): Drop the string offset: call ctf_str_add_ref + after buffer element construction instead. + (ctf_copy_lmembers): Likewise. + (ctf_copy_emembers): Likewise. + (ctf_create): No longer maintain the ctf_dtvstrlen. + (ctf_dtd_delete): Likewise. + (ctf_dvd_delete): Likewise. + (ctf_add_generic): Likewise. + (ctf_add_enumerator): Likewise. + (ctf_add_member_offset): Likewise. + (ctf_add_variable): Likewise. + (membadd): Likewise. + * ctf-util.c (ctf_realloc): New, wrapper around realloc that aborts + if there are active ctf_str_num_refs. + (ctf_strraw): Move to ctf-string.c. + (ctf_strptr): Likewise. + * ctf-string.c: New file, strtab manipulation. + + * Makefile.am (libctf_a_SOURCES): Add it. + * Makefile.in: Regenerate. + +2019-06-28 Nick Alcock <nick.alcock@oracle.com> + * ctf-impl.h (ctf_hash_iter_f): New. (ctf_dynhash_iter): New declaration. (ctf_dynhash_iter_remove): New declaration. |