Hi,

I am trying to use the dataflow sanitizer with the address sanitizer, but 
they clash together giving me a long sequence of errors due to multiple 
definitions in both sanitizers:

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.dfsan-x86_64.a(interception_linux.cc.o):
 
In function `__interception::GetRealFunctionAddress(char const*, \

unsigned long*, unsigned long, unsigned long)':

clang-llvm/llvm/projects/compiler-rt/lib/interception/interception_linux.cc:22: 
multiple definition of `__interception::GetRealFunctionAddress(char const*, 
unsigned long*, u\

nsigned long, unsigned long)'

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.asan-x86_64.a(interception_linux.cc.o):clang-llvm/llvm/projects/compiler-rt/
\

lib/interception/interception_linux.cc:22: first defined here

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.dfsan-x86_64.a(interception_linux.cc.o):
 
In function `__interception::GetFuncAddrVer(char const*, char con\

st*)':

clang-llvm/llvm/projects/compiler-rt/lib/interception/interception_linux.cc:28: 
multiple definition of `__interception::GetFuncAddrVer(char const*, char 
const*)'

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.asan-x86_64.a(interception_linux.cc.o):clang-llvm/llvm/projects/compiler-rt/
\

lib/interception/interception_linux.cc:28: first defined here

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.dfsan-x86_64.a(sanitizer_allocator.cc.o):
 
In function `atomic_load<__sanitizer::atomic_uint8_t>':

clang-llvm/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h:47:
 
multiple definition of `__sanitizer::internal_allocator()'

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.asan-x86_64.a(sanitizer_allocator.cc.o):clang-llvm/llvm/projects/compiler-rt
\

/lib/sanitizer_common/sanitizer_atomic_clang_x86.h:47: first defined here

clang-llvm/ninja-build-clang/lib/clang/5.0.0/lib/linux/libclang_rt.dfsan-x86_64.a(sanitizer_allocator.cc.o):
 
In function `__sanitizer::LowLevelAllocator::Allocate(unsigned l\

ong)':


The simplest stripped example is compiling any cpp file for example:

// simple.cc

int main() {

  return 0;

}


with the command:

clang++ simple.cc -fsanitize=address,dataflow


Thanks,

Farah

-- 
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to address-sanitizer+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to