8#ifndef __ABG_TOOLS_UTILS_H
9#define __ABG_TOOLS_UTILS_H
17#include "abg-suppression.h"
43 const vector<char**>& debug_info_root_paths);
45 const vector<char**>& debug_info_root_paths);
47 const vector<char**>& 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>&);
77 vector<string>& arguments);
79 set<string>& provided_dsos);
92 const vector<string>& hdr_files);
96 const vector<string>& header_files);
100 (
const vector<string>& abi_whitelist_paths);
104 string& vmlinux_path);
108 const string& debug_info_root_path,
109 string& vmlinux_path,
110 vector<string>& module_paths);
114 string& vmlinux_path,
115 vector<string>& module_paths);
131 const string& file_path_to_look_for,
136 const string& file_path_to_look_for,
144 const vector<string>& binaries,
145 const vector<string>& deps_dirs,
146 corpus_group& group);
150 const corpus& korpus,
151 const vector<string>& deps_dirs,
152 corpus_group& group);
156 const corpus_sptr& korpus,
157 const vector<string>& binaries,
158 const vector<string>& deps_dirs);
162 const corpus_sptr& korpus,
163 const vector<string>& deps_dirs);
185 std::unique_ptr<priv> priv_;
224 FILE_TYPE_XML_CORPUS,
227 FILE_TYPE_XML_CORPUS_GROUP,
312 std::unique_ptr<priv> priv_;
327 bool value(time_t& hours,
330 time_t& milliseconds)
const;
359 const string& file_name);
373 const string debug_info_root,
374 const string& vmlinux_path,
375 vector<string>& suppr_paths,
376 vector<string>& kabi_wl_paths,
384 const vector<char**>& debug_info_root_paths,
388 bool linux_kernel_mode =
false);
420 std::unique_ptr<priv> priv_;
439#define ABG_ASSERT_NOT_REACHED \
441 std::cerr << "in " << __FUNCTION__ \
442 << " at: " << __FILE__ << ":" << __LINE__ \
443 << ": 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.