Merge "Add symbol binding information to header-abi-linker"

am: 8f9d0924cc

Change-Id: I2b2f1fe0912ac2a22aa7bcd1e1e2149423548457
This commit is contained in:
Jayant Chowdhary
2018-08-31 21:05:57 -07:00
committed by android-build-merger
129 changed files with 1537 additions and 95 deletions

View File

@@ -90,14 +90,17 @@ class HeaderAbiLinker {
bool LinkAndDump();
private:
template <typename T>
template <typename T, typename LinkMapType>
bool LinkDecl(abi_util::IRDumper *dst,
std::set<std::string> *link_set,
std::map<std::string, LinkMapType> *link_map,
std::set<std::string> *regex_matched_link_set,
const std::regex *vs_regex,
const abi_util::AbiElementMap<T> &src,
bool use_version_script);
template <typename T>
bool LinkDecl(abi_util::IRDumper *dst, const abi_util::AbiElementMap<T> &src);
bool ParseVersionScriptFiles();
bool ParseSoFile();
@@ -124,9 +127,8 @@ class HeaderAbiLinker {
const std::string &api_;
// TODO: Add to a map of std::sets instead.
std::set<std::string> exported_headers_;
std::set<std::string> types_set_;
std::set<std::string> function_decl_set_;
std::set<std::string> globvar_decl_set_;
std::map<std::string, abi_util::ElfFunctionIR> function_decl_map_;
std::map<std::string, abi_util::ElfObjectIR> globvar_decl_map_;
// Version Script Regex Matching.
std::set<std::string> functions_regex_matched_set;
std::regex functions_vs_regex_;
@@ -135,11 +137,11 @@ class HeaderAbiLinker {
std::regex globvars_vs_regex_;
};
template <typename T, typename Iterable>
static bool AddElfSymbols(abi_util::IRDumper *dst, const Iterable &symbols) {
template <typename T>
static bool AddElfSymbols(abi_util::IRDumper *dst,
const std::map<std::string, T> &symbols) {
for (auto &&symbol : symbols) {
T elf_symbol(symbol);
if (!dst->AddElfSymbolMessageIR(&elf_symbol)) {
if (!dst->AddElfSymbolMessageIR(&(symbol.second))) {
return false;
}
}
@@ -148,10 +150,8 @@ static bool AddElfSymbols(abi_util::IRDumper *dst, const Iterable &symbols) {
// To be called right after parsing the .so file / version script.
bool HeaderAbiLinker::AddElfSymbols(abi_util::IRDumper *ir_dumper) {
return ::AddElfSymbols<abi_util::ElfFunctionIR>(ir_dumper,
function_decl_set_) &&
::AddElfSymbols<abi_util::ElfObjectIR>(ir_dumper,
globvar_decl_set_);
return ::AddElfSymbols(ir_dumper, function_decl_map_) &&
::AddElfSymbols(ir_dumper, globvar_decl_map_);
}
static void DeDuplicateAbiElementsThread(
@@ -273,35 +273,34 @@ static std::regex CreateRegexMatchExprFromSet(
return std::regex(all_regex_match_str);
}
template <typename T>
template <typename T, typename LinkMapType>
bool HeaderAbiLinker::LinkDecl(
abi_util::IRDumper *dst, std::set<std::string> *link_set,
abi_util::IRDumper *dst, std::map<std::string, LinkMapType> *link_map,
std::set<std::string> *regex_matched_link_set, const std::regex *vs_regex,
const abi_util::AbiElementMap<T> &src, bool use_version_script_or_so) {
assert(dst != nullptr);
assert(link_set != nullptr);
for (auto &&element : src) {
// If we are not using a version script and exported headers are available,
// filter out unexported abi.
std::string source_file = element.second.GetSourceFile();
// Builtin types will not have source file information.
if (!exported_headers_.empty() && !source_file.empty() &&
exported_headers_.find(source_file) ==
exported_headers_.end()) {
exported_headers_.find(source_file) == exported_headers_.end()) {
continue;
}
const std::string &element_str = element.first;
// Check for the existence of the element in linked dump / symbol file.
if (use_version_script_or_so) {
std::set<std::string>::iterator it =
link_set->find(element_str);
if (it == link_set->end()) {
assert(link_map != nullptr);
typename std::map<std::string, LinkMapType>::iterator it =
link_map->find(element_str);
if (it == link_map->end()) {
if (!QueryRegexMatches(regex_matched_link_set, vs_regex, element_str)) {
continue;
}
} else {
// We get a pre-filled link name set while using version script.
link_set->erase(*it); // Avoid multiple instances of the same symbol.
link_map->erase(it); // Avoid multiple instances of the same symbol.
}
}
if (!dst->AddLinkableMessageIR(&(element.second))) {
@@ -312,30 +311,40 @@ bool HeaderAbiLinker::LinkDecl(
return true;
}
template <typename T>
bool HeaderAbiLinker::LinkDecl(abi_util::IRDumper *dst,
const abi_util::AbiElementMap<T> &src) {
assert(dst != nullptr);
for (auto &&element : src) {
// If we are not using a version script and exported headers are available,
// filter out unexported abi.
std::string source_file = element.second.GetSourceFile();
// Builtin types will not have source file information.
if (!exported_headers_.empty() && !source_file.empty() &&
exported_headers_.find(source_file) == exported_headers_.end()) {
continue;
}
if (!dst->AddLinkableMessageIR(&(element.second))) {
llvm::errs() << "Failed to add element to linked dump\n";
return false;
}
}
return true;
}
bool HeaderAbiLinker::LinkTypes(const abi_util::TextFormatToIRReader *reader,
abi_util::IRDumper *ir_dumper) {
assert(reader != nullptr);
assert(ir_dumper != nullptr);
// Even if version scripts are available we take in types, since the symbols
// in the version script might reference a type exposed by the library.
return LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetRecordTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetEnumTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr, nullptr,
reader->GetFunctionTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetBuiltinTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetPointerTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetRvalueReferenceTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetLvalueReferenceTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetArrayTypes(), false) &&
LinkDecl(ir_dumper, &types_set_, nullptr,
nullptr, reader->GetQualifiedTypes(), false);
return LinkDecl(ir_dumper, reader->GetRecordTypes()) &&
LinkDecl(ir_dumper, reader->GetEnumTypes()) &&
LinkDecl(ir_dumper, reader->GetFunctionTypes()) &&
LinkDecl(ir_dumper, reader->GetBuiltinTypes()) &&
LinkDecl(ir_dumper, reader->GetPointerTypes()) &&
LinkDecl(ir_dumper, reader->GetRvalueReferenceTypes()) &&
LinkDecl(ir_dumper, reader->GetLvalueReferenceTypes()) &&
LinkDecl(ir_dumper, reader->GetArrayTypes()) &&
LinkDecl(ir_dumper, reader->GetQualifiedTypes());
}
bool HeaderAbiLinker::LinkFunctions(
@@ -343,7 +352,7 @@ bool HeaderAbiLinker::LinkFunctions(
abi_util::IRDumper *ir_dumper) {
assert(reader != nullptr);
return LinkDecl(ir_dumper, &function_decl_set_,
return LinkDecl(ir_dumper, &function_decl_map_,
&functions_regex_matched_set, &functions_vs_regex_,
reader->GetFunctions(),
(!version_script_.empty() || !so_file_.empty()));
@@ -354,7 +363,7 @@ bool HeaderAbiLinker::LinkGlobalVars(
abi_util::IRDumper *ir_dumper) {
assert(reader != nullptr);
return LinkDecl(ir_dumper, &globvar_decl_set_,
return LinkDecl(ir_dumper, &globvar_decl_map_,
&globvars_regex_matched_set, &globvars_vs_regex_,
reader->GetGlobalVariables(),
(!version_script.empty() || !so_file_.empty()));
@@ -367,8 +376,8 @@ bool HeaderAbiLinker::ParseVersionScriptFiles() {
llvm::errs() << "Failed to parse version script\n";
return false;
}
function_decl_set_ = version_script_parser.GetFunctions();
globvar_decl_set_ = version_script_parser.GetGlobVars();
function_decl_map_ = version_script_parser.GetFunctions();
globvar_decl_map_ = version_script_parser.GetGlobVars();
std::set<std::string> function_regexs =
version_script_parser.GetFunctionRegexs();
std::set<std::string> globvar_regexs =
@@ -399,8 +408,8 @@ bool HeaderAbiLinker::ParseSoFile() {
return false;
}
so_parser->GetSymbols();
function_decl_set_ = so_parser->GetFunctions();
globvar_decl_set_ = so_parser->GetGlobVars();
function_decl_map_ = so_parser->GetFunctions();
globvar_decl_map_ = so_parser->GetGlobVars();
return true;
}

View File

@@ -12,6 +12,8 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include <ir_representation.h>
#include <llvm/Object/ELFObjectFile.h>
#include <llvm/Object/ELFTypes.h>
#include <llvm/Object/SymbolSize.h>
@@ -50,9 +52,9 @@ class VersionScriptParser {
const std::string &api);
bool Parse();
const std::set<std::string> &GetFunctions();
const std::map<std::string, ElfFunctionIR> &GetFunctions();
const std::set<std::string> &GetGlobVars();
const std::map<std::string, ElfObjectIR> &GetGlobVars();
const std::set<std::string> &GetFunctionRegexs();
@@ -81,8 +83,8 @@ class VersionScriptParser {
private:
const std::string &version_script_;
const std::string &arch_;
std::set<std::string> functions_;
std::set<std::string> globvars_;
std::map<std::string, ElfFunctionIR> functions_;
std::map<std::string, ElfObjectIR> globvars_;
// Added to speed up version script parsing and linking.
std::set<std::string> function_regexs_;
std::set<std::string> globvar_regexs_;
@@ -102,8 +104,8 @@ inline std::string FindAndReplace(const std::string &candidate_str,
class SoFileParser {
public:
static std::unique_ptr<SoFileParser> Create(const ObjectFile *obj);
virtual const std::set<std::string> &GetFunctions() const = 0;
virtual const std::set<std::string> &GetGlobVars() const = 0;
virtual const std::map<std::string, ElfFunctionIR> &GetFunctions() const = 0;
virtual const std::map<std::string, ElfObjectIR> &GetGlobVars() const = 0;
virtual ~SoFileParser() {};
virtual void GetSymbols() = 0;
};
@@ -111,9 +113,9 @@ public:
template<typename T>
class ELFSoFileParser : public SoFileParser {
public:
const std::set<std::string> &GetFunctions() const override;
const std::map<std::string, ElfFunctionIR> &GetFunctions() const override;
const std::set<std::string> &GetGlobVars() const override;
const std::map<std::string, ElfObjectIR> &GetGlobVars() const override;
LLVM_ELF_IMPORT_TYPES_ELFT(T)
typedef ELFFile<T> ELFO;
@@ -124,8 +126,8 @@ class ELFSoFileParser : public SoFileParser {
void GetSymbols() override;
private:
const ELFObjectFile<T> *obj_;
std::set<std::string> functions_;
std::set<std::string> globvars_;
std::map<std::string, abi_util::ElfFunctionIR> functions_;
std::map<std::string, abi_util::ElfObjectIR> globvars_;
private:
bool IsSymbolExported(const Elf_Sym *elf_sym) const;

View File

@@ -702,14 +702,30 @@ class ElfSymbolIR {
public:
enum ElfSymbolKind {
ElfFunctionKind,
ElfObjectKind
ElfObjectKind,
};
enum ElfSymbolBinding {
Weak,
Global,
};
enum ElfSymbolVisibility {
Default,
Protected,
};
const std::string GetName() const {
return name_;
}
ElfSymbolIR(const std::string &name) : name_(name) { }
ElfSymbolBinding GetBinding() const {
return binding_;
}
ElfSymbolIR(const std::string &name, ElfSymbolBinding binding)
: name_(name), binding_(binding) { }
virtual ElfSymbolKind GetKind() const = 0;
@@ -717,15 +733,17 @@ class ElfSymbolIR {
protected:
std::string name_;
ElfSymbolBinding binding_;
};
class ElfFunctionIR : public ElfSymbolIR{
class ElfFunctionIR : public ElfSymbolIR {
public:
ElfSymbolKind GetKind() const override {
return ElfFunctionKind;
}
ElfFunctionIR(const std::string &name) : ElfSymbolIR(name) { }
ElfFunctionIR(const std::string &name, ElfSymbolBinding binding)
: ElfSymbolIR(name, binding) { }
};
class ElfObjectIR : public ElfSymbolIR {
@@ -734,7 +752,8 @@ class ElfObjectIR : public ElfSymbolIR {
return ElfObjectKind;
}
ElfObjectIR(const std::string &name) : ElfSymbolIR(name) { }
ElfObjectIR(const std::string &name, ElfSymbolBinding binding)
: ElfSymbolIR(name, binding) { }
};
class IRDumper {

View File

@@ -44,6 +44,31 @@ inline abi_diff::CompatibilityStatus CompatibilityStatusIRToProtobuf(
return abi_diff::CompatibilityStatus::COMPATIBLE;
}
inline abi_dump::ElfSymbolBinding ElfSymbolBindingIRToProtobuf(
ElfSymbolIR::ElfSymbolBinding binding) {
switch(binding) {
case ElfSymbolIR::ElfSymbolBinding::Global:
return abi_dump::ElfSymbolBinding::Global;
case ElfSymbolIR::ElfSymbolBinding::Weak:
return abi_dump::ElfSymbolBinding::Weak;
}
// We skip symbols of all other Bindings
// TODO: Add all bindings, don't leave out info
assert(0);
}
inline ElfSymbolIR::ElfSymbolBinding ElfSymbolBindingProtobufToIR(
abi_dump::ElfSymbolBinding binding) {
switch(binding) {
case abi_dump::ElfSymbolBinding::Global:
return ElfSymbolIR::ElfSymbolBinding::Global;
case abi_dump::ElfSymbolBinding::Weak:
return ElfSymbolIR::ElfSymbolBinding::Weak;
}
// We skip symbols of all other Bindings
assert(0);
}
inline abi_dump::AccessSpecifier AccessIRToProtobuf(AccessSpecifierIR access) {
switch (access) {
case AccessSpecifierIR::ProtectedAccess:

View File

@@ -367,7 +367,9 @@ void ProtobufTextFormatToIRReader::ReadEnumTypes(
void ProtobufTextFormatToIRReader::ReadElfFunctions(
const abi_dump::TranslationUnit &tu) {
for (auto &&elf_function : tu.elf_functions()) {
ElfFunctionIR elf_function_ir(elf_function.name());
ElfFunctionIR elf_function_ir(
elf_function.name(),
ElfSymbolBindingProtobufToIR(elf_function.binding()));
elf_functions_.insert(
{elf_function_ir.GetName(), std::move(elf_function_ir)});
}
@@ -376,7 +378,8 @@ void ProtobufTextFormatToIRReader::ReadElfFunctions(
void ProtobufTextFormatToIRReader::ReadElfObjects(
const abi_dump::TranslationUnit &tu) {
for (auto &&elf_object : tu.elf_objects()) {
ElfObjectIR elf_object_ir(elf_object.name());
ElfObjectIR elf_object_ir(
elf_object.name(), ElfSymbolBindingProtobufToIR(elf_object.binding()));
elf_objects_.insert(
{elf_object_ir.GetName(), std::move(elf_object_ir)});
}
@@ -1025,6 +1028,8 @@ bool ProtobufIRDumper::AddElfFunctionIR(const ElfFunctionIR *elf_function) {
return false;
}
added_elf_function->set_name(elf_function->GetName());
added_elf_function->set_binding(
ElfSymbolBindingIRToProtobuf(elf_function->GetBinding()));
return true;
}
@@ -1034,6 +1039,8 @@ bool ProtobufIRDumper::AddElfObjectIR(const ElfObjectIR *elf_object) {
return false;
}
added_elf_object->set_name(elf_object->GetName());
added_elf_object->set_binding(
ElfSymbolBindingIRToProtobuf(elf_object->GetBinding()));
return true;
}
@@ -1508,4 +1515,4 @@ bool ProtobufIRDiffDumper::Dump() {
return google::protobuf::TextFormat::Print(*diff_tu_.get(), &text_os);
}
} //abi_util
} // namespace abi_util

View File

@@ -13,6 +13,7 @@
// limitations under the License.
#include <header_abi_util.h>
#include <ir_representation.h>
#include <llvm/Object/ELFObjectFile.h>
#include <llvm/Object/Binary.h>
@@ -44,24 +45,34 @@ static inline T UnWrap(llvm::Expected<T> ValueOrError) {
}
template<typename T>
const std::set<std::string> &ELFSoFileParser<T>::GetFunctions() const {
const std::map<std::string, abi_util::ElfFunctionIR> &
ELFSoFileParser<T>::GetFunctions() const {
return functions_;
}
template<typename T>
const std::set<std::string> &ELFSoFileParser<T>::GetGlobVars() const {
const std::map<std::string, abi_util::ElfObjectIR> &
ELFSoFileParser<T>::GetGlobVars() const {
return globvars_;
}
template<typename T>
bool ELFSoFileParser<T>::IsSymbolExported(const Elf_Sym *elf_sym) const {
unsigned char visibility = elf_sym->getVisibility();
unsigned char binding = elf_sym->getBinding();
return (binding == STB_GLOBAL || binding == STB_WEAK) &&
(visibility == STV_DEFAULT ||
visibility == STV_PROTECTED);
(visibility == STV_DEFAULT || visibility == STV_PROTECTED);
}
static abi_util::ElfSymbolIR::ElfSymbolBinding
LLVMToIRSymbolBinding(unsigned char binding) {
switch (binding) {
case STB_GLOBAL:
return abi_util::ElfSymbolIR::ElfSymbolBinding::Global;
case STB_WEAK:
return abi_util::ElfSymbolIR::ElfSymbolBinding::Weak;
}
assert(0);
}
template<typename T>
@@ -74,12 +85,15 @@ void ELFSoFileParser<T>::GetSymbols() {
if (!IsSymbolExported(elf_sym) || elf_sym->isUndefined()) {
continue;
}
abi_util::ElfSymbolIR::ElfSymbolBinding symbol_binding =
LLVMToIRSymbolBinding(elf_sym->getBinding());
llvm::object::SymbolRef::Type type = UnWrap(symbol_it.getType());
std::string symbol_name = UnWrap(symbol_it.getName());
if (type == llvm::object::SymbolRef::Type::ST_Function) {
functions_.insert(symbol_name);
functions_.emplace(symbol_name,
ElfFunctionIR(symbol_name, symbol_binding));
} else if (type == llvm::object::SymbolRef::Type::ST_Data) {
globvars_.insert(symbol_name);
globvars_.emplace(symbol_name, ElfObjectIR(symbol_name, symbol_binding));
}
}
}

View File

@@ -106,7 +106,8 @@ void VersionScriptParser::AddToVars(std::string &symbol) {
if (symbol.find("*") != std::string::npos) {
globvar_regexs_.insert(symbol);
} else {
globvars_.insert(symbol);
globvars_.emplace(
symbol, ElfObjectIR(symbol, ElfSymbolIR::ElfSymbolBinding::Global));
}
}
@@ -114,7 +115,8 @@ void VersionScriptParser::AddToFunctions(std::string &symbol) {
if (symbol.find("*") != std::string::npos) {
function_regexs_.insert(symbol);
} else {
functions_.insert(symbol);
functions_.emplace(
symbol, ElfFunctionIR(symbol, ElfSymbolIR::ElfSymbolBinding::Global));
}
}
@@ -169,11 +171,12 @@ bool VersionScriptParser::ParseInnerBlock(std::ifstream &symbol_ifstream) {
return true;
}
const std::set<std::string> &VersionScriptParser::GetFunctions() {
const std::map<std::string, ElfFunctionIR> &
VersionScriptParser::GetFunctions() {
return functions_;
}
const std::set<std::string> &VersionScriptParser::GetGlobVars() {
const std::map<std::string, ElfObjectIR> &VersionScriptParser::GetGlobVars() {
return globvars_;
}

View File

@@ -160,12 +160,19 @@ message GlobalVarDecl {
optional AccessSpecifier access = 5 [default = public_access];
}
enum ElfSymbolBinding {
Global = 1;
Weak = 2;
}
message ElfFunction {
optional string name = 1;
optional ElfSymbolBinding binding = 2;
}
message ElfObject {
optional string name = 1;
optional ElfSymbolBinding binding = 2;
}
message TranslationUnit {

File diff suppressed because one or more lines are too long

View File

@@ -188,7 +188,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -210,7 +210,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -443,49 +443,65 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker13AddedFunctionEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -438,49 +438,65 @@ global_vars {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZN17HighVolumeSpeaker21global_unprotected_idE"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -415,37 +415,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -423,37 +423,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -479,37 +479,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -433,37 +433,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -431,46 +431,61 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEi"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,34 +419,45 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -414,37 +414,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -35,4 +35,5 @@ builtin_types {
}
elf_functions {
name: "repro"
binding: Global
}

View File

@@ -188,7 +188,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -210,7 +210,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -443,49 +443,65 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker13AddedFunctionEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -438,49 +438,65 @@ global_vars {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZN17HighVolumeSpeaker21global_unprotected_idE"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -415,37 +415,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -423,37 +423,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -479,37 +479,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -433,37 +433,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -431,46 +431,61 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEi"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,34 +419,45 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -414,37 +414,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -35,4 +35,5 @@ builtin_types {
}
elf_functions {
name: "repro"
binding: Global
}

View File

@@ -188,7 +188,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -210,7 +210,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -443,49 +443,65 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker13AddedFunctionEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -438,49 +438,65 @@ global_vars {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZN17HighVolumeSpeaker21global_unprotected_idE"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -415,37 +415,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -423,37 +423,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -479,37 +479,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -433,37 +433,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -431,46 +431,61 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEi"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,34 +419,45 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -414,37 +414,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -35,4 +35,5 @@ builtin_types {
}
elf_functions {
name: "repro"
binding: Global
}

View File

@@ -188,7 +188,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -210,7 +210,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -443,49 +443,65 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker13AddedFunctionEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -438,49 +438,65 @@ global_vars {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZN17HighVolumeSpeaker21global_unprotected_idE"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -415,37 +415,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -423,37 +423,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -479,37 +479,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -433,37 +433,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -432,37 +432,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -431,46 +431,61 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEi"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,34 +419,45 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -414,37 +414,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -35,4 +35,5 @@ builtin_types {
}
elf_functions {
name: "repro"
binding: Global
}

View File

@@ -188,7 +188,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -210,7 +210,9 @@ functions {
}
elf_functions {
name: "CFunction"
binding: Global
}
elf_functions {
name: "_Z3fooPiS_"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -443,49 +443,65 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker13AddedFunctionEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -438,49 +438,65 @@ global_vars {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeakerD2Ev"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeakerD0Ev"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeakerD0Ev"
binding: Global
}
elf_objects {
name: "_ZN17HighVolumeSpeaker21global_unprotected_idE"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -419,37 +419,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -415,37 +415,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -423,37 +423,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -479,37 +479,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

View File

@@ -433,37 +433,49 @@ functions {
}
elf_functions {
name: "_Z26test_virtual_function_callP12SuperSpeaker"
binding: Global
}
elf_functions {
name: "_ZN12NotReferenced"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker11SpeakLouderEv"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker18CreateSuperSpeakerEi"
binding: Global
}
elf_functions {
name: "_ZN12SuperSpeaker9SpeakLoudEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN16LowVolumeSpeaker6ListenEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker11BadPracticeEf"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker5SpeakEv"
binding: Global
}
elf_functions {
name: "_ZN17HighVolumeSpeaker6ListenEv"
binding: Global
}
elf_objects {
name: "_ZTV16LowVolumeSpeaker"
binding: Global
}
elf_objects {
name: "_ZTV17HighVolumeSpeaker"
binding: Global
}

Some files were not shown because too many files have changed in this diff Show More