[LLVMdev] should asan catch tihs?
Eli Friedman
eli.friedman at gmail.com
Fri Nov 2 18:38:50 PDT 2012
On Fri, Nov 2, 2012 at 6:27 PM, Rafael EspĂndola
<rafael.espindola at gmail.com> wrote:
> I just tried asan on an optimized 32 bit build of
> -------------------------------------
> #include <stdint.h>
> __attribute__((noinline))
> void f(uint64_t *p) {
> *p = 42;
> }
> int main() {
> void *p;
> f((uint64_t*)&p);
> }
> ------------------------------------
>
> and it correctly catches the invalid access. If I comment the
> attribute, the optimizers find and exploit the undefined behavior and
> asan fails to report it. Is this the expected behavior? Is this
> something that needs -fcatch-undefined-behavior instead?
For performance reasons, asan runs at the end of the optimization
pipeline, so it doesn't check loads which get removed by the IR
optimizers.
-Eli
More information about the llvm-dev
mailing list