What are the savings? We remove the metadata but add 32 bytes to
redzones. Seems roughly equivalent.

The bss is a good point. It can be unacceptable to lots of
applications that has multi-megabyte objects in bss. Which is I would
say very frequent.


On Wed, Dec 24, 2014 at 11:41 AM, Yury Gribov <[email protected]> wrote:
> Hi all,
>
> Has anyone considered moving global variables metadata (struct
> __asan_global) to redzone? I expect this to save quite some RAM.
>
> This would require us to
> (1) extend redzone on x64 from 32 to 64 bytes (sizeof(__asan_global) ==
> sizeof(uptr) * 7 == 56 bytes)
> (2) add one more pointer 'next' to keep address of next __asan_global in
> current module
> (3) remove pointer to module name from __asan_global and keep it at the end
> of linked list instead
>
> Note that (1) will only be needed for globals which are larger than 4 bytes
> (we'll be able to reuse 32-byte padding). We could squeeze up even more
> space by moving has_dynamic_init bit to lower bits of
> __asan_global.size_with_redzone.
>
> Best regards,
> Yury
>
> --
> 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.

-- 
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