LLVM 24.0.0git
DefaultHostBootstrapValues.cpp
Go to the documentation of this file.
1//===----- DefaultHostBootstrapValues.cpp - Defaults for host process -----===//
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
13
17
18#ifdef __APPLE__
19#include <dlfcn.h>
20#endif // __APPLE__
21
22namespace llvm::orc {
23
25 StringMap<std::vector<char>> &BootstrapMap,
26 StringMap<ExecutorAddr> &BootstrapSymbols) {
28
29 // FIXME: We probably shouldn't set these on Windows?
30 BootstrapSymbols[Mangle.mangledCopy(
33 BootstrapSymbols[Mangle.mangledCopy(
36
37 BootstrapSymbols[Mangle.mangledCopy(
40
41#ifdef __APPLE__
42 if (!dlsym(RTLD_DEFAULT, "__unw_add_find_dynamic_unwind_sections"))
43 BootstrapMap["darwin-use-ehframes-only"].push_back(1);
44#endif // __APPLE__
45}
46
47} // namespace llvm::orc
LLVM_ABI llvm::orc::shared::CWrapperFunctionBuffer llvm_orc_registerJITLoaderGDBAllocAction(const char *ArgData, size_t ArgSize)
LLVM_ABI llvm::orc::shared::CWrapperFunctionBuffer llvm_orc_deregisterEHFrameSectionAllocAction(const char *ArgData, size_t ArgSize)
LLVM_ABI llvm::orc::shared::CWrapperFunctionBuffer llvm_orc_registerEHFrameSectionAllocAction(const char *ArgData, size_t ArgSize)
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
Definition StringMap.h:129
Triple - Helper class for working with autoconf configuration names.
Definition Triple.h:48
static ExecutorAddr fromPtr(T *Ptr, UnwrapFn &&Unwrap=UnwrapFn())
Create an ExecutorAddr from the given pointer.
Applies linker name-mangling for a target.
Definition Mangler.h:31
LLVM_ABI const SymbolNameSpec DeregisterEHFrameSectionAllocActionName
LLVM_ABI const SymbolNameSpec RegisterJITLoaderGDBAllocActionName
LLVM_ABI const SymbolNameSpec RegisterEHFrameSectionAllocActionName
LLVM_ABI void addDefaultBootstrapValuesForHostProcess(StringMap< std::vector< char > > &BootstrapMap, StringMap< ExecutorAddr > &BootstrapSymbols)
LLVM_ABI std::string getProcessTriple()
getProcessTriple() - Return an appropriate target triple for generating code to be loaded into the cu...
Definition Host.cpp:2653