Hello!
I posted in github this comment: https://github.com/google/sanitizers/issues/611#issuecomment-368566634 Don't know if github was not the right place for this kind of questions. Let me try in this list... Hi! I have an environment in which I am using an external SDK. This SDK consist of a shared library I link with, and which makes use of dlopen to open other libX.so with RTLD_DEEPBIND flag. I'm not interested at all on sanitize the SDK, I only want to sanitize my own code. How should I proceed? I'm confused about the different -shared-libasan/-static-libasan options. As far as I understand, compiling with -static-libasan (GCC6) should inject all the sanitizer code in my binary and should have no effects on non-sanitized SDK, but I get an error on SDK trying to dlopen the .so: Couldn't load libXXX.so: System error code(-2): libXXX.so: cannot open shared object file: No such file or directory Using LD_LIBRARY_PATH to allow the SDK finding its libXXX.so I get the famous _int_free SEGV ASAN error. Seems like the SDK is redefining any alloc/free function, so there is a mismatch on symbol resolution (SDK vs Asan). Looks like linking with -fsanitize=address changes the order of symbols lookup/LD_PATH. I would need to isolate the SDK so it remains using libc or its own implementation (I don't know how internally works and I don't have access to source code neither). I want this behavior #871 (comment) <https://github.com/google/sanitizers/issues/871#issuecomment-337896857>, but I'm not able to make the SDK run when my binary is using asan. I am open to use blacklist, suppression list, *attribute*((no_sanitize("address"))) or any other option, but I would like to understand the problem. Any hints? Thanks -- 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.