libabigail/tools/Makefile.am
Dodji Seketeli 8e8de9c3f5 Support loading and comparing two kernel trees
* include/abg-dwarf-reader.h (set_read_context_corpus_group)
	(read_and_add_corpus_to_group_from_elf, set_ignore_symbol_table)
	(get_ignore_symbol_table): Declare new functions.
	* abg-dwarf-reader.cc (read_context::options_type): Define new
	type.
	(die_dependant_container_set::clear): Define new member function.
	(read_context::{bss, tesxt, rodata, data, data1}_section_): Add
	new data members.
	(read_context::{symbol_versionning_sections_loaded_,
	symbol_versionning_sections_found_}): Likewise.
	(read_context::corpus_group_): Likewise.
	(read_context::{load_in_linux_kernel_mode, load_all_types,
	show_stats, do_log_}): Replace these options by ..
	(read_context::options_): ... this instance of the new
	read_context:options_type.
	(read_context::read_context): Adjust.
	(read_context::{clear_alt_debug_info_data, clear_per_corpus_data,
	env, get_data_section_for_variable_address, load_all_types,
	load_in_linux_kernel_mode, show_stats, do_log}): Adjust.
	(create_read_context): Adjust.
	(read_context::~read_context): Define destructor.
	(read_context::{options, bss_section, text_section,
	rodata_section, data_section, data1_section, current_corpus_group,
	has_corpus_group, main_corpus_from_current_group,
	main_corpus_from_current_group,
	current_corpus_is_main_corpus_from_current_group,
	should_reuse_type_from_corpus_group}): Define new member
	functions.
	(read_context::get_die_qualified_type_name): Handle the name of
	the current translation unit.
	(read_context::load_symbol_maps): Really don't load (linux kernel
	specific) symbol maps if we were told to ignore the ELF symbol
	table.
	(set_ignore_symbol_table, get_ignore_symbol_table)
	(create_default_var_sym, create_default_fn_sym, add_symbol_to_map)
	(set_read_context_corpus_group)
	(read_and_add_corpus_to_group_from_elf): Define new functions.
	(build_type_decl, build_typedef_type, build_enum_type)
	(add_or_update_class_type)
	(add_or_update_union_type): Reuse the type being built, from the
	main corpus of the corpus group.
	(build_qualified_type): Cleanup logic.
	(build_var_decl, build_function_decl): Create a default symbol for
	the variable or function if we are supposed to ignore the symbol
	table of the current binary.  Add that symbol to the symbol table
	that is created in the read context.
	(read_debug_info_into_corpus): Don't load the ELF symbol table
	information if we are asked to ignore the symbol table.  But set
	the symbol table that we built artificially while loading
	functions and variables, into the ABI corpus being built.
	(read_context::maybe_adjust_var_sym_address): Adjust.
	(build_ir_node_from_die): Add ir node to its logical scope.  For
	the C language, the scope of a type is the global scope.
	(read_corpus_from_elf): Don't load ELF properties if we were asked
	to avoid the ELF symbol table.
	* include/abg-comparison.h (compute_diff): Declare ...
	* src/abg-comparison.cc (compute_diff): ... an overload to compare
	corpus_group.
	* tools/kmidiff.cc: New tool.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2017-07-03 17:45:36 +02:00

60 lines
1.4 KiB
Makefile

h=$(abs_srcdir)
if ENABLE_ZIP_ARCHIVE
bin_PROGRAMS = abiar abidiff abilint abidw abicompat abipkgdiff kmidiff
else
bin_PROGRAMS = abidiff abilint abidw abicompat abipkgdiff kmidiff
endif
if ENABLE_FEDABIPKGDIFF
dist_bin_SCRIPTS = fedabipkgdiff
else
noinst_SCRIPTS = fedabipkgdiff
endif
noinst_PROGRAMS = abisym abinilint
if ENABLE_ZIP_ARCHIVE
abiar_SOURCES = abiar.cc
abiardir = $(bindir)
abiar_LDADD = ../src/libabigail.la
endif
abidiff_SOURCES = abidiff.cc
abidiffdir = $(bindir)
abidiff_LDADD = ../src/libabigail.la
abilint_SOURCES = abilint.cc
abilintdir = $(bindir)
abilint_LDADD = ../src/libabigail.la
abidw_SOURCES = abidw.cc
abidwdir = $(bindir)
abidw_LDADD = ../src/libabigail.la
abisym_SOURCES = abisym.cc
abisymdir = $(bindir)
abisym_LDADD = ../src/libabigail.la
abinilint_SOURCES = binilint.cc
abinilintdir = $(bindir)
abinilint_LDADD = $(abs_top_builddir)/src/libabigail.la
abicompat_SOURCES = abicompat.cc
abicompatdir = $(bindir)
abicompat_LDADD = $(abs_top_builddir)/src/libabigail.la
abipkgdiff_SOURCES = abipkgdiff.cc
abipkgdiffdir = $(bindir)
abipkgdiff_LDADD = $(abs_top_builddir)/src/libabigail.la
abipkgdiff_LDFLAGS = -pthread
kmidiff_SOURCES = kmidiff.cc
kmidiffdir = $(bindir)
kmidiff_LDADD = $(abs_top_builddir)/src/libabigail.la
kmidiff_LDFLAGS = -pthread
AM_CXXFLAGS = \
$(VISIBILITY_FLAGS) -I$(abs_top_srcdir)/include \
-I$(abs_top_srcdir)/tools -fPIC