| //===-- asan_aix.cpp ------------------------------------------------------===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file is a part of AddressSanitizer, an address sanity checker. |
| // |
| // AIX-specific details. |
| //===----------------------------------------------------------------------===// |
| |
| #include "sanitizer_common/sanitizer_platform.h" |
| |
| #if SANITIZER_AIX |
| # include "asan_mapping.h" |
| # include "sanitizer_common/sanitizer_internal_defs.h" |
| |
| namespace __asan { |
| |
| void TryReExecWithoutASLR() { |
| // Allowed to fail and do nothing. |
| } |
| |
| void AsanCheckIncompatibleRT() {} |
| |
| void AsanCheckDynamicRTPrereqs() {} |
| |
| void InitializePlatformExceptionHandlers() {} |
| |
| void* AsanDoesNotSupportStaticLinkage() { return 0; } |
| |
| void InitializePlatformInterceptors() {} |
| void AsanApplyToGlobals(globals_op_fptr op, const void* needle) {} |
| |
| uptr FindDynamicShadowStart() { |
| UNREACHABLE("AIX does not use dynamic shadow offset!"); |
| return 0; |
| } |
| |
| void FlushUnneededASanShadowMemory(uptr p, uptr size) { |
| ReleaseMemoryPagesToOS(MemToShadow(p), MemToShadow(p + size)); |
| } |
| |
| } // namespace __asan |
| |
| #endif // SANITIZER_AIX |