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.