diff options
| author | Alexey Samsonov <samsonov@google.com> | 2013-09-16 15:45:06 +0000 |
|---|---|---|
| committer | Alexey Samsonov <samsonov@google.com> | 2013-09-16 15:45:06 +0000 |
| commit | 48e256466a8e521df3998a458120bf5608527b72 (patch) | |
| tree | 5fcd358ad2b3301de8965dce22bb632dd3946616 /compiler-rt/lib/asan/asan_mapping.h | |
| parent | ad7925e0c10622c25f22060967ae5967e7cbb950 (diff) | |
| download | bcm5719-llvm-48e256466a8e521df3998a458120bf5608527b72.tar.gz bcm5719-llvm-48e256466a8e521df3998a458120bf5608527b72.zip | |
[ASan] Check that getSymbolizer() is defined. Turn magic mapping constants into named variables
llvm-svn: 190787
Diffstat (limited to 'compiler-rt/lib/asan/asan_mapping.h')
| -rw-r--r-- | compiler-rt/lib/asan/asan_mapping.h | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/compiler-rt/lib/asan/asan_mapping.h b/compiler-rt/lib/asan/asan_mapping.h index acbed469255..d858e5e37ea 100644 --- a/compiler-rt/lib/asan/asan_mapping.h +++ b/compiler-rt/lib/asan/asan_mapping.h @@ -57,32 +57,36 @@ // || `[0x0aaa8000, 0x0bffcfff]` || LowShadow || // || `[0x00000000, 0x0aaa7fff]` || LowMem || +static const u64 kDefaultShadowScale = 3; +static const u64 kDefaultShadowOffset32 = 1ULL << 29; +static const u64 kDefaultShadowOffset64 = 1ULL << 44; +static const u64 kDefaultShort64bitShadowOffset = 0x7FFF8000; // < 2G. +static const u64 kPPC64_ShadowOffset64 = 1ULL << 41; +static const u64 kMIPS32_ShadowOffset32 = 0x0aaa8000; + #if ASAN_FLEXIBLE_MAPPING_AND_OFFSET == 1 extern SANITIZER_INTERFACE_ATTRIBUTE uptr __asan_mapping_scale; extern SANITIZER_INTERFACE_ATTRIBUTE uptr __asan_mapping_offset; # define SHADOW_SCALE (__asan_mapping_scale) # define SHADOW_OFFSET (__asan_mapping_offset) #else +# define SHADOW_SCALE kDefaultShadowScale # if SANITIZER_ANDROID -# define SHADOW_SCALE (3) # define SHADOW_OFFSET (0) # else -# define SHADOW_SCALE (3) # if SANITIZER_WORDSIZE == 32 # if defined(__mips__) -# define SHADOW_OFFSET 0x0aaa8000 +# define SHADOW_OFFSET kMIPS32_ShadowOffset32 # else -# define SHADOW_OFFSET (1 << 29) +# define SHADOW_OFFSET kDefaultShadowOffset32 # endif # else # if defined(__powerpc64__) -# define SHADOW_OFFSET (1ULL << 41) +# define SHADOW_OFFSET kPPC64_ShadowOffset64 +# elif SANITIZER_MAC +# define SHADOW_OFFSET kDefaultShadowOffset64 # else -# if SANITIZER_MAC -# define SHADOW_OFFSET (1ULL << 44) -# else -# define SHADOW_OFFSET 0x7fff8000ULL -# endif +# define SHADOW_OFFSET kDefaultShort64bitShadowOffset # endif # endif # endif |

