1326943Sdim//===-- asan_mapping.h ------------------------------------------*- C++ -*-===// 2326943Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6326943Sdim// 7326943Sdim//===----------------------------------------------------------------------===// 8326943Sdim// 9326943Sdim// This file is a part of AddressSanitizer, an address sanity checker. 10326943Sdim// 11326943Sdim// Premap shadow range with an ifunc resolver. 12326943Sdim//===----------------------------------------------------------------------===// 13326943Sdim 14326943Sdim 15326943Sdim#ifndef ASAN_PREMAP_SHADOW_H 16326943Sdim#define ASAN_PREMAP_SHADOW_H 17326943Sdim 18326943Sdim#if ASAN_PREMAP_SHADOW 19326943Sdimnamespace __asan { 20326943Sdim// Conservative upper limit. 21326943Sdimuptr PremapShadowSize(); 22326943Sdimbool PremapShadowFailed(); 23326943Sdim} 24326943Sdim#endif 25326943Sdim 26326943Sdimextern "C" INTERFACE_ATTRIBUTE void __asan_shadow(); 27326943Sdimextern "C" decltype(__asan_shadow)* __asan_premap_shadow(); 28326943Sdim 29326943Sdim#endif // ASAN_PREMAP_SHADOW_H 30