What is the fixed address range you are using? There are two fixed address ranges that asan is using: one for the shadow, one for the allocator.
If you are using the latest clang, you may try -mllvm -asan-force-dynamic-shadow=1, which will make asan use dynamic shadow base. Note: * you can not mix object files built with asan+asan-force-dynamic-shadow=1 and with asan+asan-force-dynamic-shadow=0 * this flag is expected to work, but does not have the same amount of testing as the default mode. So, if something breaks, we may not be able to help. I don't think we support dynamic allocator range on x86_64 linux. It might still be simpler to modify your code to use a range that doesn't conflict with asan. --kcc On Thu, Feb 28, 2019 at 1:32 AM Jason Newton <[email protected]> wrote: > Hello, > > I'm a long time fan/user of asan. I was trying to use it in an > application with a big chunk of virtual memory mapped to a fixed address > range, it's only a fraction of the virtual address space (a significant > one), but there's still plenty of bits to go around, and hopefully enough > for asan to do it's thing. > > So I was trying to figure out how make asan coexist with this. asan loads > up first which then causes problems for the application after that. > Looking at asan_allocator.h, I can see this: > > > #else //From what I can tell a standard x86_64 intel machine on linux > should land here. > > const uptr kAllocatorSpace = 0x600000000000ULL; > const uptr kAllocatorSize = 0x40000000000ULL; // 4T. > typedef DefaultSizeClassMap SizeClassMap; > # endif > template <typename AddressSpaceViewTy> > struct AP64 { // Allocator64 parameters. Deliberately using a short name. > static const uptr kSpaceBeg = kAllocatorSpace; > > static const uptr kSpaceSize = kAllocatorSize; > > > Not quite sure if these are the knobs I'm looking for - or what the exact > meaning is of kSpaceBeg/kAllocatorSpace > Basically my thought is , could I restrict libasan so it only claims the > virtual address space above the problematic region. > > Thoughts or pointers? > > -Jason > > -- > 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.
