xref: /aosp_15_r20/external/compiler-rt/test/msan/test.h (revision 7c3d14c8b49c529e04be81a3ce6f5cc23712e4c6)
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 Robot unsigned 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