LLVM 22.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
10
13
14#ifdef __APPLE__
15#include <dlfcn.h>
16#endif // __APPLE__
17
18namespace llvm::orc {
19
21 StringMap<std::vector<char>> &BootstrapMap,
22 StringMap<ExecutorAddr> &BootstrapSymbols) {
23
24 // FIXME: We probably shouldn't set these on Windows?
29
30#ifdef __APPLE__
31 if (!dlsym(RTLD_DEFAULT, "__unw_add_find_dynamic_unwind_sections"))
32 BootstrapMap["darwin-use-ehframes-only"].push_back(1);
33#endif // __APPLE__
34}
35
36} // namespace llvm::orc
LLVM_ABI llvm::orc::shared::CWrapperFunctionResult llvm_orc_deregisterEHFrameSectionAllocAction(const char *ArgData, size_t ArgSize)
LLVM_ABI llvm::orc::shared::CWrapperFunctionResult 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:133
static ExecutorAddr fromPtr(T *Ptr, UnwrapFn &&Unwrap=UnwrapFn())
Create an ExecutorAddr from the given pointer.
LLVM_ABI const char * DeregisterEHFrameSectionAllocActionName
Definition: OrcRTBridge.cpp:72
LLVM_ABI const char * RegisterEHFrameSectionAllocActionName
Definition: OrcRTBridge.cpp:70
LLVM_ABI void addDefaultBootstrapValuesForHostProcess(StringMap< std::vector< char > > &BootstrapMap, StringMap< ExecutorAddr > &BootstrapSymbols)