]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp
Vendor import of lld trunk r233088:
[FreeBSD/FreeBSD.git] / lib / ReaderWriter / ELF / X86 / X86LinkingContext.cpp
1 //===- lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp ---------------------===//
2 //
3 //                             The LLVM Linker
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #include "X86LinkingContext.h"
11 #include "X86TargetHandler.h"
12 #include "lld/Core/LLVM.h"
13 #include "llvm/ADT/StringSwitch.h"
14 #include "llvm/Support/ErrorOr.h"
15
16 using namespace lld;
17
18 std::unique_ptr<ELFLinkingContext>
19 elf::X86LinkingContext::create(llvm::Triple triple) {
20   if (triple.getArch() == llvm::Triple::x86)
21     return std::unique_ptr<ELFLinkingContext>(
22              new elf::X86LinkingContext(triple));
23   return nullptr;
24 }
25
26 elf::X86LinkingContext::X86LinkingContext(llvm::Triple triple)
27     : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
28                         new X86TargetHandler(*this))) {}