LLDB mainline
Utility.h
Go to the documentation of this file.
1//===-- Utility.h -----------------------------------------------*- C++ -*-===//
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#ifndef LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_UTILITY_UTILITY_H
10#define LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_UTILITY_UTILITY_H
11
12#include <tuple>
13
14#include "lldb/lldb-forward.h"
16
17namespace lldb_private {
18
19/// On Darwin, if LLDB loaded libclang_rt, it's coming from a locally built
20/// compiler-rt, and we should prefer it in favour of the system sanitizers
21/// when running InstrumentationRuntime utility expressions that use symbols
22/// from the sanitizer libraries. This helper searches the target for such a
23/// dylib. Returns nullptr if no such dylib was found.
24std::tuple<lldb::ModuleSP, HistoryPCType>
25GetPreferredAsanModule(const Target &target);
26
27} // namespace lldb_private
28
29#endif // LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_UTILITY_UTILITY_H
A class that represents a running process on the host machine.
std::tuple< lldb::ModuleSP, HistoryPCType > GetPreferredAsanModule(const Target &target)
On Darwin, if LLDB loaded libclang_rt, it's coming from a locally built compiler-rt,...
Definition Utility.cpp:17