X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=libctf%2FChangeLog;h=5c38c6f391bee911adb187c3ffe1eae1cd4a9c6d;hb=8915c559d40186064d0be75229f9b4e5ac649b16;hp=42ca1c61491de2512257f147d78e3dc80da65e9d;hpb=c59e30ed1727135f8efb79890f2c458f73709757;p=deliverable%2Fbinutils-gdb.git diff --git a/libctf/ChangeLog b/libctf/ChangeLog index 42ca1c6149..5c38c6f391 100644 --- a/libctf/ChangeLog +++ b/libctf/ChangeLog @@ -1,3 +1,321 @@ +2021-03-02 Nick Alcock + + * ctf-link.c (ctf_create_per_cu): Drop FILENAME now that it is + always identical to CUNAME. + (ctf_link_deduplicating_one_symtypetab): Adjust. + (ctf_link_one_type): Remove. + (ctf_link_one_input_archive_member): Likewise. + (ctf_link_close_one_input_archive): Likewise. + (ctf_link_one_input_archive): Likewise. + (ctf_link): No longer call it. Drop CTF_LINK_NONDEDUP path. + Improve header comment a bit (dicts, not files). Adjust + ctf_create_per_cu call. + (ctf_link_deduplicating_variables): Simplify. + (ctf_link_in_member_cb_arg_t) : Remove. + : Likewise. + : Likewise. + : Likewise. + (ctf_link_one_variable): Turn uses of in_file_name to in_cuname. + +2021-03-02 Nick Alcock + + * ctf-types.c (ctf_member_iter): Move 'rc' to an inner scope. + (ctf_enum_iter): Reimplement in terms of ctf_enum_next. + (ctf_type_iter): Reimplement in terms of ctf_type_next. + (ctf_type_iter_all): Likewise. + (ctf_variable_iter): Reimplement in terms of ctf_variable_next. + * ctf-archive.c (ctf_archive_iter_internal): Remove. + (ctf_archive_iter): Reimplement in terms of ctf_archive_next. + +2021-03-02 Nick Alcock + + * ctf-archive.c (ctf_archive_next): Set the name of parents in + single-member archives. + +2021-02-26 Alan Modra + + * Makefile.in: Regenerate. + +2021-02-21 Alan Modra + + * configure.ac: Invoke AC_CANONICAL_TARGET, AC_CANONICAL_HOST + and AC_CANONICAL_BUILD. + * configure: Regenerate. + * Makefile.in: Regenerate. + +2021-02-20 Nick Alcock + + * ctf-impl.h (ctf_dict_t) : New. + : Likewise. + (struct ctf_archive_internal) : New. + : New. + : Remove. + (ctf_lookup_symbol_name): Remove. + * ctf-lookup.c (ctf_lookup_symbol_name): Propagate errors from + parent properly. Make static. + (ctf_lookup_symbol_idx): New, linear search for the symbol name, + cached in the crossdict cache's ctf_symhash (if available), or + this dict's (otherwise). + (ctf_try_lookup_indexed): Allow the symname to be passed in. + (ctf_lookup_by_symbol): Turn into a wrapper around... + (ctf_lookup_by_sym_or_name): ... this, supporting name lookup too, + using ctf_lookup_symbol_idx in non-writable dicts. Special-case + name lookup in dynamic dicts without reported symbols, which have + no symtab or dynsymidx but where name lookup should still work. + (ctf_lookup_by_symbol_name): New, another wrapper. + * ctf-archive.c (enosym): Note that this is present in + ctfi_symnamedicts too. + (ctf_arc_close): Adjust for removal of ctfi_syms. Free the + ctfi_symnamedicts. + (ctf_arc_flush_caches): Likewise. + (ctf_dict_open_cached): Memoize the first cached dict in the + crossdict cache. + (ctf_arc_lookup_symbol): Turn into a wrapper around... + (ctf_arc_lookup_sym_or_name): ... this. No longer cache + ctf_id_t lookups: just call ctf_lookup_by_symbol as needed (but + still cache the dicts those lookups succeed in). Add + lookup-by-name support, with dicts of successful lookups cached in + ctfi_symnamedicts. Refactor the caching code a bit. + (ctf_arc_lookup_symbol_name): New, another wrapper. + * ctf-open.c (ctf_dict_close): Free the ctf_symhash. + * libctf.ver (LIBCTF_1.2): New version. Add + ctf_lookup_by_symbol_name, ctf_arc_lookup_symbol_name. + * testsuite/libctf-lookup/enum-symbol.c (main): Use + ctf_arc_lookup_symbol rather than looking up the name ourselves. + Fish it out repeatedly, to make sure that symbol caching isn't + broken. + (symidx_64): Remove. + (symidx_32): Remove. + * testsuite/libctf-lookup/enum-symbol-obj.lk: Test symbol lookup + in an unlinked object file (indexed symtypetab sections only). + * testsuite/libctf-writable/symtypetab-nonlinker-writeout.c + (try_maybe_reporting): Check symbol types via + ctf_lookup_by_symbol_name as well as ctf_symbol_next. + * testsuite/libctf-lookup/conflicting-type-syms.*: New test of + lookups in a multi-dict archive. + +2021-02-20 Alan Modra + + * testsuite/config/default.exp (ld_L_opt): Define. + * testsuite/lib/ctf-lib.exp (load_common_lib): Delete. Instead load + ld-lib.exp. + (run_host_cmd, run_host_cmd_yesno, check_compiler_available): Delete. + (compile_one_cc, check_ctf_available): Delete. + +2021-02-03 Nick Alcock + + * configure.ac (ac_cv_libctf_bfd_elf): Include string.h. + * configure: Regenerated. + +2021-02-03 Nick Alcock + + * configure.ac (EXPECT): Check for, in order to define... + (TCL_TRY): ... this, if Tcl supports try/catch. + * Makefile.am (TCL_TRY): Run the testsuite only if set. + * configure: Regenerated. + * Makefile.in: Likewise. + +2021-02-02 Nick Alcock + + * configure.ac (CTF_LIBADD): Remove explicit -lintl population in + favour of LIBINTL. + * Makefile.am (libctf_nobfd_la_LIBADD): No longer explicitly + include $(LIBINTL). + (check-DEJAGNU): Pass down to tests as well. + * configure: Regenerated. + * Makefile.in: Likewise. + +2021-01-27 Nick Alcock + + * ctf-string.c (ctf_str_add): Treat adding a NULL as adding "". + (ctf_str_add_ref): Likewise. + (ctf_str_add_external): Likewise. + * ctf-types.c (ctf_type_name_raw): Always return "" for offset 0. + * ctf-dedup.c (ctf_dedup_multiple_input_dicts): Don't armour + against NULL name. + (ctf_dedup_maybe_synthesize_forward): Likewise. + +2021-01-27 Nick Alcock + + * ctf-create.c (ctf_serialize): Fix shadowing. + +2021-01-27 Nick Alcock + + * ctf-create.c (ctf_add_encoded): Add check for non-empty name. + (ctf_add_forward): Likewise. + (ctf_add_typedef): Likewise. + +2021-01-27 Nick Alcock + + * ctf-open.c (init_types): Rip out code to check anonymous typedef + nodes. + * ctf-create.c (ctf_add_reftype): Likewise. + * ctf-lookup.c (refresh_pptrtab): Likewise. + +2021-01-27 Nick Alcock + + * ctf-impl.c (_libctf_nonnull_): Add parameters. + (LCTF_LINKING): New flag. + (ctf_dict_t) : Mention it. + * ctf-link.c (ctf_link): Keep LCTF_LINKING set across call. + (ctf_write): Likewise, including in child dictionaries. + (ctf_link_shuffle_syms): Make sure ctf_dynsyms is NULL if there + are no reported symbols. + * ctf-create.c (symtypetab_delete_nonstatic_vars): Make sure + the variable has been reported as a symbol by the linker. + (symtypetab_skippable): Mention relationship between SYMFP and the + flags. + (symtypetab_density): Adjust nonnullity. Exit early if no symbols + were reported and force-indexing is off (i.e., we are doing a + final link). + (ctf_serialize): Handle the !LCTF_LINKING case by writing out an + indexed, sorted symtypetab (and allow SYMFP to be NULL in this + case). Turn sorting off if this is a non-final link. Only delete + nonstatic vars if we are filtering symbols and the linker has + reported some. + * testsuite/libctf-regression/nonstatic-var-section-ld-r*: + New test of variable and symtypetab section population when + ld -r is used. + * testsuite/libctf-regression/nonstatic-var-section-ld-executable.lk: + Likewise, when ld of an executable is used. + * testsuite/libctf-regression/nonstatic-var-section-ld.lk: + Likewise, when ld -shared alone is used. + * testsuite/libctf-regression/nonstatic-var-section-ld*.c: + Lookup programs for the above. + * testsuite/libctf-writable/symtypetab-nonlinker-writeout.*: New + test, testing survival of symbols across ctf_write paths. + * testsuite/lib/ctf-lib.exp (run_lookup_test): New option, + nonshared, suppressing linking of the SOURCE with -shared. + +2021-01-19 Nick Alcock + + * ctf-create.c (membadd): Transform ""-named members into + NULL-named ones. + * testsuite/libctf-regression/type-add-unnamed-struct*: New test. + +2021-01-19 Nick Alcock + + * ctf-lookup.c (ctf_lookup_by_name_internal): Do not return the + base type if looking up a nonexistent pointer type. + * testsuite/libctf-regression/pptrtab*: Test it. + +2021-01-13 Alan Modra + + * Makefile.in: Regenerate. + +2021-01-12 H.J. Lu + + PR binutils/26792 + * configure.ac: Use GNU_MAKE_JOBSERVER. + * aclocal.m4: Regenerated. + * configure: Likewise. + +2021-01-11 H.J. Lu + + PR ld/27173 + * configure: Regenerated. + +2021-01-09 H.J. Lu + + * configure: Regenerated. + +2021-01-09 Nick Clifton + + * 2.36 release branch crated. + +2021-01-09 Alan Modra + + * configure: Regenerate. + +2021-01-07 Samuel Thibault + + * configure: Regenerate. + +2021-01-05 Nick Alcock + + * testsuite/libctf-lookup/struct-iteration.c (main): + ctf_member_count returns an int. + +2021-01-05 Nick Alcock + + * Makefile.am (BASEDIR): New. + (BFDDIR): Likewise. + (check-DEJAGNU): Add development.exp to prerequisites. + (development.exp): New. + (CONFIG_STATUS_DEPENDENCIES): New. + (EXTRA_DEJAGNU_SITE_CONFIG): Likewise. + (DISTCLEANFILES): Likewise. + * Makefile.in: Regenerated. + * testsuite/lib/ctf-lib.exp (check_ctf_available): Return boolean. + * testsuite/libctf-lookup/lookup.exp: Call check_ctf_available. + * testsuite/libctf-regression/regression.exp: Likewise. + +2021-01-05 Nick Alcock + + * ctf-types.c (ctf_type_aname): Print forwards to unions and enums + properly. + +2021-01-05 Nick Alcock + + * ctf-impl.h (ctf_dict_t) : New. + : New. + : New. + * ctf-create.c (ctf_serialize): Update accordingly. + (ctf_add_reftype): Note that we don't need to update pptrtab here, + despite updating ptrtab. + * ctf-open.c (ctf_dict_close): Destroy the pptrtab. + (ctf_import): Likewise. + (ctf_import_unref): Likewise. + * ctf-lookup.c (grow_pptrtab): New. + (refresh_pptrtab): New, update a pptrtab. + (ctf_lookup_by_name): Turn into a wrapper around (and rename to)... + (ctf_lookup_by_name_internal): ... this: construct the pptrtab, and + use it in addition to the parent's ptrtab when parent dicts are + searched. + * testsuite/libctf-regression/regression.exp: New testsuite for + regression tests. + * testsuite/libctf-regression/pptrtab*: New test. + * testsuite/libctf-writable/writable.exp: New testsuite for tests of + writable CTF dicts. + * testsuite/libctf-writable/pptrtab*: New test. + +2021-01-05 Nick Alcock + + * ctf-archive.c (ctf_archive_iter): Remove outdated comment. + +2021-01-05 Nick Alcock + + * ctf-impl.h (struct ctf_next) : Move to... + : ... here. + * ctf-util.c (ctf_next_destroy): Unconditionally destroy it. + * ctf-lookup.c (ctf_symbol_next): Adjust accordingly. + * ctf-types.c (ctf_member_iter): Reimplement in terms of... + (ctf_member_next): ... this. Support recursive unnamed member + iteration (off by default). + (ctf_member_info): Look up members in unnamed sub-structs. + * ctf-dedup.c (ctf_dedup_rhash_type): Adjust ctf_member_next call. + (ctf_dedup_emit_struct_members): Likewise. + * testsuite/libctf-lookup/struct-iteration-ctf.c: Test empty unnamed + members, and a normal member after the end. + * testsuite/libctf-lookup/struct-iteration.c: Verify that + ctf_member_count is consistent with the number of successful returns + from a non-recursive ctf_member_next. + * testsuite/libctf-lookup/struct-iteration-*: New, test iteration + over struct members. + * testsuite/libctf-lookup/struct-lookup.c: New test. + * testsuite/libctf-lookup/struct-lookup.lk: New test. + +2021-01-05 Nick Alcock + + * ctf-link.c (ctf_link_warn_outdated_inputs): New. + (ctf_link_write): Call it. + +2021-01-05 Nick Alcock + + * testsuite/libctf-lookup/enum-symbol.lk: New symbol-lookup test. + * testsuite/libctf-lookup/enum-symbol-ctf.c: New CTF input. + * testsuite/libctf-lookup/enum-symbol.c: New lookup test. + 2021-01-05 Nick Alcock * Makefile.am (EXPECT): New.