On Thu, Mar 28, 2013 at 12:00:23PM +0400, Evgeniy Stepanov wrote: > We do it because newer versions of Android use PIE binaries, and, > combined with other specifics of address space on Linux/ARM, there is > no space for ASan shadow anywhere else. And it's faster. > > Zero-based shadow requires PIE. Non-zero-based requires non-PIE on > Android. Is it the same with QEMU? If so, we should switch to > zero-based for uniformity and performance.
I don't think most of the arm-linux-gnueabi binaries are PIEs, so using zero shadow offset would be wrong on Linux. If 1 << 29 works (e.g. prelink library area on linux-arm is 0x41000000 .. 0x50000000, so shadow of 0x20000000 .. 0x3fffffff is fine for that), IMHO we should use it. Jakub