[lld] r226928 - Revert " Fix the ELF shared library build targets"

Greg Fitzgerald garious at gmail.com
Fri Jan 23 13:31:13 PST 2015


Generated a mismatched header for MipsLinkerContext.h.  Instead, I'll
implement a proper class factory with a static 'create()' method.
That'll take the vtable out of the equation.

-Greg

On Fri, Jan 23, 2015 at 1:16 PM, Rafael EspĂ­ndola
<rafael.espindola at gmail.com> wrote:
> What was the problem?
>
> On 23 January 2015 at 14:24, Greg Fitzgerald <garious at gmail.com> wrote:
>>
>> Author: garious
>> Date: Fri Jan 23 13:24:32 2015
>> New Revision: 226928
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=226928&view=rev
>> Log:
>> Revert " Fix the ELF shared library build targets"
>>
>> This reverts commit 6a3f545b44cea46321e025d9ab773786af86cb51.
>>
>> Added:
>>     lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h
>>     lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h
>>     lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h
>>     lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h
>>     lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h
>>     lld/trunk/lib/ReaderWriter/ELF/Targets.h
>>     lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h
>>     lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h
>> Removed:
>>     lld/trunk/include/lld/ReaderWriter/ELFTargets.h
>> Modified:
>>     lld/trunk/lib/Driver/CMakeLists.txt
>>     lld/trunk/lib/Driver/GnuLdDriver.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h
>>     lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h
>>     lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h
>>     lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h
>>     lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/Makefile
>>     lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h
>>     lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h
>>     lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h
>>     lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
>>     lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h
>>     lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/MachO/Makefile
>>     lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt
>>     lld/trunk/lib/ReaderWriter/PECOFF/Makefile
>>
>> Removed: lld/trunk/include/lld/ReaderWriter/ELFTargets.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/ReaderWriter/ELFTargets.h?rev=226927&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/include/lld/ReaderWriter/ELFTargets.h (original)
>> +++ lld/trunk/include/lld/ReaderWriter/ELFTargets.h (removed)
>> @@ -1,40 +0,0 @@
>> -//===- lld/ReaderWriter/ELFTargets.h
>> --------------------------------------===//
>> -//
>> -//                             The LLVM Linker
>> -//
>> -// This file is distributed under the University of Illinois Open Source
>> -// License. See LICENSE.TXT for details.
>> -//
>>
>> -//===----------------------------------------------------------------------===//
>> -
>> -#ifndef LLD_READER_WRITER_ELF_TARGETS_H
>> -#define LLD_READER_WRITER_ELF_TARGETS_H
>> -
>> -#include "ELFLinkingContext.h"
>> -
>> -namespace lld {
>> -namespace elf {
>> -
>> -#define LLVM_TARGET(TargetName) \
>> -  class TargetName##LinkingContext final : public ELFLinkingContext { \
>> -  public: \
>> -    TargetName##LinkingContext(llvm::Triple); \
>> -  };
>> -#include "llvm/Config/Targets.def"
>> -
>> -// X86 => X86,X86_64
>> -class X86_64LinkingContext final : public ELFLinkingContext {
>> -public:
>> -  X86_64LinkingContext(llvm::Triple);
>> -};
>> -
>> -// PowerPC => PPC
>> -class PPCLinkingContext final : public ELFLinkingContext {
>> -public:
>> -  PPCLinkingContext(llvm::Triple);
>> -};
>> -
>> -} // end namespace elf
>> -} // end namespace lld
>> -
>> -#endif
>>
>> Modified: lld/trunk/lib/Driver/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/Driver/CMakeLists.txt (original)
>> +++ lld/trunk/lib/Driver/CMakeLists.txt Fri Jan 23 13:24:32 2015
>> @@ -24,13 +24,6 @@ add_llvm_library(lldDriver
>>      lldMachO
>>      lldPECOFF
>>      lldELF
>> -    lldAArch64ELFTarget
>> -    lldARMELFTarget
>> -    lldHexagonELFTarget
>> -    lldMipsELFTarget
>> -    lldPPCELFTarget
>> -    lldX86ELFTarget
>> -    lldX86_64ELFTarget
>>      lldCore
>>      lldNative
>>      lldReaderWriter
>>
>> Modified: lld/trunk/lib/Driver/GnuLdDriver.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/GnuLdDriver.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/Driver/GnuLdDriver.cpp (original)
>> +++ lld/trunk/lib/Driver/GnuLdDriver.cpp Fri Jan 23 13:24:32 2015
>> @@ -15,7 +15,6 @@
>>
>>  #include "lld/Driver/Driver.h"
>>  #include "lld/ReaderWriter/ELFLinkingContext.h"
>> -#include "lld/ReaderWriter/ELFTargets.h"
>>  #include "lld/ReaderWriter/LinkerScript.h"
>>  #include "llvm/ADT/ArrayRef.h"
>>  #include "llvm/ADT/Optional.h"
>> @@ -315,35 +314,6 @@ void GnuLdDriver::addPlatformSearchDirs(
>>    ctx.addSearchPath("=/usr/lib");
>>  }
>>
>> -std::unique_ptr<ELFLinkingContext>
>> -createELFLinkingContext(llvm::Triple triple) {
>> -  switch (triple.getArch()) {
>> -  case llvm::Triple::x86:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::X86LinkingContext(triple));
>> -  case llvm::Triple::x86_64:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::X86_64LinkingContext(triple));
>> -  case llvm::Triple::hexagon:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::HexagonLinkingContext(triple));
>> -  case llvm::Triple::mipsel:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::MipsLinkingContext(triple));
>> -  case llvm::Triple::ppc:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::PPCLinkingContext(triple));
>> -  case llvm::Triple::aarch64:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::AArch64LinkingContext(triple));
>> -  case llvm::Triple::arm:
>> -    return std::unique_ptr<ELFLinkingContext>(
>> -        new lld::elf::ARMLinkingContext(triple));
>> -  default:
>> -    return nullptr;
>> -  }
>> -}
>> -
>>  bool GnuLdDriver::parse(int argc, const char *argv[],
>>                          std::unique_ptr<ELFLinkingContext> &context,
>>                          raw_ostream &diagnostics) {
>> @@ -379,7 +349,7 @@ bool GnuLdDriver::parse(int argc, const
>>    if (!applyEmulation(triple, *parsedArgs, diagnostics))
>>      return false;
>>
>> -  std::unique_ptr<ELFLinkingContext>
>> ctx(createELFLinkingContext(triple));
>> +  std::unique_ptr<ELFLinkingContext>
>> ctx(ELFLinkingContext::create(triple));
>>
>>    if (!ctx) {
>>      diagnostics << "unknown target triple\n";
>>
>> Modified:
>> lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h
>> (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64DynamicLibraryWriter.h
>> Fri Jan 23 13:24:32 2015
>> @@ -10,7 +10,6 @@
>>  #define AARCH64_DYNAMIC_LIBRARY_WRITER_H
>>
>>  #include "AArch64LinkingContext.h"
>> -#include "AArch64TargetHandler.h"
>>  #include "DynamicLibraryWriter.h"
>>
>>  namespace lld {
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp
>> (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp Fri
>> Jan 23 13:24:32 2015
>> @@ -9,14 +9,9 @@
>>
>>  #include "AArch64LinkingContext.h"
>>  #include "AArch64RelocationPass.h"
>> -#include "AArch64TargetHandler.h"
>>
>>  using namespace lld;
>>
>> -elf::AArch64LinkingContext::AArch64LinkingContext(llvm::Triple triple)
>> -    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> -                        new AArch64TargetHandler(*this))) {}
>> -
>>  void elf::AArch64LinkingContext::addPasses(PassManager &pm) {
>>    auto pass = createAArch64RelocationPass(*this);
>>    if (pass)
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h
>> (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h Fri Jan
>> 23 13:24:32 2015
>> @@ -10,6 +10,7 @@
>>  #ifndef LLD_READER_WRITER_ELF_AARCH64_AARCH64_LINKING_CONTEXT_H
>>  #define LLD_READER_WRITER_ELF_AARCH64_AARCH64_LINKING_CONTEXT_H
>>
>> +#include "AArch64TargetHandler.h"
>>  #include "lld/ReaderWriter/ELFLinkingContext.h"
>>  #include "llvm/Object/ELF.h"
>>  #include "llvm/Support/ELF.h"
>> @@ -24,7 +25,9 @@ enum {
>>
>>  class AArch64LinkingContext final : public ELFLinkingContext {
>>  public:
>> -  AArch64LinkingContext(llvm::Triple);
>> +  AArch64LinkingContext(llvm::Triple triple)
>> +      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> +                                      new AArch64TargetHandler(*this)))
>> {}
>>
>>    void addPasses(PassManager &) override;
>>
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/AArch64/AArch64Target.h Fri Jan 23
>> 13:24:32 2015
>> @@ -0,0 +1,10 @@
>> +//===- lib/ReaderWriter/ELF/AArch64/AArch64Target.h
>> -----------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "AArch64LinkingContext.h"
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt Fri Jan 23
>> 13:24:32 2015
>> @@ -5,7 +5,5 @@ add_llvm_library(lldAArch64ELFTarget
>>    AArch64RelocationPass.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMExecutableWriter.h Fri Jan 23
>> 13:24:32 2015
>> @@ -11,7 +11,6 @@
>>
>>  #include "ExecutableWriter.h"
>>  #include "ARMLinkingContext.h"
>> -#include "ARMTargetHandler.h"
>>
>>  namespace lld {
>>  namespace elf {
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.cpp Fri Jan 23
>> 13:24:32 2015
>> @@ -9,15 +9,10 @@
>>
>>  #include "ARMLinkingContext.h"
>>  #include "ARMRelocationPass.h"
>> -#include "ARMTargetHandler.h"
>>
>>  using namespace lld;
>>  using namespace lld::elf;
>>
>> -elf::ARMLinkingContext::ARMLinkingContext(llvm::Triple triple)
>> -    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> -                        new ARMTargetHandler(*this))) {}
>> -
>>  void elf::ARMLinkingContext::addPasses(PassManager &pm) {
>>    auto pass = createARMRelocationPass(*this);
>>    if (pass)
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMLinkingContext.h Fri Jan 23
>> 13:24:32 2015
>> @@ -10,7 +10,10 @@
>>  #ifndef LLD_READER_WRITER_ELF_ARM_ARM_LINKING_CONTEXT_H
>>  #define LLD_READER_WRITER_ELF_ARM_ARM_LINKING_CONTEXT_H
>>
>> +#include "ARMTargetHandler.h"
>> +
>>  #include "lld/ReaderWriter/ELFLinkingContext.h"
>> +
>>  #include "llvm/Object/ELF.h"
>>  #include "llvm/Support/ELF.h"
>>
>> @@ -19,7 +22,9 @@ namespace elf {
>>
>>  class ARMLinkingContext final : public ELFLinkingContext {
>>  public:
>> -  ARMLinkingContext(llvm::Triple);
>> +  ARMLinkingContext(llvm::Triple triple)
>> +      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> +                                      new ARMTargetHandler(*this))) {}
>>
>>    void addPasses(PassManager &) override;
>>
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/ARM/ARMTarget.h Fri Jan 23 13:24:32
>> 2015
>> @@ -0,0 +1,10 @@
>> +//===--------- lib/ReaderWriter/ELF/ARM/ARMTarget.h
>> -----------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "ARMLinkingContext.h"
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/ARM/CMakeLists.txt Fri Jan 23 13:24:32
>> 2015
>> @@ -5,7 +5,4 @@ add_llvm_library(lldARMELFTarget
>>    ARMRelocationPass.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>> -    LLVMSupport
>>    )
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/CMakeLists.txt Fri Jan 23 13:24:32 2015
>> @@ -4,10 +4,15 @@ add_llvm_library(lldELF
>>    Reader.cpp
>>    Writer.cpp
>>    LINK_LIBS
>> -    lldCore
>> +    lldHexagonELFTarget
>> +    lldMipsELFTarget
>> +    lldPPCELFTarget
>>      lldPasses
>> -    lldYAML
>> -    LLVMSupport
>> +    lldReaderWriter
>> +    lldX86ELFTarget
>> +    lldX86_64ELFTarget
>> +    lldAArch64ELFTarget
>> +    lldARMELFTarget
>>    )
>>
>>  include_directories(.)
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/ELFLinkingContext.cpp Fri Jan 23
>> 13:24:32 2015
>> @@ -11,8 +11,8 @@
>>  #include "ArrayOrderPass.h"
>>  #include "ELFFile.h"
>>  #include "TargetHandler.h"
>> +#include "Targets.h"
>>  #include "lld/Core/Instrumentation.h"
>> -#include "lld/Core/SharedLibraryFile.h"
>>  #include "lld/Passes/LayoutPass.h"
>>  #include "lld/Passes/RoundTripYAMLPass.h"
>>  #include "llvm/ADT/Triple.h"
>> @@ -56,7 +56,7 @@ public:
>>
>>  ELFLinkingContext::ELFLinkingContext(
>>      llvm::Triple triple, std::unique_ptr<TargetHandlerBase>
>> targetHandler)
>> -    : _outputELFType(llvm::ELF::ET_EXEC), _triple(triple),
>> +    : _outputELFType(elf::ET_EXEC), _triple(triple),
>>        _targetHandler(std::move(targetHandler)), _baseAddress(0),
>>        _isStaticExecutable(false), _noInhibitExec(false),
>> _exportDynamic(false),
>>        _mergeCommonStrings(false), _runLayoutPass(true),
>> @@ -93,7 +93,7 @@ uint16_t ELFLinkingContext::getOutputMac
>>  }
>>
>>  StringRef ELFLinkingContext::entrySymbolName() const {
>> -  if (_outputELFType == llvm::ELF::ET_EXEC && _entrySymbolName.empty())
>> +  if (_outputELFType == elf::ET_EXEC && _entrySymbolName.empty())
>>      return "_start";
>>    return _entrySymbolName;
>>  }
>> @@ -129,6 +129,35 @@ bool ELFLinkingContext::isRelativeReloc(
>>
>>  Writer &ELFLinkingContext::writer() const { return *_writer; }
>>
>> +std::unique_ptr<ELFLinkingContext>
>> +ELFLinkingContext::create(llvm::Triple triple) {
>> +  switch (triple.getArch()) {
>> +  case llvm::Triple::x86:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::X86LinkingContext(triple));
>> +  case llvm::Triple::x86_64:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::X86_64LinkingContext(triple));
>> +  case llvm::Triple::hexagon:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::HexagonLinkingContext(triple));
>> +  case llvm::Triple::mipsel:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::MipsLinkingContext(triple));
>> +  case llvm::Triple::ppc:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::PPCLinkingContext(triple));
>> +  case llvm::Triple::aarch64:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::AArch64LinkingContext(triple));
>> +  case llvm::Triple::arm:
>> +    return std::unique_ptr<ELFLinkingContext>(
>> +        new lld::elf::ARMLinkingContext(triple));
>> +  default:
>> +    return nullptr;
>> +  }
>> +}
>> +
>>  static void buildSearchPath(SmallString<128> &path, StringRef dir,
>>                              StringRef sysRoot) {
>>    if (!dir.startswith("=/"))
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt Fri Jan 23
>> 13:24:32 2015
>> @@ -4,7 +4,5 @@ add_llvm_library(lldHexagonELFTarget
>>    HexagonTargetHandler.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h Fri Jan 23
>> 13:24:32 2015
>> @@ -0,0 +1,10 @@
>> +//===- lib/ReaderWriter/ELF/Hexagon/HexagonTarget.h
>> -----------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "HexagonLinkingContext.h"
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/Makefile
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Makefile?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/Makefile (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/Makefile Fri Jan 23 13:24:32 2015
>> @@ -9,7 +9,10 @@
>>
>>  LLD_LEVEL := ../../..
>>  LIBRARYNAME := lldELF
>> -USEDLIBS = lldPasses.a
>> +USEDLIBS = lldHexagonELFTarget.a lldPPCELFTarget.a lldMipsELFTarget.a \
>> +           lldX86ELFTarget.a lldX86_64ELFTarget.a lldAArch64ELFTarget.a \
>> +           lldARMELFTarget.a \
>> +           lldReaderWriter.a lldPasses.a
>>
>>  CPP.Flags += -I$(PROJ_SRC_DIR)/$(LLD_LEVEL)/lib/ReaderWriter/ELF
>>
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt Fri Jan 23 13:24:32
>> 2015
>> @@ -7,7 +7,5 @@ add_llvm_library(lldMipsELFTarget
>>    MipsTargetHandler.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/Mips/MipsTarget.h Fri Jan 23 13:24:32
>> 2015
>> @@ -0,0 +1,10 @@
>> +//===- lib/ReaderWriter/ELF/Mips/MipsTarget.h
>> -----------------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "MipsLinkingContext.h"
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt Fri Jan 23 13:24:32
>> 2015
>> @@ -3,7 +3,5 @@ add_llvm_library(lldPPCELFTarget
>>    PPCTargetHandler.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.cpp Fri Jan 23
>> 13:24:32 2015
>> @@ -8,14 +8,9 @@
>>
>> //===----------------------------------------------------------------------===//
>>
>>  #include "PPCLinkingContext.h"
>> -#include "PPCTargetHandler.h"
>>  #include "lld/Core/LLVM.h"
>>  #include "llvm/ADT/StringSwitch.h"
>>  #include "llvm/Support/ErrorOr.h"
>>
>>  using namespace lld;
>>
>> -elf::PPCLinkingContext::PPCLinkingContext(llvm::Triple triple)
>> -    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> -                        new PPCTargetHandler(*this))) {}
>> -
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCLinkingContext.h Fri Jan 23
>> 13:24:32 2015
>> @@ -10,6 +10,7 @@
>>  #ifndef LLD_READER_WRITER_ELF_PPC_PPC_LINKING_CONTEXT_H
>>  #define LLD_READER_WRITER_ELF_PPC_PPC_LINKING_CONTEXT_H
>>
>> +#include "PPCTargetHandler.h"
>>  #include "lld/ReaderWriter/ELFLinkingContext.h"
>>  #include "llvm/Object/ELF.h"
>>  #include "llvm/Support/ELF.h"
>> @@ -19,7 +20,9 @@ namespace elf {
>>
>>  class PPCLinkingContext final : public ELFLinkingContext {
>>  public:
>> -  PPCLinkingContext(llvm::Triple triple);
>> +  PPCLinkingContext(llvm::Triple triple)
>> +      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> +                                      new PPCTargetHandler(*this))) {}
>>
>>    /// \brief PPC has no relative relocations defined
>>    bool isRelativeReloc(const Reference &) const override { return false;
>> }
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/PPC/PPCTarget.h Fri Jan 23 13:24:32
>> 2015
>> @@ -0,0 +1,10 @@
>> +//===- lib/ReaderWriter/ELF/PPC/PPCTarget.h
>> -------------------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "PPCLinkingContext.h"
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/Targets.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Targets.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/Targets.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/Targets.h Fri Jan 23 13:24:32 2015
>> @@ -0,0 +1,21 @@
>> +//===- lib/ReaderWriter/ELF/Targets.h
>> -------------------------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#ifndef LLD_READER_WRITER_ELF_TARGETS_H
>> +#define LLD_READER_WRITER_ELF_TARGETS_H
>> +
>> +#include "AArch64/AArch64Target.h"
>> +#include "ARM/ARMTarget.h"
>> +#include "Hexagon/HexagonTarget.h"
>> +#include "Mips/MipsTarget.h"
>> +#include "PPC/PPCTarget.h"
>> +#include "X86/X86Target.h"
>> +#include "X86_64/X86_64Target.h"
>> +
>> +#endif
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt Fri Jan 23 13:24:32
>> 2015
>> @@ -4,7 +4,5 @@ add_llvm_library(lldX86ELFTarget
>>    X86RelocationHandler.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.cpp Fri Jan 23
>> 13:24:32 2015
>> @@ -8,13 +8,9 @@
>>
>> //===----------------------------------------------------------------------===//
>>
>>  #include "X86LinkingContext.h"
>> -#include "X86TargetHandler.h"
>>  #include "lld/Core/LLVM.h"
>>  #include "llvm/ADT/StringSwitch.h"
>>  #include "llvm/Support/ErrorOr.h"
>>
>>  using namespace lld;
>>
>> -elf::X86LinkingContext::X86LinkingContext(llvm::Triple triple)
>> -    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> -                        new X86TargetHandler(*this))) {}
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86/X86LinkingContext.h Fri Jan 23
>> 13:24:32 2015
>> @@ -10,6 +10,7 @@
>>  #ifndef LLD_READER_WRITER_ELF_X86_TARGETINFO_H
>>  #define LLD_READER_WRITER_ELF_X86_TARGETINFO_H
>>
>> +#include "X86TargetHandler.h"
>>  #include "lld/ReaderWriter/ELFLinkingContext.h"
>>  #include "llvm/Object/ELF.h"
>>  #include "llvm/Support/ELF.h"
>> @@ -18,7 +19,9 @@ namespace lld {
>>  namespace elf {
>>  class X86LinkingContext final : public ELFLinkingContext {
>>  public:
>> -  X86LinkingContext(llvm::Triple);
>> +  X86LinkingContext(llvm::Triple triple)
>> +      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> +                                      new X86TargetHandler(*this))) {}
>>
>>    /// \brief X86 has only two relative relocation
>>    /// a) for supporting IFUNC relocs - R_386_IRELATIVE
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86/X86Target.h Fri Jan 23 13:24:32
>> 2015
>> @@ -0,0 +1,10 @@
>> +//===- lib/ReaderWriter/ELF/X86/X86Target.h
>> -------------------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "X86LinkingContext.h"
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt Fri Jan 23
>> 13:24:32 2015
>> @@ -5,7 +5,5 @@ add_llvm_library(lldX86_64ELFTarget
>>    X86_64RelocationPass.cpp
>>    LINK_LIBS
>>      lldCore
>> -    lldELF
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>> Modified:
>> lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h
>> (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64DynamicLibraryWriter.h Fri
>> Jan 23 13:24:32 2015
>> @@ -11,7 +11,6 @@
>>
>>  #include "DynamicLibraryWriter.h"
>>  #include "X86_64LinkingContext.h"
>> -#include "X86_64TargetHandler.h"
>>
>>  namespace lld {
>>  namespace elf {
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
>> (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp Fri Jan
>> 23 13:24:32 2015
>> @@ -8,15 +8,10 @@
>>
>> //===----------------------------------------------------------------------===//
>>
>>  #include "X86_64LinkingContext.h"
>> -#include "X86_64TargetHandler.h"
>>  #include "X86_64RelocationPass.h"
>>
>>  using namespace lld;
>>
>> -elf::X86_64LinkingContext::X86_64LinkingContext(llvm::Triple triple)
>> -    : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> -                        new X86_64TargetHandler(*this))) {}
>> -
>>  void elf::X86_64LinkingContext::addPasses(PassManager &pm) {
>>    auto pass = createX86_64RelocationPass(*this);
>>    if (pass)
>>
>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h
>> (original)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h Fri Jan
>> 23 13:24:32 2015
>> @@ -10,6 +10,7 @@
>>  #ifndef LLD_READER_WRITER_ELF_X86_64_X86_64_LINKING_CONTEXT_H
>>  #define LLD_READER_WRITER_ELF_X86_64_X86_64_LINKING_CONTEXT_H
>>
>> +#include "X86_64TargetHandler.h"
>>  #include "lld/ReaderWriter/ELFLinkingContext.h"
>>  #include "llvm/Object/ELF.h"
>>  #include "llvm/Support/ELF.h"
>> @@ -26,7 +27,9 @@ enum {
>>
>>  class X86_64LinkingContext final : public ELFLinkingContext {
>>  public:
>> -  X86_64LinkingContext(llvm::Triple);
>> +  X86_64LinkingContext(llvm::Triple triple)
>> +      : ELFLinkingContext(triple, std::unique_ptr<TargetHandlerBase>(
>> +                                      new X86_64TargetHandler(*this))) {}
>>
>>    void addPasses(PassManager &) override;
>>
>>
>> Added: lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h?rev=226928&view=auto
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h (added)
>> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/X86_64Target.h Fri Jan 23
>> 13:24:32 2015
>> @@ -0,0 +1,10 @@
>> +//===- lib/ReaderWriter/ELF/X86_64/X86_64Target.h
>> -------------------------===//
>> +//
>> +//                             The LLVM Linker
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>>
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "X86_64LinkingContext.h"
>>
>> Modified: lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt Fri Jan 23 13:24:32
>> 2015
>> @@ -16,10 +16,8 @@ add_llvm_library(lldMachO
>>    StubsPass.cpp
>>    WriterMachO.cpp
>>    LINK_LIBS
>> -    lldCore
>> +    lldReaderWriter
>>      lldPasses
>> -    lldYAML
>> -    LLVMObject
>>      LLVMSupport
>>    )
>>
>>
>> Modified: lld/trunk/lib/ReaderWriter/MachO/Makefile
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/Makefile?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/MachO/Makefile (original)
>> +++ lld/trunk/lib/ReaderWriter/MachO/Makefile Fri Jan 23 13:24:32 2015
>> @@ -9,6 +9,6 @@
>>
>>  LLD_LEVEL := ../../..
>>  LIBRARYNAME := lldMachO
>> -USEDLIBS = lldCore.a
>> +USEDLIBS = lldReaderWriter.a lldCore.a
>>
>>  include $(LLD_LEVEL)/Makefile
>>
>> Modified: lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt (original)
>> +++ lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt Fri Jan 23 13:24:32
>> 2015
>> @@ -10,8 +10,7 @@ add_llvm_library(lldPECOFF
>>    WriterImportLibrary.cpp
>>    WriterPECOFF.cpp
>>    LINK_LIBS
>> -    lldCore
>> -    lldPasses
>> +    lldReaderWriter
>>      LLVMObject
>>      LLVMSupport
>>    )
>>
>> Modified: lld/trunk/lib/ReaderWriter/PECOFF/Makefile
>> URL:
>> http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/Makefile?rev=226928&r1=226927&r2=226928&view=diff
>>
>> ==============================================================================
>> --- lld/trunk/lib/ReaderWriter/PECOFF/Makefile (original)
>> +++ lld/trunk/lib/ReaderWriter/PECOFF/Makefile Fri Jan 23 13:24:32 2015
>> @@ -9,6 +9,6 @@
>>
>>  LLD_LEVEL := ../../..
>>  LIBRARYNAME := lldPECOFF
>> -USEDLIBS = lldCore.a
>> +USEDLIBS = lldReaderWriter.a lldCore.a
>>
>>  include $(LLD_LEVEL)/Makefile
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>




More information about the llvm-commits mailing list