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