about summary refs log tree commit diff
path: root/instrumentation/cmplog-routines-pass.cc
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-01-22 13:50:16 +0100
committervan Hauser <vh@thc.org>2021-01-22 13:50:16 +0100
commit46010a87049bdf32ef23b08d25c186aba3aae442 (patch)
treeaec7b30077dedc5f63fcc04b05c1b889133894a8 /instrumentation/cmplog-routines-pass.cc
parentac21e4dd7304c3306a9acb5fa6ac051d3ab64b20 (diff)
downloadafl++-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.cc5
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) &&