http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55341



--- Comment #21 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-12-19 
08:52:43 UTC ---

(In reply to comment #17)

> For whatever reason the fortran code is touching asan's shadow:

>   Address 0x1ffff6742e2c is located in the high shadow area.

> 

> What is __qs_environment_MOD_qs_init doing? 

> Is it normally touching that region of address space?



Ah, it could be the clearing of the stack shadow area.  If there are just a few

stores needed or if it is non-contiguous enough,

          clear_storage (shadow_mem, GEN_INT (last_size >> ASAN_SHADOW_SHIFT),

                         BLOCK_OP_NORMAL);

is expanded as piece-wise stores, but if the shadow memory area is too big,

depending on the target CPU it can be also expanded as memset function call.



So, to fix this, either libasan should for memset ignore any diagnostics for

stores into shadow memory area, or I'll need to force somehow that memset is

never generated for it, or we could have a non-instrumented memset alternative

in libasan and we could call that.

Reply via email to