Updates:
        Cc: [email protected] [email protected]

Comment #1 on issue 330 by [email protected]: Support re-exec of sanitized executable with preloading libasan on Linux and Android
https://code.google.com/p/address-sanitizer/issues/detail?id=330

The reason for which we're having MaybeReexec() on Mac is that even when the instrumented main executable depends on the shared ASan runtime library, we have to preload that runtime library into the executable in order for the interceptors to work correctly (this is Mac-specific). We try our best to do re-execution very early on Mac, earlier than the program starts doing anything.

If only a single shared library in the testing environment is instrumented (and depends on the ASan runtime library), and the main executable is not, __asan_init() is going to be called only at the moment that library is loaded (including the case when we use dlopen() to load it). At that moment the main executable might have done a fair amount of work which we can't simply replay upon reexec().

I believe that unless the main executable depends on the ASan shared runtime the users must explicitly preload the runtime in order to test any pieces of code that might initialize late.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to