binutils-gdb/libctf
Nick Alcock 0f0c11f7fc libctf, dedup: add deduplicator
This adds the core deduplicator that the ctf_link machinery calls
(possibly repeatedly) to link the CTF sections: it takes an array
of input ctf_file_t's and another array that indicates which entries in
the input array are parents of which other entries, and returns an array
of outputs.  The first output is always the ctf_file_t on which
ctf_link/ctf_dedup/etc was called: the other outputs are child dicts
that have the first output as their parent.

include/
	* ctf-api.h (CTF_LINK_SHARE_DUPLICATED): No longer unimplemented.
libctf/
	* ctf-impl.h (ctf_type_id_key): New, the key in the
	cd_id_to_file_t.
	(ctf_dedup): New, core deduplicator state.
	(ctf_file_t) <ctf_dedup>: New.
	<ctf_dedup_atoms>: New.
	<ctf_dedup_atoms_alloc>: New.
	(ctf_hash_type_id_key): New prototype.
	(ctf_hash_eq_type_id_key): Likewise.
	(ctf_dedup_atoms_init): Likewise.
	* ctf-hash.c (ctf_hash_eq_type_id_key): New.
	(ctf_dedup_atoms_init): Likewise.
	* ctf-create.c (ctf_serialize): Adjusted.
	(ctf_add_encoded): No longer static.
	(ctf_add_reftype): Likewise.
	* ctf-open.c (ctf_file_close): Destroy the
	ctf_dedup_atoms_alloc.
	* ctf-dedup.c: New file.
        * ctf-decls.h [!HAVE_DECL_STPCPY]: Add prototype.
	* configure.ac: Check for stpcpy.
	* Makefile.am: Add it.
	* Makefile.in: Regenerate.
        * config.h.in: Regenerate.
        * configure: Regenerate.
2020-07-22 18:02:19 +01:00
..
.gitignore libctf: restructure error handling to reduce relocations 2020-07-22 17:57:20 +01:00
aclocal.m4 libctf, dedup: add new configure option --enable-libctf-hash-debugging 2020-07-22 18:02:19 +01:00
ChangeLog libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
config.h.in libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
configure libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
configure.ac libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-archive.c libctf, archive: fix bad error message 2020-07-22 18:02:18 +01:00
ctf-create.c libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-decl.c libctf, decl: avoid leaks of the formatted string on error 2020-07-22 18:02:17 +01:00
ctf-decls.h libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-dedup.c libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-dump.c libctf, dump: fix slice dumping 2020-07-22 18:02:18 +01:00
ctf-endian.h Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
ctf-error.c libctf: drop error-prone ctf_strerror 2020-07-22 18:02:18 +01:00
ctf-hash.c libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-impl.h libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-inlines.h libctf, ld, binutils: add textual error/warning reporting for libctf 2020-07-22 18:02:17 +01:00
ctf-labels.c Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
ctf-link.c libctf, link: add the ability to filter out variables from the link 2020-07-22 18:02:18 +01:00
ctf-lookup.c libctf, next: introduce new class of easier-to-use iterators 2020-07-22 17:57:50 +01:00
ctf-open-bfd.c libctf, open: fix opening CTF in binaries with no symtab 2020-07-22 18:02:18 +01:00
ctf-open.c libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
ctf-qsort_r.c Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
ctf-sha1.c libctf: add SHA-1 support for libctf 2020-07-22 18:02:18 +01:00
ctf-sha1.h libctf: add SHA-1 support for libctf 2020-07-22 18:02:18 +01:00
ctf-string.c Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
ctf-subr.c libctf: drop error-prone ctf_strerror 2020-07-22 18:02:18 +01:00
ctf-types.c libctf, types: enhance ctf_type_aname to print function arg types 2020-07-22 18:02:17 +01:00
ctf-util.c libctf, next, hash: add dynhash and dynset _next iteration 2020-07-22 17:57:51 +01:00
elf.h Update year range in copyright notice of binutils files 2020-01-01 18:42:54 +10:30
libctf.ver libctf, link: add the ability to filter out variables from the link 2020-07-22 18:02:18 +01:00
Makefile.am libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
Makefile.in libctf, dedup: add deduplicator 2020-07-22 18:02:19 +01:00
mkerrors.sed libctf: restructure error handling to reduce relocations 2020-07-22 17:57:20 +01:00
swap.h libctf, elfcpp, gold: do not assume that <byteswap.h> contains bswap_* 2020-06-26 15:56:39 +01:00