| //===-- interception_aix.h --------------------------------------*- C++ -*-===// |
| // |
| // 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 interception methods. |
| //===----------------------------------------------------------------------===// |
| |
| #if SANITIZER_AIX |
| |
| # if !defined(INCLUDED_FROM_INTERCEPTION_LIB) |
| # error \ |
| "interception_aix.h should be included from interception library only" |
| # endif |
| |
| # ifndef INTERCEPTION_AIX_H |
| # define INTERCEPTION_AIX_H |
| |
| namespace __interception { |
| bool InterceptFunction(const char *name, uptr *ptr_to_real, uptr func, |
| uptr wrapper); |
| } // namespace __interception |
| |
| # define INTERCEPT_FUNCTION_AIX(func) \ |
| ::__interception::InterceptFunction( \ |
| #func, (::__interception::uptr *)&REAL(func), \ |
| (::__interception::uptr) & (func), \ |
| (::__interception::uptr) & WRAP(func)) |
| |
| # endif // INTERCEPTION_AIX_H |
| #endif // SANITIZER_AIX |