1*7c3d14c8STreehugger Robot #if __LP64__ 2*7c3d14c8STreehugger Robot # define SANITIZER_WORDSIZE 64 3*7c3d14c8STreehugger Robot #else 4*7c3d14c8STreehugger Robot # define SANITIZER_WORDSIZE 32 5*7c3d14c8STreehugger Robot #endif 6*7c3d14c8STreehugger Robot 7*7c3d14c8STreehugger Robot // This is a simplified version of GetMaxVirtualAddress function. SystemVMA()8*7c3d14c8STreehugger Robotunsigned long SystemVMA () { 9*7c3d14c8STreehugger Robot #if SANITIZER_WORDSIZE == 64 10*7c3d14c8STreehugger Robot unsigned long vma = (unsigned long)__builtin_frame_address(0); 11*7c3d14c8STreehugger Robot return SANITIZER_WORDSIZE - __builtin_clzll(vma); 12*7c3d14c8STreehugger Robot #else 13*7c3d14c8STreehugger Robot return SANITIZER_WORDSIZE; 14*7c3d14c8STreehugger Robot #endif 15*7c3d14c8STreehugger Robot } 16