This diff enables address sanitizer on Emscripten.
On Emscripten, real memory starts at the value passed to --global-base.
All memory before this is used as shadow memory, and thus the shadow mapping
function is simply dividing by 8.
Differential D63742
[WebAssembly] Implement Address Sanitizer for Emscripten quantum on Jun 24 2019, 3:45 PM. Authored by
Details This diff enables address sanitizer on Emscripten. On Emscripten, real memory starts at the value passed to --global-base. All memory before this is used as shadow memory, and thus the shadow mapping
Diff Detail
Event Timeline
Comment Actions I wonder if we should use the linux/unix convention or edata etext and end? Terrible names obviously but there is precedent. I can't remember why I didn't do that for data_end and heap_base. If not, then perhaps this should be called data_start to match the existing data_end? Of course this means that command line flag is somewhat misnamed then. Comment Actions As for the name, I think __global_base matches the command line flag and makes it more clear what controls it, so I lean towards that.
Comment Actions Remember to remove "A symbol __global_base is added so that code may know where the shadow |