X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=libctf%2FChangeLog;h=d0d0d6785c155f0e5c9fb6f3c7ca18c3863f2c6c;hb=9b32cba44ddeb32251092a05f1238d2462eb2345;hp=f48ad5b213dc3083254b1383c6d35193e21be2ed;hpb=942d35f72bea5a0d19a5d0e0a5ca533e37a88b2c;p=deliverable%2Fbinutils-gdb.git diff --git a/libctf/ChangeLog b/libctf/ChangeLog index f48ad5b213..d0d0d6785c 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,207 @@ +2019-07-08 Nick Alcock + + * ctf-impl.h (ctf_file_t): New field ctf_openflags. + * ctf-open.c (ctf_bufopen): Set it. No longer dump header offsets. + * ctf-dump.c (dump_header): New function, dump the CTF header. + (ctf_dump): Call it. + (ctf_dump_header_strfield): New function. + (ctf_dump_header_sectfield): Likewise. + +2019-07-06 Nick Alcock + + * ctf-impl.h (ctf_file_t): New fields ctf_header, ctf_dynbase, + ctf_cuname, ctf_dyncuname: ctf_base and ctf_buf are no longer const. + * ctf-open.c (ctf_set_base): Preserve the gap between ctf_buf and + ctf_base: do not assume that it is always sizeof (ctf_header_t). + Print out ctf_cuname: only print out ctf_parname if set. + (ctf_free_base): Removed, ctf_base is no longer freed: free + ctf_dynbase instead. + (ctf_set_version): Fix spacing. + (upgrade_header): New, in-place header upgrading. + (upgrade_types): Rename to... + (upgrade_types_v1): ... this. Free ctf_dynbase, not ctf_base. No + longer track old and new headers separately. No longer allow for + header sizes explicitly: squeeze the headers out on upgrade (they + are preserved in fp->ctf_header). Set ctf_dynbase, ctf_base and + ctf_buf explicitly. Use ctf_free, not ctf_free_base. + (upgrade_types): New, also handle ctf_parmax updating. + (flip_header): Flip ctf_cuname. + (flip_types): Flip BUF explicitly rather than deriving BUF from + BASE. + (ctf_bufopen): Store the header in fp->ctf_header. Correct minimum + required alignment of objtoff and funcoff. No longer store it in + the ctf_buf unless that buf is derived unmodified from the input. + Set ctf_dynbase where ctf_base is dynamically allocated. Drop locals + that duplicate fields in ctf_file: move allocation of ctf_file + further up instead. Call upgrade_header as needed. Move + version-specific ctf_parmax initialization into upgrade_types. More + concise error handling. + (ctf_file_close): No longer test for null pointers before freeing. + Free ctf_dyncuname, ctf_dynbase, and ctf_header. Do not call + ctf_free_base. + (ctf_cuname): New. + (ctf_cuname_set): New. + * ctf-create.c (ctf_update): Populate ctf_cuname. + (ctf_gzwrite): Write out the header explicitly. Remove obsolescent + comment. + (ctf_write): Likewise. + (ctf_compress_write): Get the header from ctf_header, not ctf_base. + Fix the compression length: fp->ctf_size never counted the CTF + header. Simplify the compress call accordingly. + +2019-07-11 Hans-Peter Nilsson + + * ctf-endian.h: Don't assume htole64 and le64toh are always + present if HAVE_ENDIAN_H; also check if htole64 is defined. + [!WORDS_BIGENDIAN] (htole64, le64toh): Define as identity, + not bswap_identity_64. + +2019-09-18 Alan Modra + + * ctf-open-bfd.c: Update throughout for bfd section macro changes. + +2019-09-09 Phil Blundell + + binutils 2.33 branch created. + +2019-07-18 Nick Alcock + + * ctf-types.c (ctf_type_aname_raw): New. + (ctf_func_type_info): Likewise. + (ctf_func_type_args): Likewise. + * ctf-error.c (_ctf_errlist): Fix description. + * ctf-lookup.c: Fix file description. + +2019-06-28 Nick Alcock + + * ctf-create.c (ctf_create): Fix off-by-one error. + +2019-06-28 Nick Alcock + + * 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 + + * ctf-impl.h (ctf_hash_iter_f): New. + (ctf_dynhash_iter): New declaration. + (ctf_dynhash_iter_remove): New declaration. + * ctf-hash.c (ctf_dynhash_iter): Define. + (ctf_dynhash_iter_remove): Likewise. + (ctf_hashtab_traverse): New. + (ctf_hashtab_traverse_remove): Likewise. + (struct ctf_traverse_cb_arg): Likewise. + (struct ctf_traverse_remove_cb_arg): Likewise. + +2019-06-28 Nick Alcock + + * ctf-hash.c (ctf_dynhash_remove): Call with a mocked-up element. + +2019-06-28 Nick Alcock + + * ctf-dump.c (ctf_dump_format_type): Prefix hex strings with 0x. + (ctf_dump_funcs): Likewise. + +2019-06-19 Nick Alcock + + * ctf-open-bfd.c: Add swap.h and ctf-endian.h. + (ctf_fdopen): Check for endian-swapped raw CTF magic, and + little-endian CTF archive magic. Do not check the CTF version: + ctf_simple_open does that in endian-safe ways. Do not dereference + null pointers on open failure. + +2019-06-19 Nick Alcock + + * ctf-open.c (get_vbytes_common): Return the new slice size. + (ctf_bufopen): Flip the endianness of the CTF-section header copy. + Remember to copy in the CTF data when opening an uncompressed + foreign-endian CTF file. Prune useless variable manipulation. + +2019-06-19 Nick Alcock + + * ctf-open.c (ctf_types): Fail when unidentified type kinds are + seen. + +2019-06-19 Nick Alcock + + * ctf-open.c (ctf_bufopen): Dump header offsets into the debugging + output. + +2019-06-19 Nick Alcock + + * ctf-subr.c (_PAGESIZE): Remove. + (ctf_data_alloc): Likewise. + (ctf_data_free): Likewise. + (ctf_data_protect): Likewise. + * ctf-impl.h: Remove declarations. + * ctf-create.c (ctf_update): No longer call ctf_data_protect: use + ctf_free, not ctf_data_free. + (ctf_compress_write): Use ctf_data_alloc, not ctf_alloc. Free + the buffer again on compression error. + * ctf-open.c (ctf_set_base): No longer track the size: call + ctf_free, not ctf_data_free. + (upgrade_types): Likewise. Call ctf_alloc, not ctf_data_alloc. + (ctf_bufopen): Likewise. No longer call ctf_data_protect. + +2019-06-19 Nick Alcock + + * ctf-create.c (ctf_dtd_insert): Pass on error returns from + ctf_dynhash_insert. + (ctf_dvd_insert): Likewise. + (ctf_add_generic): Likewise. + (ctf_add_variable): Likewise. + * ctf-impl.h: Adjust declarations. + +2019-06-14 Alan Modra + + * configure: Regenerate. + 2019-06-06 Nick Alcock * ctf-decls.h: Include .