<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Greg,<div class=""><br class=""></div><div class="">Looks like this change is causing a couple of build bot problems:</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Jan 23, 2015, at 11:07 AM, <a href="mailto:llvm.buildmaster@lab.llvm.org" class="">llvm.buildmaster@lab.llvm.org</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><span class="" style="float: none; display: inline !important;">The Buildbot has detected a new failure on builder lld-x86_64-darwin13 while building lld.</span><br class=""><span class="" style="float: none; display: inline !important;">Full details are available at:</span><br class=""><a href="http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/6541" class="">http://lab.llvm.org:8011/builders/lld-x86_64-darwin13/builds/6541</a><br class=""></div></blockquote></div><div class=""><br class=""></div><div class="">and </div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="">On Jan 23, 2015, at 11:10 AM, <a href="mailto:llvm.buildmaster@lab.llvm.org" class="">llvm.buildmaster@lab.llvm.org</a> wrote:</div><br class="Apple-interchange-newline"><div class=""><span class="" style="float: none; display: inline !important;">The Buildbot has detected a new failure on builder lld-x86_64-win7 while building lld.</span><br class=""><span class="" style="float: none; display: inline !important;">Full details are available at:</span><br class=""><a href="http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/16563" class="">http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/16563</a><br class=""></div></blockquote></div><div class=""><br class=""></div><div class="">Could you take a look?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Kev</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 23, 2015, at 10:52 AM, Greg Fitzgerald <<a href="mailto:garious@gmail.com" class="">garious@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Author: garious<br class="">Date: Fri Jan 23 12:52:44 2015<br class="">New Revision: 226922<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=226922&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=226922&view=rev</a><br class="">Log:<br class=""> Fix the ELF shared library build targets<br class=""><br class=""> lldELF is used by each ELF backend.  lldELF's ELFLinkingContext<br class=""> also held a reference to each backend, creating a link-time<br class=""> cycle.  This patch moves the backend references to lldDriver.<br class=""><br class=""> Differential Revision: <a href="http://reviews.llvm.org/D7119" class="">http://reviews.llvm.org/D7119</a><br class=""><br class="">Added:<br class="">    lld/trunk/include/lld/ReaderWriter/ELFTargets.h<br class="">Removed:<br class="">    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/Targets.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h<br class="">Modified:<br class="">    lld/trunk/lib/Driver/CMakeLists.txt<br class="">    lld/trunk/lib/Driver/GnuLdDriver.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/Makefile<br class="">    lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp<br class="">    lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h<br class="">    lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/MachO/Makefile<br class="">    lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt<br class="">    lld/trunk/lib/ReaderWriter/PECOFF/Makefile<br class=""><br class="">Added: lld/trunk/include/lld/ReaderWriter/ELFTargets.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/ReaderWriter/ELFTargets.h?rev=226922&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/ReaderWriter/ELFTargets.h?rev=226922&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/include/lld/ReaderWriter/ELFTargets.h (added)<br class="">+++ lld/trunk/include/lld/ReaderWriter/ELFTargets.h Fri Jan 23 12:52:44 2015<br class="">@@ -0,0 +1,40 @@<br class="">+//===- lld/ReaderWriter/ELFTargets.h --------------------------------------===//<br class="">+//<br class="">+//                             The LLVM Linker<br class="">+//<br class="">+// This file is distributed under the University of Illinois Open Source<br class="">+// License. See LICENSE.TXT for details.<br class="">+//<br class="">+//===----------------------------------------------------------------------===//<br class="">+<br class="">+#ifndef LLD_READER_WRITER_ELF_TARGETS_H<br class="">+#define LLD_READER_WRITER_ELF_TARGETS_H<br class="">+<br class="">+#include "ELFLinkingContext.h"<br class="">+<br class="">+namespace lld {<br class="">+namespace elf {<br class="">+<br class="">+#define LLVM_TARGET(TargetName) \<br class="">+  class TargetName##LinkingContext final : public ELFLinkingContext { \<br class="">+  public: \<br class="">+    TargetName##LinkingContext(llvm::Triple); \<br class="">+  };<br class="">+#include "llvm/Config/Targets.def"<br class="">+<br class="">+// X86 => X86,X86_64<br class="">+class X86_64LinkingContext final : public ELFLinkingContext {<br class="">+public:<br class="">+  X86_64LinkingContext(llvm::Triple);<br class="">+};<br class="">+<br class="">+// PowerPC => PPC<br class="">+class PPCLinkingContext final : public ELFLinkingContext {<br class="">+public:<br class="">+  PPCLinkingContext(llvm::Triple);<br class="">+};<br class="">+<br class="">+} // end namespace elf<br class="">+} // end namespace lld<br class="">+<br class="">+#endif<br class=""><br class="">Modified: lld/trunk/lib/Driver/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/Driver/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/Driver/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -24,6 +24,13 @@ add_llvm_library(lldDriver<br class="">     lldMachO<br class="">     lldPECOFF<br class="">     lldELF<br class="">+    lldAArch64ELFTarget<br class="">+    lldARMELFTarget<br class="">+    lldHexagonELFTarget<br class="">+    lldMipsELFTarget<br class="">+    lldPPCELFTarget<br class="">+    lldX86ELFTarget<br class="">+    lldX86_64ELFTarget<br class="">     lldCore<br class="">     lldNative<br class="">     lldReaderWriter<br class=""><br class="">Modified: lld/trunk/lib/Driver/GnuLdDriver.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/GnuLdDriver.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/GnuLdDriver.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/Driver/GnuLdDriver.cpp (original)<br class="">+++ lld/trunk/lib/Driver/GnuLdDriver.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -15,6 +15,7 @@<br class=""><br class=""> #include "lld/Driver/Driver.h"<br class=""> #include "lld/ReaderWriter/ELFLinkingContext.h"<br class="">+#include "lld/ReaderWriter/ELFTargets.h"<br class=""> #include "lld/ReaderWriter/LinkerScript.h"<br class=""> #include "llvm/ADT/ArrayRef.h"<br class=""> #include "llvm/ADT/Optional.h"<br class="">@@ -314,6 +315,35 @@ void GnuLdDriver::addPlatformSearchDirs(<br class="">   ctx.addSearchPath("=/usr/lib");<br class=""> }<br class=""><br class="">+std::unique_ptr<ELFLinkingContext><br class="">+createELFLinkingContext(llvm::Triple triple) {<br class="">+  switch (triple.getArch()) {<br class="">+  case llvm::Triple::x86:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::X86LinkingContext(triple));<br class="">+  case llvm::Triple::x86_64:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::X86_64LinkingContext(triple));<br class="">+  case llvm::Triple::hexagon:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::HexagonLinkingContext(triple));<br class="">+  case llvm::Triple::mipsel:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::MipsLinkingContext(triple));<br class="">+  case llvm::Triple::ppc:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::PPCLinkingContext(triple));<br class="">+  case llvm::Triple::aarch64:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::AArch64LinkingContext(triple));<br class="">+  case llvm::Triple::arm:<br class="">+    return std::unique_ptr<ELFLinkingContext>(<br class="">+        new lld::elf::ARMLinkingContext(triple));<br class="">+  default:<br class="">+    return nullptr;<br class="">+  }<br class="">+}<br class="">+<br class=""> bool GnuLdDriver::parse(int argc, const char *argv[],<br class="">                         std::unique_ptr<ELFLinkingContext> &context,<br class="">                         raw_ostream &diagnostics) {<br class="">@@ -349,7 +379,7 @@ bool GnuLdDriver::parse(int argc, const<br class="">   if (!applyEmulation(triple, *parsedArgs, diagnostics))<br class="">     return false;<br class=""><br class="">-  std::unique_ptr<ELFLinkingContext> ctx(ELFLinkingContext::create(triple));<br class="">+  std::unique_ptr<ELFLinkingContext> ctx(createELFLinkingContext(triple));<br class=""><br class="">   if (!ctx) {<br class="">     diagnostics << "unknown target triple\n";<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h Fri Jan 23 12:52:44 2015<br class="">@@ -10,6 +10,7 @@<br class=""> #define AARCH64_DYNAMIC_LIBRARY_WRITER_H<br class=""><br class=""> #include "AArch64LinkingContext.h"<br class="">+#include "AArch64TargetHandler.h"<br class=""> #include "DynamicLibraryWriter.h"<br class=""><br class=""> namespace lld {<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -9,9 +9,14 @@<br class=""><br class=""> #include "AArch64LinkingContext.h"<br class=""> #include "AArch64RelocationPass.h"<br class="">+#include "AArch64TargetHandler.h"<br class=""><br class=""> using namespace lld;<br class=""><br class="">+elf::AArch64LinkingContext::AArch64LinkingContext(llvm::Triple triple)<br class="">+    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">+                        new AArch64TargetHandler(*this))) {}<br class="">+<br class=""> void elf::AArch64LinkingContext::addPasses(PassManager &pm) {<br class="">   auto pass = createAArch64RelocationPass(*this);<br class="">   if (pass)<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h Fri Jan 23 12:52:44 2015<br class="">@@ -10,7 +10,6 @@<br class=""> #ifndef LLD_READER_WRITER_ELF_AARCH64_AARCH64_LINKING_CONTEXT_H<br class=""> #define LLD_READER_WRITER_ELF_AARCH64_AARCH64_LINKING_CONTEXT_H<br class=""><br class="">-#include "AArch64TargetHandler.h"<br class=""> #include "lld/ReaderWriter/ELFLinkingContext.h"<br class=""> #include "llvm/Object/ELF.h"<br class=""> #include "llvm/Support/ELF.h"<br class="">@@ -25,9 +24,7 @@ enum {<br class=""><br class=""> class AArch64LinkingContext final : public ELFLinkingContext {<br class=""> public:<br class="">-  AArch64LinkingContext(llvm::Triple triple)<br class="">-      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">-                                      new AArch64TargetHandler(*this))) {}<br class="">+  AArch64LinkingContext(llvm::Triple);<br class=""><br class="">   void addPasses(PassManager &) override;<br class=""><br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/AArch64/AArch64Target.h -----------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "AArch64LinkingContext.h"<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -5,5 +5,7 @@ add_llvm_library(lldAArch64ELFTarget<br class="">   AArch64RelocationPass.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h Fri Jan 23 12:52:44 2015<br class="">@@ -11,6 +11,7 @@<br class=""><br class=""> #include "ExecutableWriter.h"<br class=""> #include "ARMLinkingContext.h"<br class="">+#include "ARMTargetHandler.h"<br class=""><br class=""> namespace lld {<br class=""> namespace elf {<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -9,10 +9,15 @@<br class=""><br class=""> #include "ARMLinkingContext.h"<br class=""> #include "ARMRelocationPass.h"<br class="">+#include "ARMTargetHandler.h"<br class=""><br class=""> using namespace lld;<br class=""> using namespace lld::elf;<br class=""><br class="">+elf::ARMLinkingContext::ARMLinkingContext(llvm::Triple triple)<br class="">+    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">+                        new ARMTargetHandler(*this))) {}<br class="">+<br class=""> void elf::ARMLinkingContext::addPasses(PassManager &pm) {<br class="">   auto pass = createARMRelocationPass(*this);<br class="">   if (pass)<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h Fri Jan 23 12:52:44 2015<br class="">@@ -10,10 +10,7 @@<br class=""> #ifndef LLD_READER_WRITER_ELF_ARM_ARM_LINKING_CONTEXT_H<br class=""> #define LLD_READER_WRITER_ELF_ARM_ARM_LINKING_CONTEXT_H<br class=""><br class="">-#include "ARMTargetHandler.h"<br class="">-<br class=""> #include "lld/ReaderWriter/ELFLinkingContext.h"<br class="">-<br class=""> #include "llvm/Object/ELF.h"<br class=""> #include "llvm/Support/ELF.h"<br class=""><br class="">@@ -22,9 +19,7 @@ namespace elf {<br class=""><br class=""> class ARMLinkingContext final : public ELFLinkingContext {<br class=""> public:<br class="">-  ARMLinkingContext(llvm::Triple triple)<br class="">-      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">-                                      new ARMTargetHandler(*this))) {}<br class="">+  ARMLinkingContext(llvm::Triple);<br class=""><br class="">   void addPasses(PassManager &) override;<br class=""><br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===--------- lib/ReaderWriter/ELF/ARM/ARMTarget.h -----------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "ARMLinkingContext.h"<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -5,4 +5,7 @@ add_llvm_library(lldARMELFTarget<br class="">   ARMRelocationPass.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">+    LLVMSupport<br class="">   )<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -4,15 +4,10 @@ add_llvm_library(lldELF<br class="">   Reader.cpp<br class="">   Writer.cpp<br class="">   LINK_LIBS<br class="">-    lldHexagonELFTarget<br class="">-    lldMipsELFTarget<br class="">-    lldPPCELFTarget<br class="">+    lldCore<br class="">     lldPasses<br class="">-    lldReaderWriter<br class="">-    lldX86ELFTarget<br class="">-    lldX86_64ELFTarget<br class="">-    lldAArch64ELFTarget<br class="">-    lldARMELFTarget<br class="">+    lldYAML<br class="">+    LLVMSupport<br class="">   )<br class=""><br class=""> include_directories(.)<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -11,8 +11,8 @@<br class=""> #include "ArrayOrderPass.h"<br class=""> #include "ELFFile.h"<br class=""> #include "TargetHandler.h"<br class="">-#include "Targets.h"<br class=""> #include "lld/Core/Instrumentation.h"<br class="">+#include "lld/Core/SharedLibraryFile.h"<br class=""> #include "lld/Passes/LayoutPass.h"<br class=""> #include "lld/Passes/RoundTripYAMLPass.h"<br class=""> #include "llvm/ADT/Triple.h"<br class="">@@ -56,7 +56,7 @@ public:<br class=""><br class=""> ELFLinkingContext::ELFLinkingContext(<br class="">     llvm::Triple triple, std::unique_ptr<TargetHandlerBase> targetHandler)<br class="">-    : _outputELFType(elf::ET_EXEC), _triple(triple),<br class="">+    : _outputELFType(llvm::ELF::ET_EXEC), _triple(triple),<br class="">       _targetHandler(std::move(targetHandler)), _baseAddress(0),<br class="">       _isStaticExecutable(false), _noInhibitExec(false), _exportDynamic(false),<br class="">       _mergeCommonStrings(false), _runLayoutPass(true),<br class="">@@ -93,7 +93,7 @@ uint16_t ELFLinkingContext::getOutputMac<br class=""> }<br class=""><br class=""> StringRef ELFLinkingContext::entrySymbolName() const {<br class="">-  if (_outputELFType == elf::ET_EXEC && _entrySymbolName.empty())<br class="">+  if (_outputELFType == llvm::ELF::ET_EXEC && _entrySymbolName.empty())<br class="">     return "_start";<br class="">   return _entrySymbolName;<br class=""> }<br class="">@@ -129,35 +129,6 @@ bool ELFLinkingContext::isRelativeReloc(<br class=""><br class=""> Writer &ELFLinkingContext::writer() const { return *_writer; }<br class=""><br class="">-std::unique_ptr<ELFLinkingContext><br class="">-ELFLinkingContext::create(llvm::Triple triple) {<br class="">-  switch (triple.getArch()) {<br class="">-  case llvm::Triple::x86:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::X86LinkingContext(triple));<br class="">-  case llvm::Triple::x86_64:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::X86_64LinkingContext(triple));<br class="">-  case llvm::Triple::hexagon:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::HexagonLinkingContext(triple));<br class="">-  case llvm::Triple::mipsel:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::MipsLinkingContext(triple));<br class="">-  case llvm::Triple::ppc:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::PPCLinkingContext(triple));<br class="">-  case llvm::Triple::aarch64:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::AArch64LinkingContext(triple));<br class="">-  case llvm::Triple::arm:<br class="">-    return std::unique_ptr<ELFLinkingContext>(<br class="">-        new lld::elf::ARMLinkingContext(triple));<br class="">-  default:<br class="">-    return nullptr;<br class="">-  }<br class="">-}<br class="">-<br class=""> static void buildSearchPath(SmallString<128> &path, StringRef dir,<br class="">                             StringRef sysRoot) {<br class="">   if (!dir.startswith("=/"))<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -4,5 +4,7 @@ add_llvm_library(lldHexagonELFTarget<br class="">   HexagonTargetHandler.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h -----------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "HexagonLinkingContext.h"<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/Makefile<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Makefile?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Makefile?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/Makefile (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/Makefile Fri Jan 23 12:52:44 2015<br class="">@@ -9,10 +9,7 @@<br class=""><br class=""> LLD_LEVEL := ../../..<br class=""> LIBRARYNAME := lldELF<br class="">-USEDLIBS = lldHexagonELFTarget.a lldPPCELFTarget.a lldMipsELFTarget.a \<br class="">-           lldX86ELFTarget.a lldX86_64ELFTarget.a lldAArch64ELFTarget.a \<br class="">-           lldARMELFTarget.a \<br class="">-           lldReaderWriter.a lldPasses.a<br class="">+USEDLIBS = lldPasses.a<br class=""><br class=""> CPP.Flags += -I$(PROJ_SRC_DIR)/$(LLD_LEVEL)/lib/ReaderWriter/ELF<br class=""><br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -7,5 +7,7 @@ add_llvm_library(lldMipsELFTarget<br class="">   MipsTargetHandler.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/Mips/MipsTarget.h -----------------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "MipsLinkingContext.h"<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -3,5 +3,7 @@ add_llvm_library(lldPPCELFTarget<br class="">   PPCTargetHandler.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -8,9 +8,14 @@<br class=""> //===----------------------------------------------------------------------===//<br class=""><br class=""> #include "PPCLinkingContext.h"<br class="">+#include "PPCTargetHandler.h"<br class=""> #include "lld/Core/LLVM.h"<br class=""> #include "llvm/ADT/StringSwitch.h"<br class=""> #include "llvm/Support/ErrorOr.h"<br class=""><br class=""> using namespace lld;<br class=""><br class="">+elf::PPCLinkingContext::PPCLinkingContext(llvm::Triple triple)<br class="">+    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">+                        new PPCTargetHandler(*this))) {}<br class="">+<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h Fri Jan 23 12:52:44 2015<br class="">@@ -10,7 +10,6 @@<br class=""> #ifndef LLD_READER_WRITER_ELF_PPC_PPC_LINKING_CONTEXT_H<br class=""> #define LLD_READER_WRITER_ELF_PPC_PPC_LINKING_CONTEXT_H<br class=""><br class="">-#include "PPCTargetHandler.h"<br class=""> #include "lld/ReaderWriter/ELFLinkingContext.h"<br class=""> #include "llvm/Object/ELF.h"<br class=""> #include "llvm/Support/ELF.h"<br class="">@@ -20,9 +19,7 @@ namespace elf {<br class=""><br class=""> class PPCLinkingContext final : public ELFLinkingContext {<br class=""> public:<br class="">-  PPCLinkingContext(llvm::Triple triple)<br class="">-      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">-                                      new PPCTargetHandler(*this))) {}<br class="">+  PPCLinkingContext(llvm::Triple triple);<br class=""><br class="">   /// \brief PPC has no relative relocations defined<br class="">   bool isRelativeReloc(const Reference &) const override { return false; }<br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/PPC/PPCTarget.h -------------------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "PPCLinkingContext.h"<br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/Targets.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Targets.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Targets.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/Targets.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/Targets.h (removed)<br class="">@@ -1,21 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/Targets.h -------------------------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#ifndef LLD_READER_WRITER_ELF_TARGETS_H<br class="">-#define LLD_READER_WRITER_ELF_TARGETS_H<br class="">-<br class="">-#include "AArch64/AArch64Target.h"<br class="">-#include "ARM/ARMTarget.h"<br class="">-#include "Hexagon/HexagonTarget.h"<br class="">-#include "Mips/MipsTarget.h"<br class="">-#include "PPC/PPCTarget.h"<br class="">-#include "X86/X86Target.h"<br class="">-#include "X86_64/X86_64Target.h"<br class="">-<br class="">-#endif<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -4,5 +4,7 @@ add_llvm_library(lldX86ELFTarget<br class="">   X86RelocationHandler.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -8,9 +8,13 @@<br class=""> //===----------------------------------------------------------------------===//<br class=""><br class=""> #include "X86LinkingContext.h"<br class="">+#include "X86TargetHandler.h"<br class=""> #include "lld/Core/LLVM.h"<br class=""> #include "llvm/ADT/StringSwitch.h"<br class=""> #include "llvm/Support/ErrorOr.h"<br class=""><br class=""> using namespace lld;<br class=""><br class="">+elf::X86LinkingContext::X86LinkingContext(llvm::Triple triple)<br class="">+    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">+                        new X86TargetHandler(*this))) {}<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h Fri Jan 23 12:52:44 2015<br class="">@@ -10,7 +10,6 @@<br class=""> #ifndef LLD_READER_WRITER_ELF_X86_TARGETINFO_H<br class=""> #define LLD_READER_WRITER_ELF_X86_TARGETINFO_H<br class=""><br class="">-#include "X86TargetHandler.h"<br class=""> #include "lld/ReaderWriter/ELFLinkingContext.h"<br class=""> #include "llvm/Object/ELF.h"<br class=""> #include "llvm/Support/ELF.h"<br class="">@@ -19,9 +18,7 @@ namespace lld {<br class=""> namespace elf {<br class=""> class X86LinkingContext final : public ELFLinkingContext {<br class=""> public:<br class="">-  X86LinkingContext(llvm::Triple triple)<br class="">-      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">-                                      new X86TargetHandler(*this))) {}<br class="">+  X86LinkingContext(llvm::Triple);<br class=""><br class="">   /// \brief X86 has only two relative relocation<br class="">   /// a) for supporting IFUNC relocs - R_386_IRELATIVE<br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/X86/X86Target.h -------------------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "X86LinkingContext.h"<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -5,5 +5,7 @@ add_llvm_library(lldX86_64ELFTarget<br class="">   X86_64RelocationPass.cpp<br class="">   LINK_LIBS<br class="">     lldCore<br class="">+    lldELF<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h Fri Jan 23 12:52:44 2015<br class="">@@ -11,6 +11,7 @@<br class=""><br class=""> #include "DynamicLibraryWriter.h"<br class=""> #include "X86_64LinkingContext.h"<br class="">+#include "X86_64TargetHandler.h"<br class=""><br class=""> namespace lld {<br class=""> namespace elf {<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp Fri Jan 23 12:52:44 2015<br class="">@@ -8,10 +8,15 @@<br class=""> //===----------------------------------------------------------------------===//<br class=""><br class=""> #include "X86_64LinkingContext.h"<br class="">+#include "X86_64TargetHandler.h"<br class=""> #include "X86_64RelocationPass.h"<br class=""><br class=""> using namespace lld;<br class=""><br class="">+elf::X86_64LinkingContext::X86_64LinkingContext(llvm::Triple triple)<br class="">+    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">+                        new X86_64TargetHandler(*this))) {}<br class="">+<br class=""> void elf::X86_64LinkingContext::addPasses(PassManager &pm) {<br class="">   auto pass = createX86_64RelocationPass(*this);<br class="">   if (pass)<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h Fri Jan 23 12:52:44 2015<br class="">@@ -10,7 +10,6 @@<br class=""> #ifndef LLD_READER_WRITER_ELF_X86_64_X86_64_LINKING_CONTEXT_H<br class=""> #define LLD_READER_WRITER_ELF_X86_64_X86_64_LINKING_CONTEXT_H<br class=""><br class="">-#include "X86_64TargetHandler.h"<br class=""> #include "lld/ReaderWriter/ELFLinkingContext.h"<br class=""> #include "llvm/Object/ELF.h"<br class=""> #include "llvm/Support/ELF.h"<br class="">@@ -27,9 +26,7 @@ enum {<br class=""><br class=""> class X86_64LinkingContext final : public ELFLinkingContext {<br class=""> public:<br class="">-  X86_64LinkingContext(llvm::Triple triple)<br class="">-      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(<br class="">-                                      new X86_64TargetHandler(*this))) {}<br class="">+  X86_64LinkingContext(llvm::Triple);<br class=""><br class="">   void addPasses(PassManager &) override;<br class=""><br class=""><br class="">Removed: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h?rev=226921&view=auto" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h?rev=226921&view=auto</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h (original)<br class="">+++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h (removed)<br class="">@@ -1,10 +0,0 @@<br class="">-//===- lib/ReaderWriter/ELF/X86_64/X86_64Target.h -------------------------===//<br class="">-//<br class="">-//                             The LLVM Linker<br class="">-//<br class="">-// This file is distributed under the University of Illinois Open Source<br class="">-// License. See LICENSE.TXT for details.<br class="">-//<br class="">-//===----------------------------------------------------------------------===//<br class="">-<br class="">-#include "X86_64LinkingContext.h"<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -16,8 +16,10 @@ add_llvm_library(lldMachO<br class="">   StubsPass.cpp<br class="">   WriterMachO.cpp<br class="">   LINK_LIBS<br class="">-    lldReaderWriter<br class="">+    lldCore<br class="">     lldPasses<br class="">+    lldYAML<br class="">+    LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/MachO/Makefile<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/Makefile?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/Makefile?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/MachO/Makefile (original)<br class="">+++ lld/trunk/lib/ReaderWriter/MachO/Makefile Fri Jan 23 12:52:44 2015<br class="">@@ -9,6 +9,6 @@<br class=""><br class=""> LLD_LEVEL := ../../..<br class=""> LIBRARYNAME := lldMachO<br class="">-USEDLIBS = lldReaderWriter.a lldCore.a<br class="">+USEDLIBS = lldCore.a<br class=""><br class=""> include $(LLD_LEVEL)/Makefile<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt (original)<br class="">+++ lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt Fri Jan 23 12:52:44 2015<br class="">@@ -10,7 +10,8 @@ add_llvm_library(lldPECOFF<br class="">   WriterImportLibrary.cpp<br class="">   WriterPECOFF.cpp<br class="">   LINK_LIBS<br class="">-    lldReaderWriter<br class="">+    lldCore<br class="">+    lldPasses<br class="">     LLVMObject<br class="">     LLVMSupport<br class="">   )<br class=""><br class="">Modified: lld/trunk/lib/ReaderWriter/PECOFF/Makefile<br class="">URL: <a href="http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Makefile?rev=226922&r1=226921&r2=226922&view=diff" class="">http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Makefile?rev=226922&r1=226921&r2=226922&view=diff</a><br class="">==============================================================================<br class="">--- lld/trunk/lib/ReaderWriter/PECOFF/Makefile (original)<br class="">+++ lld/trunk/lib/ReaderWriter/PECOFF/Makefile Fri Jan 23 12:52:44 2015<br class="">@@ -9,6 +9,6 @@<br class=""><br class=""> LLD_LEVEL := ../../..<br class=""> LIBRARYNAME := lldPECOFF<br class="">-USEDLIBS = lldReaderWriter.a lldCore.a<br class="">+USEDLIBS = lldCore.a<br class=""><br class=""> include $(LLD_LEVEL)/Makefile<br class=""><br class=""><br class="">_______________________________________________<br class="">llvm-commits mailing list<br class=""><a href="mailto:llvm-commits@cs.uiuc.edu" class="">llvm-commits@cs.uiuc.edu</a><br class="">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits<br class=""></div></blockquote></div><br class=""></div></body></html>