1 //===-- asan_mapping.h ------------------------------------------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file is a part of AddressSanitizer, an address sanity checker. 10 // 11 // Premap shadow range with an ifunc resolver. 12 //===----------------------------------------------------------------------===// 13 14 15 #ifndef ASAN_PREMAP_SHADOW_H 16 #define ASAN_PREMAP_SHADOW_H 17 18 #if ASAN_PREMAP_SHADOW 19 namespace __asan { 20 // Conservative upper limit. 21 uptr PremapShadowSize(); 22 bool PremapShadowFailed(); 23 } 24 #endif 25 26 extern "C" INTERFACE_ATTRIBUTE void __asan_shadow(); 27 extern "C" decltype(__asan_shadow)* __asan_premap_shadow(); 28 29 #endif // ASAN_PREMAP_SHADOW_H 30