1// Checks that the debugging API returns correct shadow scale and offset. 2// RUN: %clangxx_asan -O %s -o %t 3// RUN: %env_asan_opts=verbosity=1 %run %t 2>&1 | FileCheck %s 4 5#include <sanitizer/asan_interface.h> 6#include <stdio.h> 7#include <stdlib.h> 8 9// printed because of verbosity=1 10// CHECK: SHADOW_SCALE: [[SCALE:[0-9]+]] 11// CHECK: SHADOW_OFFSET: [[OFFSET:0x[0-9a-f]+]] 12 13int main() { 14 size_t scale, offset; 15 __asan_get_shadow_mapping(&scale, &offset); 16 17 fprintf(stderr, "scale: %d\n", (int)scale); 18 fprintf(stderr, "offset: 0x%lx\n", offset); 19 20 // CHECK: scale: [[SCALE]] 21 // CHECK: offset: [[OFFSET]] 22 23 return 0; 24} 25