Hi Konstantin/Renato, >> The values that define the location of the shadow are initialized at startup, >> so it should not be a problem. > > Excellent! >
The Shadow offset, I need to set "1<<39" for Aarch64 (42 bit VA) and 1<<36 for Aarch64 (39 bit VA). In asan_mapping.h, it is defined as static const u64 kAArch64_ShadowOffset64 = 1ULL << 36. If I understand correctly, I need to initialize this at startup in both places, compiler-rt/lib/asan and LLVM 's instrumentation place lib/Transforms/Instrumentation/AddressSanitizer.cpp ? >> The values for Allocator64 have to be compile-time constants for >> better performance, >> but Allocator64 is not going to work on 39 (and probably on 42) bits anyway. >> We'll need to use Allocator32. For Aarch64 with 42 VA bit I need to turn on Allocator64 and for 39 bit VA I need to turn on Allocator32. ASAN/TSAN does not work when allocator32 is on for 42bit VA. So I also need to detect and switch allocator types based on VA. On 25 March 2015 at 22:21, Renato Golin <[email protected]> wrote: > On 25 March 2015 at 16:41, Konstantin Serebryany > <[email protected]> wrote: >> Is it only 39 and 42, or is there a 3-rd option? > > As far as I know, only these two. > > >> The values that define the location of the shadow are initialized at startup, >> so it should not be a problem. > > Excellent! > > >> The values for Allocator64 have to be compile-time constants for >> better performance, >> but Allocator64 is not going to work on 39 (and probably on 42) bits anyway. >> We'll need to use Allocator32. > > That's our conclusion, too. > > I think the next step is to implement the run-time check for AArch64. > > Thanks for the help! > > cheers, > --renato -- 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.
