diff options
author | van Hauser <vh@thc.org> | 2021-01-22 13:50:16 +0100 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2021-01-22 13:50:16 +0100 |
commit | 46010a87049bdf32ef23b08d25c186aba3aae442 (patch) | |
tree | aec7b30077dedc5f63fcc04b05c1b889133894a8 /instrumentation/cmplog-routines-pass.cc | |
parent | ac21e4dd7304c3306a9acb5fa6ac051d3ab64b20 (diff) | |
download | afl++-46010a87049bdf32ef23b08d25c186aba3aae442.tar.gz |
prepare for cmplog rtn std::string support for llvm and g++
Diffstat (limited to 'instrumentation/cmplog-routines-pass.cc')
-rw-r--r-- | instrumentation/cmplog-routines-pass.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/instrumentation/cmplog-routines-pass.cc b/instrumentation/cmplog-routines-pass.cc index e92883ae..8adf42d5 100644 --- a/instrumentation/cmplog-routines-pass.cc +++ b/instrumentation/cmplog-routines-pass.cc @@ -131,6 +131,11 @@ bool CmpLogRoutines::hookRtns(Module &M) { FunctionType *FT = Callee->getFunctionType(); + // _ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE7compareEmmPKcm + // => libc++ => llvm => __cmplog_rtn_llvm_stdstring_cstring(u8 *stdstring1, u8 *stdstring2) + // _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc + // => libstdc++ => gcc => __cmplog_rtn_gcc_stdstring_cstring + bool isPtrRtn = FT->getNumParams() >= 2 && !FT->getReturnType()->isVoidTy() && FT->getParamType(0) == FT->getParamType(1) && |