grrr, i forgot one thing in the email. all the asan runtime does is basically reading and writing the shadow memory. crossing the unix call boundary just to read/write memory seems to costly, so the same code is compiled once for each side. this is done by putting it in headers then include them from PE and unix. i don't know if there is a better option.