Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libstdc++ is broken on MacOS Mojave 10.14.1 with XCode 10.1 #206

Open
HardVeur opened this issue Dec 8, 2018 · 3 comments
Open

libstdc++ is broken on MacOS Mojave 10.14.1 with XCode 10.1 #206

HardVeur opened this issue Dec 8, 2018 · 3 comments

Comments

@HardVeur
Copy link

HardVeur commented Dec 8, 2018

./install.sh fails on MacOS Mojave with following error

Installing OS X dependencies
Already up-to-date.
Warning: python 3.7.1 is already installed and up-to-date
To reinstall 3.7.1, run `brew reinstall python`
Warning: capstone 3.0.5 is already installed and up-to-date
To reinstall 3.0.5, run `brew reinstall capstone`
Warning: graphviz 2.40.1 is already installed and up-to-date
To reinstall 2.40.1, run `brew reinstall graphviz`
Requirement already satisfied: virtualenv in /usr/local/lib/python2.7/site-packages (16.0.0)
++ dirname ./pin_build.sh
+ cd ./pin
+ case "`uname`" in
++ uname
+ test -d pin-latest
+ true
+ PIN_ROOT=./pin-latest
+ TARGET=intel64
+ make
makefile:35: warning: overriding commands for target `clean'
pin-latest/source/tools/Config/makefile.default.rules:95: warning: ignoring old commands for target `clean'
c++ -DBIGARRAY_MULTIPLIER=1 -Wall -Werror -Wno-unknown-pragmas -fno-stack-protector -DTARGET_IA32E -DHOST_IA32E -fPIC -DTARGET_MAC -stdlib=libstdc++  -I./pin-latest/source/include/pin -I./pin-latest/source/include/pin/gen -I./pin-latest/extras/components/include -I./pin-latest/extras/xed-intel64/include -I./pin-latest/source/tools/InstLib -O3 -fomit-frame-pointer -fno-strict-aliasing  -Wno-error  -c -o obj-intel64/qirapin.o qirapin.cpp
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from qirapin.cpp:1:
In file included from ./pin-latest/source/include/pin/pin.H:43:
./pin-latest/source/include/pin/level_base.PLH:64:10: fatal error: 'string' file not found
#include <string>
         ^~~~~~~~
1 warning and 1 error generated.
make: *** [obj-intel64/qirapin.o] Error 1

After removing the -stdlib=libstdc++ parameter from the makefile in qira/tracers/pin/makefile with

TOOL_CXXFLAGS:=$(filter-out -stdlib=libstdc++,$(TOOL_CXXFLAGS))

After that the next error was

Installing OS X dependencies
Updated 1 tap (homebrew/cask).
No changes to formulae.
Warning: python 3.7.1 is already installed and up-to-date
To reinstall 3.7.1, run `brew reinstall python`
Warning: capstone 3.0.5 is already installed and up-to-date
To reinstall 3.0.5, run `brew reinstall capstone`
Warning: graphviz 2.40.1 is already installed and up-to-date
To reinstall 2.40.1, run `brew reinstall graphviz`
Requirement already satisfied: virtualenv in /usr/local/lib/python2.7/site-packages (16.0.0)
++ dirname ./pin_build.sh
+ cd ./pin
+ case "`uname`" in
++ uname
+ test -d pin-latest
+ true
+ PIN_ROOT=./pin-latest
+ TARGET=intel64
+ make
makefile:36: warning: overriding commands for target `clean'
pin-latest/source/tools/Config/makefile.default.rules:95: warning: ignoring old commands for target `clean'
c++ -shared -w -Wl,-exported_symbols_list -Wl,./pin-latest/source/include/pin/pintool.exp  -stdlib=libstdc++  -o obj-intel64/qirapin.dylib obj-intel64/qirapin.o  -L./pin-latest/intel64/lib -L./pin-latest/intel64/lib-ext -L./pin-latest/intel64/runtime/glibc -L./pin-latest/extras/xed-intel64/lib -lpin -lxed -lpindwarf
Undefined symbols for architecture x86_64:
  "LEVEL_BASE::AssertString(char const*, char const*, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      RecordMemRead(unsigned int, unsigned long long, unsigned int) in qirapin.o
      RecordMemWrite1(unsigned int, unsigned long long, unsigned long long) in qirapin.o
      RecordMemWrite2(unsigned int, unsigned long long, unsigned int) in qirapin.o
      SyscallEntry(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*) in qirapin.o
      dumpimage(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long, bool, unsigned long long, unsigned long long) in qirapin.o
      ThreadFini(unsigned int, LEVEL_VM::CONTEXT const*, int, void*) in qirapin.o
      Process_State::init(int) in qirapin.o
      ...
  "LEVEL_BASE::MESSAGE_TYPE::MessageNoReturn(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, PIN_ERRTYPE, int, ...)", referenced from:
      RecordMemRead(unsigned int, unsigned long long, unsigned int) in qirapin.o
      RecordMemWrite1(unsigned int, unsigned long long, unsigned long long) in qirapin.o
      RecordMemWrite2(unsigned int, unsigned long long, unsigned int) in qirapin.o
      SyscallEntry(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*) in qirapin.o
      dumpimage(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long long, bool, unsigned long long, unsigned long long) in qirapin.o
      ThreadFini(unsigned int, LEVEL_VM::CONTEXT const*, int, void*) in qirapin.o
      Process_State::init(int) in qirapin.o
      ...
  "LEVEL_BASE::KNOBVALUE<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::FromString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      LEVEL_BASE::KNOBVALUE<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::Overwrite(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in qirapin.o
      LEVEL_BASE::KNOBVALUE<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::Accumulate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in qirapin.o
  "LEVEL_BASE::KNOBVALUE<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::Type()", referenced from:
      LEVEL_BASE::KNOB<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::Type() in qirapin.o
  "LEVEL_BASE::KNOBVALUE<bool>::FromString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      LEVEL_BASE::KNOB<bool>::AddValue(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in qirapin.o
      LEVEL_BASE::KNOBVALUE_LIST<bool>::Append(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in qirapin.o
  "LEVEL_BASE::KNOB_BASE::KNOB_BASE(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, LEVEL_BASE::KNOB_MODE)", referenced from:
      LEVEL_BASE::KNOB<bool>::KNOB(LEVEL_BASE::KNOB_MODE, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in qirapin.o
      LEVEL_BASE::KNOB<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::KNOB(LEVEL_BASE::KNOB_MODE, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in qirapin.o
  "std::string::find_last_of(char const*, unsigned long, unsigned long) const", referenced from:
      LEVEL_PINCLIENT::IMG_IsStandardSystemLibrary(LEVEL_CORE::INDEX<1>) in libpin.a(image_macho.os)
  "std::string::find(char const*, unsigned long, unsigned long) const", referenced from:
      LEVEL_BASE::KNOB_BASE::KNOB_BASE(std::string const&, std::string const&, std::string const&, std::string const&, std::string const&, LEVEL_BASE::KNOB_MODE) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::CheckAllKnobs(bool) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::FindKnob(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::DisableKnobFamily(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::EnableKnobFamily(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::StringKnobSummary() in libpin.a(knob.os)
      LEVEL_BASE::GetEnvFromArray(char const**, char const*) in libpin.a(util.os)
      ...
  "std::string::find(char, unsigned long) const", referenced from:
      LEVEL_BASE::KNOBVALUE<LEVEL_BASE::ADDRESS_RANGE>::FromString(std::string const&) in libpin.a(knob.os)
      LEVEL_PINCLIENT::UseShortName(LEVEL_CORE::INDEX<3>, LEVEL_CORE::INDEX<9>) in libpin.a(image.os)
  "std::string::compare(char const*) const", referenced from:
      LEVEL_BASE::KNOB_BASE::StringKnobSummary() in libpin.a(knob.os)
      LEVEL_BASE::KNOBVALUE<bool>::FromString(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::KNOBVALUE<bool>::Overwrite(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::KNOBVALUE<bool>::Accumulate(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::COMMAND_LINE_ARGUMENTS::FindArgument(std::string const&) const in libpin.a(util.os)
      LEVEL_BASE::COMMAND_LINE_ARGUMENTS::RemoveArguments(std::string const&, int) in libpin.a(util.os)
      LEVEL_BASE::GetEnvFromArray(char const**, char const*) in libpin.a(util.os)
      ...
  "std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  "std::basic_ios<char, std::char_traits<char> >::widen(char) const", referenced from:
      LEVEL_BASE::ReadLine(std::istream&, unsigned int*) in libpin.a(util.os)
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XED_print_bytes(std::ostream&, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      ...
  "std::ostream::put(char)", referenced from:
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::ValidateEncoding(LEVEL_CORE::INDEX<6>, unsigned int, unsigned char*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
  "std::ostream::flush()", referenced from:
      LEVEL_PINCLIENT::DumpCharmVersion() in libpin.a(pin_client.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::ValidateEncoding(LEVEL_CORE::INDEX<6>, unsigned int, unsigned char*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      ...
  "std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XED_print_bytes(std::ostream&, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::ValidateEncoding(LEVEL_CORE::INDEX<6>, unsigned int, unsigned char*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      ...
  "std::ostream& std::ostream::_M_insert<unsigned long long>(unsigned long long)", referenced from:
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
  "std::ostream::operator<<(int)", referenced from:
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_PINCLIENT::IMG_TargetDescription() in libpin.a(image_macho.os)
  "std::string::_M_leak_hard()", referenced from:
      LEVEL_BASE::ReadLine(std::istream&, unsigned int*) in libpin.a(util.os)
      LEVEL_BASE::Joinpath(std::string, std::string) in libpin.a(util.os)
  "std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:
      LEVEL_BASE::VersionShort() in libpin.a(version.os)
      LEVEL_BASE::ReleaseShort() in libpin.a(version.os)
      LEVEL_BASE::VersionLong() in libpin.a(version.os)
      LEVEL_BASE::ReleaseLong() in libpin.a(version.os)
      LEVEL_BASE::VersionDetailed() in libpin.a(version.os)
      LEVEL_BASE::VersionFancy() in libpin.a(version.os)
      LEVEL_PINCLIENT::PIN_WriteErrorMessage(char const*, int, PIN_ERR_SEVERITY_TYPE, int, ...) in libpin.a(pin_client.os)
      ...
  "std::string::_Rep::_S_empty_rep_storage", referenced from:
      LEVEL_BASE::VersionShort() in libpin.a(version.os)
      LEVEL_BASE::ReleaseShort() in libpin.a(version.os)
      LEVEL_BASE::VersionLong() in libpin.a(version.os)
      LEVEL_BASE::ReleaseLong() in libpin.a(version.os)
      LEVEL_BASE::VersionDetailed() in libpin.a(version.os)
      LEVEL_BASE::VersionFancy() in libpin.a(version.os)
      _.memset_pattern in libpin.a(version.os)
      ...
  "std::string::append(char const*, unsigned long)", referenced from:
      LEVEL_BASE::VersionShort() in libpin.a(version.os)
      LEVEL_BASE::ReleaseShort() in libpin.a(version.os)
      LEVEL_BASE::VersionLong() in libpin.a(version.os)
      LEVEL_BASE::ReleaseLong() in libpin.a(version.os)
      LEVEL_BASE::VersionDetailed() in libpin.a(version.os)
      LEVEL_BASE::VersionFancy() in libpin.a(version.os)
      LEVEL_PINCLIENT::GetCurrentSysIdById(unsigned int) in libpin.a(pin_client.os)
      ...
  "std::string::append(std::string const&)", referenced from:
      LEVEL_BASE::ReleaseShort() in libpin.a(version.os)
      LEVEL_BASE::VersionLong() in libpin.a(version.os)
      LEVEL_BASE::ReleaseLong() in libpin.a(version.os)
      LEVEL_BASE::VersionDetailed() in libpin.a(version.os)
      LEVEL_BASE::VersionFancy() in libpin.a(version.os)
      LEVEL_PINCLIENT::PIN_AddForkFunction(LEVEL_PINCLIENT::FPOINT, void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*), void*) in libpin.a(pin_client.os)
      LEVEL_PINCLIENT::CheckAndUpdateCondInstState(char const*, LEVEL_PINCLIENT::CONDINSTSTATE&, LEVEL_PINCLIENT::CONDINSTSTATE) in libpin.a(pin_client.os)
      ...
  "std::string::append(unsigned long, char)", referenced from:
      LEVEL_BASE::Joinpath(std::string, std::string) in libpin.a(util.os)
  "std::string::assign(char const*, unsigned long)", referenced from:
      LEVEL_CORE::SEC_ComputeNewSecDataExec(LEVEL_CORE::INDEX<2>, void*) in libpin.a(ins_ia32.os)
      LEVEL_PINCLIENT::RTN_FindNameByAddress(unsigned long long) in libpin.a(image.os)
      LEVEL_CORE::INS_REUSERS_MANAGER::ToStr() in libpin.a(ins_reuse_ia32.os)
  "std::string::assign(std::string const&)", referenced from:
      LEVEL_BASE::KNOBVALUE<std::string>::Overwrite(std::string const&) in libpin.a(pin_client.os)
      LEVEL_BASE::KNOBVALUE<std::string>::Accumulate(std::string const&) in libpin.a(pin_client.os)
      LEVEL_BASE::KNOB<bool>::AddValue(std::string const&) in libpin.a(pin_client.os)
      LEVEL_BASE::KNOBVALUE_LIST<bool>::Append(std::string const&) in libpin.a(pin_client.os)
      LEVEL_BASE::MESSAGE_TYPE::RegisterLogFile(std::string const&, bool) in libpin.a(message.os)
      LEVEL_BASE::MESSAGE_TYPE::RegisterImageName(std::string const&) in libpin.a(message.os)
      LEVEL_BASE::KNOB<unsigned int>::AddValue(std::string const&) in libpin.a(message.os)
      ...
  "std::string::replace(unsigned long, unsigned long, char const*, unsigned long)", referenced from:
      LEVEL_BASE::MESSAGE_TYPE::StringLongAll() in libpin.a(message.os)
      LEVEL_BASE::KNOB_BASE::KNOB_BASE(std::string const&, std::string const&, std::string const&, std::string const&, std::string const&, LEVEL_BASE::KNOB_MODE) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::FindKnob(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::KNOB_BASE::StringLongAll() in libpin.a(knob.os)
      LEVEL_BASE::STAT_NORM::StringValue() in libpin.a(stat.os)
      LEVEL_BASE::STAT::StringLongAll() in libpin.a(stat.os)
      LEVEL_BASE::STAT::StringPurposeAll() in libpin.a(stat.os)
      ...
  "std::string::reserve(unsigned long)", referenced from:
      LEVEL_BASE::VersionLong() in libpin.a(version.os)
      LEVEL_BASE::ReleaseLong() in libpin.a(version.os)
      LEVEL_BASE::VersionFancy() in libpin.a(version.os)
      LEVEL_PINCLIENT::CheckAndUpdateCondInstState(char const*, LEVEL_PINCLIENT::CONDINSTSTATE&, LEVEL_PINCLIENT::CONDINSTSTATE) in libpin.a(pin_client.os)
      LEVEL_PINCLIENT::PIN_Init(int, char**) in libpin.a(pin_client.os)
      LEVEL_BASE::REG_StringShort(LEVEL_BASE::REG) in libpin.a(reg_ia32.os)
      LEVEL_BASE::MESSAGE_TYPE::Enable(std::string const&) in libpin.a(message.os)
      ...
  "std::string::_M_mutate(unsigned long, unsigned long, unsigned long)", referenced from:
      LEVEL_PINCLIENT::CallDebugInterpreters(unsigned int, LEVEL_VM::CONTEXT*, char const*, char const**) in libpin.a(debugger_client.os)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
      LEVEL_BASE::VersionShort() in libpin.a(version.os)
      LEVEL_BASE::VersionDetailed() in libpin.a(version.os)
      LEVEL_PINCLIENT::GetCurrentSysIdById(unsigned int) in libpin.a(pin_client.os)
      LEVEL_PINCLIENT::CheckPinClientLock(char const*) in libpin.a(pin_client.os)
      LEVEL_PINCLIENT::CheckPinInitialized() in libpin.a(pin_client.os)
      LEVEL_PINCLIENT::PIN_TryClientLock() in libpin.a(pin_client.os)
      LEVEL_PINCLIENT::EnterPinClientMasterMode() in libpin.a(pin_client.os)
      ...
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned long, std::allocator<char> const&)", referenced from:
      llvm::sys::RemoveFileOnSignal(llvm::StringRef, std::string*) in libpindwarf.a(Signals.cpp.o)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)", referenced from:
      LEVEL_BASE::VersionShort() in libpin.a(version.os)
      LEVEL_BASE::ReleaseShort() in libpin.a(version.os)
      LEVEL_BASE::VersionLong() in libpin.a(version.os)
      LEVEL_BASE::ReleaseLong() in libpin.a(version.os)
      LEVEL_BASE::VersionDetailed() in libpin.a(version.os)
      LEVEL_BASE::VersionFancy() in libpin.a(version.os)
      LEVEL_PINCLIENT::GetCurrentSysIdById(unsigned int) in libpin.a(pin_client.os)
      ...
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&, unsigned long, unsigned long)", referenced from:
      LEVEL_BASE::MESSAGE_TYPE::MessageInternal(std::string const&, bool, PIN_ERRTYPE, __va_list_tag*, int) in libpin.a(message.os)
      LEVEL_BASE::KNOBVALUE<LEVEL_BASE::ADDRESS_RANGE>::FromString(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::Reformat(std::string const&, std::string const&, unsigned int, unsigned int) in libpin.a(util.os)
      LEVEL_BASE::Tokenize(std::string const&, std::string*, unsigned int) in libpin.a(util.os)
      LEVEL_BASE::GetEnvFromArray(char const**, char const*) in libpin.a(util.os)
      LEVEL_PINCLIENT::IMG_IsStandardSystemLibrary(LEVEL_CORE::INDEX<1>) in libpin.a(image_macho.os)
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(unsigned long, char, std::allocator<char> const&)", referenced from:
      LEVEL_BASE::MESSAGE_TYPE::StringLongAll() in libpin.a(message.os)
      __GLOBAL__I_a in libpin.a(message.os)
      LEVEL_BASE::KNOB_BASE::StringLongAll() in libpin.a(knob.os)
      LEVEL_BASE::STAT_NORM::StringValue() in libpin.a(stat.os)
      LEVEL_BASE::STAT::StringLongAll() in libpin.a(stat.os)
      LEVEL_BASE::STAT::StringPurposeAll() in libpin.a(stat.os)
      LEVEL_CORE::SEC_SetNewSize(LEVEL_CORE::INDEX<2>, unsigned int) in libpin.a(sec.os)
      ...
  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()", referenced from:
      __GLOBAL__I_a in libpin.a(message.os)
      __GLOBAL__I_a in libpin.a(rtn.os)
      LEVEL_PINCLIENT::CallDebugInterpreters(unsigned int, LEVEL_VM::CONTEXT*, char const*, char const**) in libpin.a(debugger_client.os)
      LEVEL_PINCLIENT::CallFollowChildProcess(LEVEL_BASE::CHILD_PROCESS_CLASS*, char const**) in libpin.a(child_process_client.os)
  "std::_List_node_base::hook(std::_List_node_base*)", referenced from:
      LEVEL_PINCLIENT::IMG_RecordLoadOp(std::string const&, char const*, unsigned long long, unsigned int) in libpin.a(image.os)
      LEVEL_PINCLIENT::IMG_RecordLoadOp(LEVEL_CORE::INDEX<1>) in libpin.a(image.os)
      LEVEL_PINCLIENT::IMG_ReplayImageLoad(LEVEL_CORE::INDEX<1>) in libpin.a(image.os)
      LEVEL_PINCLIENT::AotiRecordCall(LEVEL_VM::IPOINT, LEVEL_CORE::INDEX<6>, LEVEL_VM::ACALL const*) in libpin.a(aoti.os)
      std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO>, std::_Select1st<std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> >, std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> const&) in libpin.a(aoti.os)
      std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO>, std::_Select1st<std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> > >::_M_insert_unique(std::pair<unsigned long long const, LEVEL_PINCLIENT::INSTR_INFO> const&) in libpin.a(aoti.os)
  "std::_List_node_base::unhook()", referenced from:
      LEVEL_PINCLIENT::IMG_ExecuteRecordedLoadOps() in libpin.a(image.os)
  "std::locale::locale()", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  "std::locale::~locale()", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::ValidateEncoding(LEVEL_CORE::INDEX<6>, unsigned int, unsigned char*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_PINCLIENT::IMG_TargetDescription() in libpin.a(image_macho.os)
      ...
  "std::ios_base::Init::Init()", referenced from:
      __GLOBAL__I_a in libpin.a(pin_client.os)
      __GLOBAL__I_a in libpin.a(message.os)
      __GLOBAL__I_a in libpin.a(util.os)
      __GLOBAL__I_a in libpin.a(ins_api_xed_ia32.os)
      __GLOBAL__I_a in libpin.a(ins_syscall_ia32_unix.os)
      __GLOBAL__I_a in libpin.a(ins_ia32.os)
      __GLOBAL__I_a in libpin.a(operand_ia32.os)
      ...
  "std::ios_base::Init::~Init()", referenced from:
      __GLOBAL__I_a in libpin.a(pin_client.os)
      __GLOBAL__I_a in libpin.a(message.os)
      __GLOBAL__I_a in libpin.a(util.os)
      __GLOBAL__I_a in libpin.a(ins_api_xed_ia32.os)
      __GLOBAL__I_a in libpin.a(ins_syscall_ia32_unix.os)
      __GLOBAL__I_a in libpin.a(ins_ia32.os)
      __GLOBAL__I_a in libpin.a(operand_ia32.os)
      ...
  "std::ios_base::ios_base()", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  "std::ios_base::~ios_base()", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::ValidateEncoding(LEVEL_CORE::INDEX<6>, unsigned int, unsigned char*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_PINCLIENT::IMG_TargetDescription() in libpin.a(image_macho.os)
      ...
  "std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  "std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)", referenced from:
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::ValidateEncoding(LEVEL_CORE::INDEX<6>, unsigned int, unsigned char*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XedDecode(xed_decoded_inst_s*, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
  "std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)", referenced from:
      LEVEL_PINCLIENT::DumpCharmVersion() in libpin.a(pin_client.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::XED_print_bytes(std::ostream&, unsigned char const*, unsigned int) in libpin.a(ins_xed_ia32.os)
      ...
  "std::_Rb_tree_decrement(std::_Rb_tree_node_base*)", referenced from:
      std::_Rb_tree<unsigned int, std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> >, std::_Select1st<std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> > > >::_M_insert_unique(std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> > const&) in libpin.a(pin_client.os)
      std::_Rb_tree<int, std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> >, std::_Select1st<std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> > >, std::less<int>, std::allocator<std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> > > >::_M_insert_unique(std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> > const&) in libpin.a(pin_client.os)
      std::_Rb_tree<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY, LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY, std::_Identity<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY>, std::less<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY>, std::allocator<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY> >::_M_insert_unique(LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY const&) in libpin.a(ins_ia32.os)
      LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::AddrInAnyOfRtnRanges(unsigned long long) in libpin.a(image.os)
      LEVEL_PINCLIENT::NotifyDataRange(std::map<unsigned long long, unsigned int, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, unsigned int> > >*, unsigned long long, unsigned int) in libpin.a(image.os)
      std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, unsigned int>, std::_Select1st<std::pair<unsigned long long const, unsigned int> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, unsigned int> > >::_M_insert_unique(std::pair<unsigned long long const, unsigned int> const&) in libpin.a(image.os)
      std::_Rb_tree<unsigned int, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> >, std::_Select1st<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > const&) in libpin.a(image.os)
      ...
  "std::_Rb_tree_increment(std::_Rb_tree_node_base const*)", referenced from:
      LEVEL_PINCLIENT::ImgLoad(std::string const&, char const*, unsigned long long, unsigned int, bool*, void*) in libpin.a(image.os)
      LEVEL_CORE::RTN_MakeBbls(LEVEL_CORE::INDEX<3>) in libpin.a(rtn.os)
  "std::_Rb_tree_increment(std::_Rb_tree_node_base*)", referenced from:
      LEVEL_PINCLIENT::PIN_InterceptSignal(int, bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*), void*) in libpin.a(pin_client.os)
      LEVEL_CORE::ThreadAwareMemcpy(void*, void const*, unsigned int) in libpin.a(ins_ia32.os)
      LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::DisassembleOutsideRanges() in libpin.a(image.os)
      LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::AttemptToExpandRtnSize() in libpin.a(image.os)
      std::_Rb_tree<LEVEL_PINCLIENT::RTN_KEY, std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> >, std::_Select1st<std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> > >, std::less<LEVEL_PINCLIENT::RTN_KEY>, std::allocator<std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> > > >::erase(LEVEL_PINCLIENT::RTN_KEY const&) in libpin.a(image.os)
      std::_Rb_tree<unsigned int, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> >, std::_Select1st<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > const&) in libpin.a(image.os)
      LEVEL_CORE::RTN_MakeBbls(LEVEL_CORE::INDEX<3>) in libpin.a(rtn.os)
      ...
  "std::__throw_length_error(char const*)", referenced from:
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, void*)>* const&) in libpin.a(pin_client.os)
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(LEVEL_CORE::INDEX<1>, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(LEVEL_CORE::INDEX<1>, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(LEVEL_CORE::INDEX<1>, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(LEVEL_CORE::INDEX<1>, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(LEVEL_CORE::INDEX<1>, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(LEVEL_CORE::INDEX<1>, void*)>* const&) in libpin.a(pin_client.os)
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, LEVEL_CORE::SYSCALL_STANDARD, void*)>* const&) in libpin.a(pin_client.os)
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT_CHANGE_REASON, LEVEL_VM::CONTEXT const*, LEVEL_VM::CONTEXT*, int, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT_CHANGE_REASON, LEVEL_VM::CONTEXT const*, LEVEL_VM::CONTEXT*, int, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT_CHANGE_REASON, LEVEL_VM::CONTEXT const*, LEVEL_VM::CONTEXT*, int, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT_CHANGE_REASON, LEVEL_VM::CONTEXT const*, LEVEL_VM::CONTEXT*, int, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT_CHANGE_REASON, LEVEL_VM::CONTEXT const*, LEVEL_VM::CONTEXT*, int, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT_CHANGE_REASON, LEVEL_VM::CONTEXT const*, LEVEL_VM::CONTEXT*, int, void*)>* const&) in libpin.a(pin_client.os)
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, int, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, int, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, int, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, int, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, int, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT const*, int, void*)>* const&) in libpin.a(pin_client.os)
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(void*, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(void*, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(void*, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(void*, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(void*, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(void*, void*)>* const&) in libpin.a(pin_client.os)
      std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, int, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, int, void*)>*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, int, void*)>**, std::vector<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, int, void*)>*, std::allocator<LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, int, void*)>*> > >, LEVEL_PINCLIENT::COMPLEX_CALLBACKVAL<void (*)(unsigned int, LEVEL_VM::CONTEXT*, int, void*)>* const&) in libpin.a(pin_client.os)
      ...
  "std::__throw_out_of_range(char const*)", referenced from:
      LEVEL_BASE::MESSAGE_TYPE::MessageInternal(std::string const&, bool, PIN_ERRTYPE, __va_list_tag*, int) in libpin.a(message.os)
      LEVEL_BASE::KNOBVALUE<LEVEL_BASE::ADDRESS_RANGE>::FromString(std::string const&) in libpin.a(knob.os)
      LEVEL_BASE::Reformat(std::string const&, std::string const&, unsigned int, unsigned int) in libpin.a(util.os)
      LEVEL_BASE::Tokenize(std::string const&, std::string*, unsigned int) in libpin.a(util.os)
      LEVEL_PINCLIENT::IMG_IsStandardSystemLibrary(LEVEL_CORE::INDEX<1>) in libpin.a(image_macho.os)
  "std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)", referenced from:
      LEVEL_PINCLIENT::PIN_InterceptSignal(int, bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*), void*) in libpin.a(pin_client.os)
      LEVEL_CORE::ThreadAwareMemcpy(void*, void const*, unsigned int) in libpin.a(ins_ia32.os)
      LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::DisassembleOutsideRanges() in libpin.a(image.os)
      LEVEL_PINCLIENT::RTN_OUTSIDE_RANGES::FixupRtnStartIfNeeded(LEVEL_CORE::INDEX<3>) in libpin.a(image.os)
      LEVEL_PINCLIENT::IMG_IDENTIFIER::Remove(LEVEL_CORE::INDEX<1>) in libpin.a(image.os)
      LEVEL_PINCLIENT::NotifyDataRange(std::map<unsigned long long, unsigned int, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, unsigned int> > >*, unsigned long long, unsigned int) in libpin.a(image.os)
      LEVEL_PINCLIENT::RTN_Destroy(LEVEL_CORE::INDEX<3>) in libpin.a(image.os)
      ...
  "std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)", referenced from:
      std::_Rb_tree<unsigned int, std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> >, std::_Select1st<std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> > > >::_M_insert_unique(std::pair<unsigned int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<void* (*)(unsigned int, unsigned int, LEVEL_VM::CONTEXT const*, void*, unsigned long long, void*)> > const&) in libpin.a(pin_client.os)
      std::_Rb_tree<int, std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> >, std::_Select1st<std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> > >, std::less<int>, std::allocator<std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> > > >::_M_insert_unique(std::pair<int const, LEVEL_PINCLIENT::SIMPLE_CALLBACKVAL<bool (*)(unsigned int, int, LEVEL_VM::CONTEXT*, bool, LEVEL_BASE::EXCEPTION_INFO const*, void*)> > const&) in libpin.a(pin_client.os)
      std::_Rb_tree<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY, LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY, std::_Identity<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY>, std::less<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY>, std::allocator<LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY> >::_M_insert_unique(LEVEL_CORE::ENCODING_ADDRESS_RANGE_KEY const&) in libpin.a(ins_ia32.os)
      std::_Rb_tree<unsigned long long, std::pair<unsigned long long const, unsigned int>, std::_Select1st<std::pair<unsigned long long const, unsigned int> >, std::less<unsigned long long>, std::allocator<std::pair<unsigned long long const, unsigned int> > >::_M_insert_unique(std::pair<unsigned long long const, unsigned int> const&) in libpin.a(image.os)
      std::_Rb_tree<unsigned int, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> >, std::_Select1st<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > const&) in libpin.a(image.os)
      std::_Rb_tree<unsigned int, std::pair<unsigned int const, LEVEL_CORE::INDEX<1> >, std::_Select1st<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > > >::_M_insert_unique(std::pair<unsigned int const, LEVEL_CORE::INDEX<1> > const&) in libpin.a(image.os)
      std::_Rb_tree<LEVEL_PINCLIENT::RTN_KEY, std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> >, std::_Select1st<std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> > >, std::less<LEVEL_PINCLIENT::RTN_KEY>, std::allocator<std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> > > >::_M_insert_unique(std::pair<LEVEL_PINCLIENT::RTN_KEY const, LEVEL_CORE::INDEX<3> > const&) in libpin.a(image.os)
      ...
  "std::cout", referenced from:
      LEVEL_PINCLIENT::DumpCharmVersion() in libpin.a(pin_client.os)
  "std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)", referenced from:
      LEVEL_BASE::ReadLine(std::istream&, unsigned int*) in libpin.a(util.os)
  "VTT for std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      LEVEL_PINCLIENT::IMG_TargetDescription() in libpin.a(image_macho.os)
  "VTT for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  "vtable for std::basic_streambuf<char, std::char_traits<char> >", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      LEVEL_PINCLIENT::IMG_TargetDescription() in libpin.a(image_macho.os)
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
  "vtable for std::basic_ios<char, std::char_traits<char> >", referenced from:
      LEVEL_CORE::INS_StringShorter(LEVEL_CORE::INDEX<6>) in libpin.a(ins_ia32.os)
      LEVEL_CORE::XedEncode(xed_decoded_inst_s*, unsigned char*, unsigned int, unsigned int*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::xed_reg_to_pin_reg(xed_reg_enum_t, LEVEL_CORE::INDEX<6>) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_XED_replace_dummy(LEVEL_CORE::INDEX<6>, xed_reg_enum_t, LEVEL_BASE::REG, xed_operand_enum_t, unsigned int) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::pin_abort_for_xed(char const*, char const*, int, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_EncodeIns(LEVEL_CORE::INDEX<6>, void*) in libpin.a(ins_xed_ia32.os)
      LEVEL_CORE::INS_DecodeIns(LEVEL_CORE::INDEX<6>, void const**, unsigned int, LEVEL_BASE::EXCEPTION_CODE*) in libpin.a(ins_xed_ia32.os)
      ...
  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [obj-intel64/qirapin.dylib] Error 1

I also tried to install the command lines tools & headers as described here: https://stackoverflow.com/questions/52509602/cant-compile-c-program-on-a-mac-after-upgrade-to-mojave

@gWOLF3
Copy link

gWOLF3 commented Jan 9, 2019

I am having same issue.

@HardVeur Were you able to get it working?

@lzsmi993
Copy link

I am having same issue.

@Umarovm
Copy link

Umarovm commented Mar 1, 2020

Same

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants