1//===--- ELF_i386.h - JIT link functions for ELF/i386 --*- 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//===----------------------------------------------------------------------===// 10// 11// jit-link functions for ELF/i386. 12// 13//===----------------------------------------------------------------------===// 14 15#ifndef LLVM_EXECUTIONENGINE_JITLINK_ELF_I386_H 16#define LLVM_EXECUTIONENGINE_JITLINK_ELF_I386_H 17 18#include "llvm/ExecutionEngine/JITLink/JITLink.h" 19 20namespace llvm { 21namespace jitlink { 22 23/// Create a LinkGraph from an ELF/i386 relocatable object 24/// 25/// Note: The graph does not take ownership of the underlying buffer, nor copy 26/// its contents. The caller is responsible for ensuring that the object buffer 27/// outlives the graph. 28Expected<std::unique_ptr<LinkGraph>> 29createLinkGraphFromELFObject_i386(MemoryBufferRef ObjectBuffer); 30 31/// jit-link the given object buffer, which must be a ELF i386 relocatable 32/// object file. 33void link_ELF_i386(std::unique_ptr<LinkGraph> G, 34 std::unique_ptr<JITLinkContext> Ctx); 35 36} // end namespace jitlink 37} // end namespace llvm 38 39#endif // LLVM_EXECUTIONENGINE_JITLINK_ELF_I386_H 40