1//===-- asan_aix.cpp ------------------------------------------------------===//
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// AIX-specific details.
12//===----------------------------------------------------------------------===//
13
14#include "sanitizer_common/sanitizer_platform.h"
15
16#if SANITIZER_AIX
17# include "asan_mapping.h"
18# include "sanitizer_common/sanitizer_internal_defs.h"
19
20namespace __asan {
21
22void TryReExecWithoutASLR() {
23 // Allowed to fail and do nothing.
24}
25
26void AsanCheckIncompatibleRT() {}
27
28void AsanCheckDynamicRTPrereqs() {}
29
30void InitializePlatformExceptionHandlers() {}
31
32void* AsanDoesNotSupportStaticLinkage() { return 0; }
33
34void InitializePlatformInterceptors() {}
35void AsanApplyToGlobals(globals_op_fptr op, const void* needle) {}
36
37uptr FindDynamicShadowStart() {
38 UNREACHABLE("AIX does not use dynamic shadow offset!");
39 return 0;
40}
41
42void FlushUnneededASanShadowMemory(uptr p, uptr size) {
43 ReleaseMemoryPagesToOS(MemToShadow(p), MemToShadow(p + size));
44}
45
46} // namespace __asan
47
48#endif // SANITIZER_AIX
49