8#ifndef __ABG_TOOLS_UTILS_H
9#define __ABG_TOOLS_UTILS_H
17#include "abg-suppression.h"
43 const vector<string>& debug_info_root_paths);
45 const vector<string>& debug_info_root_paths);
47 const vector<string>& debug_info_root_paths);
57 string& path_dir_name,
58 bool keep_separator_at_end=
false);
59void real_path(
const string&path,
string& realpath);
62ostream&
emit_prefix(
const string& prog_name, ostream& out);
63bool check_file(
const string& path, ostream& out,
const string& prog_name =
"");
64bool check_dir(
const string& path, ostream& out,
const string& prog_name=
"");
69bool split_string(
const string&,
const string&, vector<string>&);
78 vector<string>& arguments);
80 set<string>& provided_dsos);
93 const vector<string>& hdr_files);
97 const vector<string>& header_files);
101 (
const vector<string>& abi_whitelist_paths);
108 string& vmlinux_path);
112 const string& debug_info_root_path,
113 string& vmlinux_path,
114 vector<string>& module_paths);
118 string& vmlinux_path,
119 vector<string>& module_paths);
138 const string& file_path_to_look_for,
143 const string& file_path_to_look_for,
151 const vector<string>& binaries,
152 const vector<string>& deps_dirs,
153 corpus_group& group);
157 const corpus& korpus,
158 const vector<string>& deps_dirs,
159 corpus_group& group);
163 const corpus_sptr& korpus,
164 const vector<string>& binaries,
165 const vector<string>& deps_dirs);
169 const corpus_sptr& korpus,
170 const vector<string>& deps_dirs);
192 std::unique_ptr<priv> priv_;
231 FILE_TYPE_XML_CORPUS,
234 FILE_TYPE_XML_CORPUS_GROUP,
319 std::unique_ptr<priv> priv_;
334 bool value(time_t& hours,
337 time_t& milliseconds)
const;
349file_type guess_file_type(
const string& file_path,
350 bool look_through_compression =
true);
367 const string& file_name);
381 const string debug_info_root,
382 const string& vmlinux_path,
383 vector<string>& suppr_paths,
384 vector<string>& kabi_wl_paths,
393 const string debug_info_root,
394 const string& vmlinux_path,
395 vector<string>& suppr_paths,
396 vector<string>& kabi_wl_paths,
404 const vector<string>& debug_info_root_paths,
411 const vector<string>& debug_info_root_paths,
447 std::unique_ptr<priv> priv_;
466#define ABG_ASSERT_NOT_REACHED \
468 std::cerr << "in " << __FUNCTION__ \
469 << " at: " << __FILE__ << ":" << __LINE__ \
470 << ": execution should not have reached this point!\n"; \
This file contains the declarations for an elf-based. DWARF and CTF readers can inherit this one.
origin
This abstracts where the corpus comes from. That is, either it has been read from the native xml form...
This is an abstraction of the set of resources necessary to manage several aspects of the internal re...
vector< suppression_sptr > suppressions_type
Convenience typedef for a vector of suppression_sptr.
shared_ptr< type_suppression > type_suppression_sptr
Convenience typedef for a shared pointer to type_suppression.
Toplevel namespace for libabigail.
The generic options that control the behaviour of all Front-End interfaces.