[lld] r235724 - Delete unnecessary generality in loadFile.

Rafael Espindola rafael.espindola at gmail.com
Fri Apr 24 08:51:46 PDT 2015


Author: rafael
Date: Fri Apr 24 10:51:45 2015
New Revision: 235724

URL: http://llvm.org/viewvc/llvm-project?rev=235724&view=rev
Log:
Delete unnecessary generality in loadFile.

loadFile could load mulitple files just because yaml has a feature for
putting multiple documents in one file.

Designing a linker around what yaml can do seems like a bad idea to
me. This patch changes it to read a single file.

There are further improvements to be done to the api and they
will follow shortly.

Added:
    lld/trunk/test/core/Inputs/
    lld/trunk/test/core/Inputs/archive-basic.objtxt
      - copied, changed from r235708, lld/trunk/test/core/archive-basic.objtxt
    lld/trunk/test/core/Inputs/archive-chain.objtxt
    lld/trunk/test/core/Inputs/archive-chain2.objtxt
    lld/trunk/test/core/Inputs/archive-tentdef-search.objtxt
    lld/trunk/test/core/Inputs/associates.objtxt
    lld/trunk/test/core/Inputs/auto-hide-coalesce.objtxt
    lld/trunk/test/core/Inputs/code-model-attributes.objtxt
    lld/trunk/test/core/Inputs/code-model-attributes2.objtxt
    lld/trunk/test/core/Inputs/code-model-attributes3.objtxt
    lld/trunk/test/core/Inputs/code-model-attributes4.objtxt
    lld/trunk/test/core/Inputs/code-model-attributes5.objtxt
    lld/trunk/test/core/Inputs/constants-coalesce.objtxt
    lld/trunk/test/core/Inputs/constants-coalesce2.objtxt
    lld/trunk/test/core/Inputs/cstring-coalesce.objtxt
    lld/trunk/test/core/Inputs/cstring-coalesce2.objtxt
    lld/trunk/test/core/Inputs/custom-section-coalesce.objtxt
    lld/trunk/test/core/Inputs/custom-section-coalesce2.objtxt
    lld/trunk/test/core/Inputs/dead-strip-attributes.objtxt
    lld/trunk/test/core/Inputs/dead-strip-attributes2.objtxt
    lld/trunk/test/core/Inputs/dead-strip-basic.objtxt
    lld/trunk/test/core/Inputs/dead-strip-basic2.objtxt
    lld/trunk/test/core/Inputs/dead-strip-globals.objtxt
    lld/trunk/test/core/Inputs/dead-strip-globals2.objtxt
    lld/trunk/test/core/Inputs/error-duplicate-absolutes.objtxt
    lld/trunk/test/core/Inputs/gnulinkonce-rearrange-resolve.objtxt
    lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef.objtxt
      - copied, changed from r235708, lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt
    lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef2.objtxt
    lld/trunk/test/core/Inputs/gnulinkonce-resolve.objtxt
    lld/trunk/test/core/Inputs/gnulinkonce-simple.objtxt
    lld/trunk/test/core/Inputs/inline-coalesce.objtxt
    lld/trunk/test/core/Inputs/inline-coalesce2.objtxt
    lld/trunk/test/core/Inputs/multiple-def-error.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-deadstrip.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-gnulinkonce-error.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-rearrange-resolve.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-remaining-undef.objtxt
      - copied, changed from r235708, lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-remaining-undef2.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-resolve.objtxt
    lld/trunk/test/core/Inputs/sectiongroup-simple.objtxt
    lld/trunk/test/core/Inputs/shared-library-coalesce.objtxt
    lld/trunk/test/core/Inputs/tent-merge.objtxt
    lld/trunk/test/core/Inputs/undef-coalesce-error.objtxt
    lld/trunk/test/core/Inputs/undef-coalesce-error2.objtxt
    lld/trunk/test/core/Inputs/undef-coalesce.objtxt
    lld/trunk/test/core/Inputs/undef-coalesce2.objtxt
    lld/trunk/test/core/Inputs/undef-fallback.objtxt
    lld/trunk/test/core/Inputs/undef-weak-coalesce.objtxt
    lld/trunk/test/core/Inputs/weak-coalesce.objtxt
    lld/trunk/test/core/Inputs/weak-coalesce2.objtxt
    lld/trunk/test/darwin/Inputs/
    lld/trunk/test/darwin/Inputs/native-and-mach-o.objtxt
    lld/trunk/test/darwin/Inputs/native-and-mach-o2.objtxt
    lld/trunk/test/elf/Inputs/allowduplicates.objtxt
    lld/trunk/test/mach-o/Inputs/PIE.yaml
    lld/trunk/test/mach-o/Inputs/arm-interworking.yaml
    lld/trunk/test/mach-o/Inputs/arm-shims.yaml
    lld/trunk/test/mach-o/Inputs/cstring-sections.yaml
    lld/trunk/test/mach-o/Inputs/got-order.yaml
    lld/trunk/test/mach-o/Inputs/got-order2.yaml
    lld/trunk/test/mach-o/Inputs/hello-world-arm64.yaml
    lld/trunk/test/mach-o/Inputs/hello-world-armv6.yaml
    lld/trunk/test/mach-o/Inputs/hello-world-armv7.yaml
    lld/trunk/test/mach-o/Inputs/hello-world-x86.yaml
    lld/trunk/test/mach-o/Inputs/hello-world-x86_64.yaml
    lld/trunk/test/mach-o/Inputs/interposing-section.yaml
    lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-2.yaml
    lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-3.yaml
    lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64.yaml
    lld/trunk/test/mach-o/Inputs/linker-as-ld.yaml
    lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal.yaml
    lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal2.yaml
    lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal3.yaml
    lld/trunk/test/mach-o/Inputs/unwind-info-simple-arm64.yaml
    lld/trunk/test/mach-o/Inputs/use-simple-dylib.yaml
    lld/trunk/test/mach-o/Inputs/write-final-sections.yaml
    lld/trunk/test/mach-o/Inputs/wrong-arch-error.yaml
      - copied, changed from r235708, lld/trunk/test/mach-o/wrong-arch-error.yaml
Modified:
    lld/trunk/include/lld/Core/Reader.h
    lld/trunk/lib/Core/Reader.cpp
    lld/trunk/lib/Driver/DarwinLdDriver.cpp
    lld/trunk/lib/Driver/Driver.cpp
    lld/trunk/lib/ReaderWriter/ELF/ELFReader.h
    lld/trunk/lib/ReaderWriter/FileArchive.cpp
    lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
    lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
    lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
    lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
    lld/trunk/test/core/archive-basic.objtxt
    lld/trunk/test/core/archive-chain.objtxt
    lld/trunk/test/core/archive-tentdef-search.objtxt
    lld/trunk/test/core/associates.objtxt
    lld/trunk/test/core/auto-hide-coalesce.objtxt
    lld/trunk/test/core/code-model-attributes.objtxt
    lld/trunk/test/core/constants-coalesce.objtxt
    lld/trunk/test/core/cstring-coalesce.objtxt
    lld/trunk/test/core/custom-section-coalesce.objtxt
    lld/trunk/test/core/dead-strip-attributes.objtxt
    lld/trunk/test/core/dead-strip-basic.objtxt
    lld/trunk/test/core/dead-strip-globals.objtxt
    lld/trunk/test/core/error-duplicate-absolutes.objtxt
    lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt
    lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt
    lld/trunk/test/core/gnulinkonce-resolve.objtxt
    lld/trunk/test/core/gnulinkonce-simple.objtxt
    lld/trunk/test/core/inline-coalesce.objtxt
    lld/trunk/test/core/multiple-def-error.objtxt
    lld/trunk/test/core/sectiongroup-deadstrip.objtxt
    lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt
    lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt
    lld/trunk/test/core/sectiongroup-remaining-undef.objtxt
    lld/trunk/test/core/sectiongroup-resolve.objtxt
    lld/trunk/test/core/sectiongroup-simple.objtxt
    lld/trunk/test/core/shared-library-coalesce.objtxt
    lld/trunk/test/core/tent-merge.objtxt
    lld/trunk/test/core/undef-coalesce-error.objtxt
    lld/trunk/test/core/undef-coalesce.objtxt
    lld/trunk/test/core/undef-fallback.objtxt
    lld/trunk/test/core/undef-weak-coalesce.objtxt
    lld/trunk/test/core/weak-coalesce.objtxt
    lld/trunk/test/darwin/native-and-mach-o.objtxt
    lld/trunk/test/elf/allowduplicates.objtxt
    lld/trunk/test/lit.cfg
    lld/trunk/test/mach-o/PIE.yaml
    lld/trunk/test/mach-o/arm-interworking.yaml
    lld/trunk/test/mach-o/arm-shims.yaml
    lld/trunk/test/mach-o/cstring-sections.yaml
    lld/trunk/test/mach-o/got-order.yaml
    lld/trunk/test/mach-o/hello-world-arm64.yaml
    lld/trunk/test/mach-o/hello-world-armv6.yaml
    lld/trunk/test/mach-o/hello-world-armv7.yaml
    lld/trunk/test/mach-o/hello-world-x86.yaml
    lld/trunk/test/mach-o/hello-world-x86_64.yaml
    lld/trunk/test/mach-o/interposing-section.yaml
    lld/trunk/test/mach-o/lazy-bind-x86_64.yaml
    lld/trunk/test/mach-o/linker-as-ld.yaml
    lld/trunk/test/mach-o/re-exported-dylib-ordinal.yaml
    lld/trunk/test/mach-o/unwind-info-simple-arm64.yaml
    lld/trunk/test/mach-o/use-simple-dylib.yaml
    lld/trunk/test/mach-o/write-final-sections.yaml
    lld/trunk/test/mach-o/wrong-arch-error.yaml

Modified: lld/trunk/include/lld/Core/Reader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/include/lld/Core/Reader.h?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/include/lld/Core/Reader.h (original)
+++ lld/trunk/include/lld/Core/Reader.h Fri Apr 24 10:51:45 2015
@@ -51,9 +51,9 @@ public:
   /// \brief Parse a supplied buffer (already filled with the contents of a
   /// file) and create a File object.
   /// The resulting File object takes ownership of the MemoryBuffer.
-  virtual std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const class Registry &,
-           std::vector<std::unique_ptr<File>> &result) const = 0;
+  virtual std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                                   const class Registry &,
+                                   std::unique_ptr<File> &result) const = 0;
 };
 
 
@@ -91,7 +91,7 @@ public:
   /// Walk the list of registered Readers and find one that can parse the
   /// supplied file and parse it.
   std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
-                           std::vector<std::unique_ptr<File>> &result) const;
+                           std::unique_ptr<File> &result) const;
 
   /// Walk the list of registered kind tables to convert a Reference Kind
   /// name to a value.

Modified: lld/trunk/lib/Core/Reader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Core/Reader.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/Core/Reader.cpp (original)
+++ lld/trunk/lib/Core/Reader.cpp Fri Apr 24 10:51:45 2015
@@ -28,9 +28,8 @@ void Registry::add(std::unique_ptr<YamlI
   _yamlHandlers.push_back(std::move(handler));
 }
 
-std::error_code
-Registry::loadFile(std::unique_ptr<MemoryBuffer> mb,
-                   std::vector<std::unique_ptr<File>> &result) const {
+std::error_code Registry::loadFile(std::unique_ptr<MemoryBuffer> mb,
+                                   std::unique_ptr<File> &result) const {
   // Get file magic.
   StringRef content(mb->getBufferStart(), mb->getBufferSize());
   llvm::sys::fs::file_magic fileType = llvm::sys::fs::identify_magic(content);

Modified: lld/trunk/lib/Driver/DarwinLdDriver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/DarwinLdDriver.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/Driver/DarwinLdDriver.cpp (original)
+++ lld/trunk/lib/Driver/DarwinLdDriver.cpp Fri Apr 24 10:51:45 2015
@@ -80,9 +80,12 @@ loadFile(MachOLinkingContext &ctx, Strin
   ErrorOr<std::unique_ptr<MemoryBuffer>> mbOrErr = ctx.getMemoryBuffer(path);
   if (std::error_code ec = mbOrErr.getError())
     return makeErrorFile(path, ec);
-  std::vector<std::unique_ptr<File>> files;
-  if (std::error_code ec = ctx.registry().loadFile(std::move(mbOrErr.get()), files))
+  std::unique_ptr<File> file;
+  if (std::error_code ec =
+          ctx.registry().loadFile(std::move(mbOrErr.get()), file))
     return makeErrorFile(path, ec);
+  std::vector<std::unique_ptr<File>> files;
+  files.push_back(std::move(file));
   for (std::unique_ptr<File> &pf : files) {
     // If file is a dylib, inform LinkingContext about it.
     if (SharedLibraryFile *shl = dyn_cast<SharedLibraryFile>(pf.get())) {

Modified: lld/trunk/lib/Driver/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/Driver.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/Driver/Driver.cpp (original)
+++ lld/trunk/lib/Driver/Driver.cpp Fri Apr 24 10:51:45 2015
@@ -54,9 +54,11 @@ FileVector loadFile(LinkingContext &ctx,
       = MemoryBuffer::getFileOrSTDIN(path);
   if (std::error_code ec = mb.getError())
     return makeErrorFile(path, ec);
-  std::vector<std::unique_ptr<File>> files;
-  if (std::error_code ec = ctx.registry().loadFile(std::move(mb.get()), files))
+  std::unique_ptr<File> file;
+  if (std::error_code ec = ctx.registry().loadFile(std::move(mb.get()), file))
     return makeErrorFile(path, ec);
+  std::vector<std::unique_ptr<File>> files;
+  files.push_back(std::move(file));
   if (wholeArchive)
     return parseMemberFiles(files);
   return files;

Modified: lld/trunk/lib/ReaderWriter/ELF/ELFReader.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/ELFReader.h?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/ELFReader.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/ELFReader.h Fri Apr 24 10:51:45 2015
@@ -28,12 +28,12 @@ public:
     return FileT::canParse(magic);
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const class Registry &,
-           std::vector<std::unique_ptr<File>> &result) const override {
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                           const class Registry &,
+                           std::unique_ptr<File> &result) const override {
     if (std::error_code ec = FileT::isCompatible(*mb, _ctx))
       return ec;
-    result.push_back(llvm::make_unique<FileT>(std::move(mb), _ctx));
+    result = llvm::make_unique<FileT>(std::move(mb), _ctx);
     return std::error_code();
   }
 

Modified: lld/trunk/lib/ReaderWriter/FileArchive.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/FileArchive.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/FileArchive.cpp (original)
+++ lld/trunk/lib/ReaderWriter/FileArchive.cpp Fri Apr 24 10:51:45 2015
@@ -173,9 +173,11 @@ private:
     std::unique_ptr<MemoryBuffer> memberMB(MemoryBuffer::getMemBuffer(
         mb.getBuffer(), mb.getBufferIdentifier(), false));
 
-    std::vector<std::unique_ptr<File>> files;
-    if (std::error_code ec = _registry.loadFile(std::move(memberMB), files))
+    std::unique_ptr<File> file;
+    if (std::error_code ec = _registry.loadFile(std::move(memberMB), file))
       return ec;
+    std::vector<std::unique_ptr<File>> files;
+    files.push_back(std::move(file));
     assert(files.size() == 1);
     result = std::move(files[0]);
     if (std::error_code ec = result->parse())
@@ -265,13 +267,12 @@ public:
     return magic == llvm::sys::fs::file_magic::archive;
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &reg,
-           std::vector<std::unique_ptr<File>> &result) const override {
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                           const Registry &reg,
+                           std::unique_ptr<File> &result) const override {
     StringRef path = mb->getBufferIdentifier();
-    std::unique_ptr<FileArchive> file(
-        new FileArchive(std::move(mb), reg, path, _logLoading));
-    result.push_back(std::move(file));
+    result =
+        llvm::make_unique<FileArchive>(std::move(mb), reg, path, _logLoading);
     return std::error_code();
   }
 

Modified: lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/MachOLinkingContext.cpp Fri Apr 24 10:51:45 2015
@@ -623,9 +623,11 @@ MachODylibFile* MachOLinkingContext::loa
   if (mbOrErr.getError())
     return nullptr;
 
-  std::vector<std::unique_ptr<File>> files;
-  if (registry().loadFile(std::move(mbOrErr.get()), files))
+  std::unique_ptr<File> file;
+  if (registry().loadFile(std::move(mbOrErr.get()), file))
     return nullptr;
+  std::vector<std::unique_ptr<File>> files;
+  files.push_back(std::move(file));
   assert(files.size() == 1 && "expected one file in dylib");
   files[0]->parse();
   MachODylibFile* result = reinterpret_cast<MachODylibFile*>(files[0].get());

Modified: lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp Fri Apr 24 10:51:45 2015
@@ -30,6 +30,7 @@
 #include "llvm/ADT/SmallString.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/StringSwitch.h"
+#include "llvm/ADT/STLExtras.h"
 #include "llvm/ADT/Twine.h"
 #include "llvm/Object/MachO.h"
 #include "llvm/Support/Casting.h"
@@ -521,11 +522,10 @@ public:
             mb.getBufferSize() > 32);
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &registry,
-           std::vector<std::unique_ptr<File>> &result) const override {
-    auto *file = new MachOFile(std::move(mb), &_ctx);
-    result.push_back(std::unique_ptr<MachOFile>(file));
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                           const Registry &registry,
+                           std::unique_ptr<File> &result) const override {
+    result = llvm::make_unique<MachOFile>(std::move(mb), &_ctx);
     return std::error_code();
   }
 
@@ -547,11 +547,10 @@ public:
     }
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &registry,
-           std::vector<std::unique_ptr<File>> &result) const override {
-    auto *file = new MachODylibFile(std::move(mb), &_ctx);
-    result.push_back(std::unique_ptr<MachODylibFile>(file));
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                           const Registry &registry,
+                           std::unique_ptr<File> &result) const override {
+    result = llvm::make_unique<MachODylibFile>(std::move(mb), &_ctx);
     return std::error_code();
   }
 

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderCOFF.cpp Fri Apr 24 10:51:45 2015
@@ -1052,12 +1052,10 @@ public:
     return magic == llvm::sys::fs::file_magic::coff_object;
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &,
-           std::vector<std::unique_ptr<File>> &result) const override {
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb, const Registry &,
+                           std::unique_ptr<File> &result) const override {
     // Parse the memory buffer as PECOFF file.
-    auto *file = new FileCOFF(std::move(mb), _ctx);
-    result.push_back(std::unique_ptr<File>(file));
+    result = llvm::make_unique<FileCOFF>(std::move(mb), _ctx);
     return std::error_code();
   }
 

Modified: lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/ReaderImportHeader.cpp Fri Apr 24 10:51:45 2015
@@ -367,11 +367,11 @@ public:
     return magic == llvm::sys::fs::file_magic::coff_import_library;
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const class Registry &,
-           std::vector<std::unique_ptr<File> > &result) const override {
-    auto *file = new FileImportLibrary(std::move(mb), _ctx.getMachineType());
-    result.push_back(std::unique_ptr<File>(file));
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                           const class Registry &,
+                           std::unique_ptr<File> &result) const override {
+    result = llvm::make_unique<FileImportLibrary>(std::move(mb),
+                                                  _ctx.getMachineType());
     return std::error_code();
   }
 

Modified: lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp (original)
+++ lld/trunk/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp Fri Apr 24 10:51:45 2015
@@ -1294,9 +1294,9 @@ public:
     return ext.equals(".objtxt") || ext.equals(".yaml");
   }
 
-  std::error_code
-  loadFile(std::unique_ptr<MemoryBuffer> mb, const class Registry &,
-           std::vector<std::unique_ptr<File>> &result) const override {
+  std::error_code loadFile(std::unique_ptr<MemoryBuffer> mb,
+                           const class Registry &,
+                           std::unique_ptr<File> &result) const override {
     // Create YAML Input Reader.
     YamlContext yamlContext;
     yamlContext._registry = &_registry;
@@ -1306,19 +1306,19 @@ public:
     // Fill vector with File objects created by parsing yaml.
     std::vector<const lld::File *> createdFiles;
     yin >> createdFiles;
+    assert(createdFiles.size() == 1);
 
     // Error out now if there were parsing errors.
     if (yin.error())
       return make_error_code(lld::YamlReaderError::illegal_value);
 
     std::shared_ptr<MemoryBuffer> smb(mb.release());
-    for (const File *file : createdFiles) {
-      // Note: loadFile() should return vector of *const* File
-      File *f = const_cast<File *>(file);
-      f->setLastError(std::error_code());
-      f->setSharedMemoryBuffer(smb);
-      result.emplace_back(f);
-    }
+    const File *file = createdFiles[0];
+    // Note: loadFile() should return vector of *const* File
+    File *f = const_cast<File *>(file);
+    f->setLastError(std::error_code());
+    f->setSharedMemoryBuffer(smb);
+    result = std::unique_ptr<File>(f);
     return make_error_code(lld::YamlReaderError::success);
   }
 

Copied: lld/trunk/test/core/Inputs/archive-basic.objtxt (from r235708, lld/trunk/test/core/archive-basic.objtxt)
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/archive-basic.objtxt?p2=lld/trunk/test/core/Inputs/archive-basic.objtxt&p1=lld/trunk/test/core/archive-basic.objtxt&r1=235708&r2=235724&rev=235724&view=diff
==============================================================================
--- lld/trunk/test/core/archive-basic.objtxt (original)
+++ lld/trunk/test/core/Inputs/archive-basic.objtxt Fri Apr 24 10:51:45 2015
@@ -1,18 +1,3 @@
-# RUN: lld -core %s | FileCheck %s
-
-#
-# Tests archives in YAML. Tests that an undefined in a regular file will load
-# all atoms in select archive members.
-#
-
---- !native
-defined-atoms:
-    - name:              foo
-      type:              code
-
-undefined-atoms:
-    - name:              bar
-
 --- !archive
 members:
   - name:               bar.o
@@ -34,11 +19,3 @@ members:
 
         - name:              baz2
           type:              code
-...
-
-# CHECK:       name:       foo
-# CHECK-NOT:  undefined-atoms:
-# CHECK:       name:       bar
-# CHECK:       name:       bar2
-# CHECK-NOT:   name:       baz
-# CHECK:       ...

Added: lld/trunk/test/core/Inputs/archive-chain.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/archive-chain.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/archive-chain.objtxt (added)
+++ lld/trunk/test/core/Inputs/archive-chain.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,24 @@
+--- !archive
+members:
+    - name:             bar1.o
+      content: !native
+        defined-atoms:
+          - name:              bar1
+            scope:             global
+            type:              code
+
+          - name:              bar1b
+            type:              code
+
+        undefined-atoms:
+          - name:              baz1
+
+    - name:              bar2.o
+      content: !native
+        defined-atoms:
+          - name:              bar2
+            scope:             global
+            type:              code
+
+          - name:              bar2b
+            type:              code

Added: lld/trunk/test/core/Inputs/archive-chain2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/archive-chain2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/archive-chain2.objtxt (added)
+++ lld/trunk/test/core/Inputs/archive-chain2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,21 @@
+--- !archive
+members:
+    - name:             baz1.o
+      content: !native
+       defined-atoms:
+         - name:              baz1
+           scope:             global
+           type:              code
+
+         - name:              baz1b
+           type:              code
+
+    - name:               baz2.o
+      content: !native
+       defined-atoms:
+         - name:              baz2
+           scope:             global
+           type:              code
+
+         - name:              baz2b
+           type:              code

Added: lld/trunk/test/core/Inputs/archive-tentdef-search.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/archive-tentdef-search.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/archive-tentdef-search.objtxt (added)
+++ lld/trunk/test/core/Inputs/archive-tentdef-search.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,11 @@
+--- !archive
+members:
+  - name:               bar.o
+    content: !native
+      defined-atoms:
+        - name:              bar
+          scope:             global
+          type:              data
+
+        - name:              bar2
+          type:              data

Added: lld/trunk/test/core/Inputs/associates.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/associates.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/associates.objtxt (added)
+++ lld/trunk/test/core/Inputs/associates.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+defined-atoms:
+  - name:  f1
+    merge: as-weak
+    scope: global
+    references:
+      - kind:            associate
+        target:          f2
+  - name:  f2

Added: lld/trunk/test/core/Inputs/auto-hide-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/auto-hide-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/auto-hide-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/auto-hide-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,20 @@
+defined-atoms:
+    - name:              _inlineFunc1
+      scope:             global
+      type:              code
+      merge:             as-weak
+
+    - name:              _inlineFunc2
+      scope:             global
+      type:              code
+      merge:             as-addressed-weak
+
+    - name:              _inlineFunc3
+      scope:             global
+      type:              code
+      merge:             as-weak
+
+    - name:              _inlineFunc4
+      scope:             global
+      type:              code
+      merge:             as-addressed-weak

Added: lld/trunk/test/core/Inputs/code-model-attributes.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/code-model-attributes.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/code-model-attributes.objtxt (added)
+++ lld/trunk/test/core/Inputs/code-model-attributes.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _none
+      code-model:   none

Added: lld/trunk/test/core/Inputs/code-model-attributes2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/code-model-attributes2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/code-model-attributes2.objtxt (added)
+++ lld/trunk/test/core/Inputs/code-model-attributes2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _mips_pic
+      code-model:   mips-pic

Added: lld/trunk/test/core/Inputs/code-model-attributes3.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/code-model-attributes3.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/code-model-attributes3.objtxt (added)
+++ lld/trunk/test/core/Inputs/code-model-attributes3.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _mips_micro
+      code-model:   mips-micro

Added: lld/trunk/test/core/Inputs/code-model-attributes4.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/code-model-attributes4.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/code-model-attributes4.objtxt (added)
+++ lld/trunk/test/core/Inputs/code-model-attributes4.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _mips_micro_pic
+      code-model:   mips-micro-pic

Added: lld/trunk/test/core/Inputs/code-model-attributes5.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/code-model-attributes5.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/code-model-attributes5.objtxt (added)
+++ lld/trunk/test/core/Inputs/code-model-attributes5.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _mips_16
+      code-model:   mips-16

Added: lld/trunk/test/core/Inputs/constants-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/constants-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/constants-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/constants-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,9 @@
+---
+defined-atoms:
+    - ref-name:          L1
+      type:              constant
+      content:           [ 01, 02 ]
+    - ref-name:          L2
+      type:              constant
+      merge:             by-content
+      content:           [ 01, 02, 03, 04 ]

Added: lld/trunk/test/core/Inputs/constants-coalesce2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/constants-coalesce2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/constants-coalesce2.objtxt (added)
+++ lld/trunk/test/core/Inputs/constants-coalesce2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,10 @@
+---
+defined-atoms:
+    - ref-name:          L2
+      type:              constant
+      merge:             by-content
+      content:           [ 01, 23, 45, 67, 89, AB, CD, EF ]
+    - ref-name:          L3
+      type:              constant
+      merge:             by-content
+      content:           [ 01, 02, 03 ]

Added: lld/trunk/test/core/Inputs/cstring-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/cstring-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/cstring-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/cstring-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+---
+defined-atoms:
+    - ref-name:          L2
+      type:              c-string
+      merge:             by-content
+      content:           [ 68, 65, 6c, 6c, 6f, 00 ]

Added: lld/trunk/test/core/Inputs/cstring-coalesce2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/cstring-coalesce2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/cstring-coalesce2.objtxt (added)
+++ lld/trunk/test/core/Inputs/cstring-coalesce2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+---
+defined-atoms:
+    - ref-name:          L2
+      type:              c-string
+      merge:             by-content
+      content:           [ 74, 68, 65, 72, 65, 00 ]

Added: lld/trunk/test/core/Inputs/custom-section-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/custom-section-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/custom-section-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/custom-section-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,15 @@
+---
+defined-atoms:
+    - ref-name:          L1
+      type:              constant
+      merge:             by-content
+      content:           [ 01, 02, 03, 04 ]
+      section-choice:    custom-required
+      section-name:      .mysection
+
+    - ref-name:          L2
+      type:              constant
+      merge:             by-content
+      content:           [ 01, 02, 03, 04 ]
+      section-choice:    custom-required
+      section-name:      .mysection2

Added: lld/trunk/test/core/Inputs/custom-section-coalesce2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/custom-section-coalesce2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/custom-section-coalesce2.objtxt (added)
+++ lld/trunk/test/core/Inputs/custom-section-coalesce2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,13 @@
+---
+defined-atoms:
+    - ref-name:          L1
+      type:              constant
+      merge:             by-content
+      content:           [ 05, 06, 07, 08 ]
+      section-choice:    custom-required
+      section-name:      .mysection
+
+    - ref-name:          L2
+      type:              constant
+      merge:             by-content
+      content:           [ 01, 02, 03, 04 ]

Added: lld/trunk/test/core/Inputs/dead-strip-attributes.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/dead-strip-attributes.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/dead-strip-attributes.objtxt (added)
+++ lld/trunk/test/core/Inputs/dead-strip-attributes.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _foo2
+      dead-strip:   never

Added: lld/trunk/test/core/Inputs/dead-strip-attributes2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/dead-strip-attributes2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/dead-strip-attributes2.objtxt (added)
+++ lld/trunk/test/core/Inputs/dead-strip-attributes2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+defined-atoms:
+    - name:         _foo3
+      dead-strip:   always

Added: lld/trunk/test/core/Inputs/dead-strip-basic.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/dead-strip-basic.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/dead-strip-basic.objtxt (added)
+++ lld/trunk/test/core/Inputs/dead-strip-basic.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,9 @@
+---
+defined-atoms:
+    - name:         mydead2
+      scope:        global
+      type:         data
+
+    - name:         bar
+      scope:        global
+      type:         data

Added: lld/trunk/test/core/Inputs/dead-strip-basic2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/dead-strip-basic2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/dead-strip-basic2.objtxt (added)
+++ lld/trunk/test/core/Inputs/dead-strip-basic2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+---
+defined-atoms:
+    - name:         baz
+      scope:        global
+      type:         code
+
+    - name:         mydead3
+      type:         code

Added: lld/trunk/test/core/Inputs/dead-strip-globals.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/dead-strip-globals.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/dead-strip-globals.objtxt (added)
+++ lld/trunk/test/core/Inputs/dead-strip-globals.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,9 @@
+---
+defined-atoms:
+    - name:         myglobal2
+      scope:        global
+      type:         data
+
+    - name:         bar
+      scope:        hidden
+      type:         data

Added: lld/trunk/test/core/Inputs/dead-strip-globals2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/dead-strip-globals2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/dead-strip-globals2.objtxt (added)
+++ lld/trunk/test/core/Inputs/dead-strip-globals2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+---
+defined-atoms:
+    - name:         baz
+      scope:        hidden
+      type:         code
+
+    - name:         mydead
+      type:         code

Added: lld/trunk/test/core/Inputs/error-duplicate-absolutes.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/error-duplicate-absolutes.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/error-duplicate-absolutes.objtxt (added)
+++ lld/trunk/test/core/Inputs/error-duplicate-absolutes.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,5 @@
+---
+absolute-atoms:
+    - name:         absatom
+      value:        0
+      scope:        global

Added: lld/trunk/test/core/Inputs/gnulinkonce-rearrange-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/gnulinkonce-rearrange-resolve.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/gnulinkonce-rearrange-resolve.objtxt (added)
+++ lld/trunk/test/core/Inputs/gnulinkonce-rearrange-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,26 @@
+---
+defined-atoms:
+  - name:            g1
+    scope:           global
+    type:            gnu-linkonce
+    references:
+      - kind:            group-child
+        target:          f1
+      - kind:            group-child
+        target:          f2
+      - kind:            group-child
+        target:          g1
+      - kind:            group-child
+        target:          d1
+  - name:            f1
+    scope:           global
+    type:            code
+  - name:            f2
+    scope:           global
+    type:            code
+  - name:            g1
+    scope:           global
+    type:            code
+  - name:            d1
+    scope:           global
+    type:            data

Copied: lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef.objtxt (from r235708, lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt)
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef.objtxt?p2=lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef.objtxt&p1=lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt&r1=235708&r2=235724&rev=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt (original)
+++ lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef.objtxt Fri Apr 24 10:51:45 2015
@@ -1,44 +1,17 @@
-# RUN: not lld -core %s 2>&1 | FileCheck %s
-
-#
-# Test that section groups/gnu linkonce sections are parsed and a merge error
-# is displayed at the time of symbol resolution.
-#
-
 ---
 defined-atoms:
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
+  - name:            anotherfunction
     scope:           global
     type:            data
-  - name:            g1
-    scope:           global
-    type:            group-comdat
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
----
-defined-atoms:
   - name:            f1
     scope:           global
     type:            code
   - name:            f2
     scope:           global
     type:            code
+  - name:            f3
+    scope:           global
+    type:            code
   - name:            g1
     scope:           global
     type:            code
@@ -54,11 +27,8 @@ defined-atoms:
       - kind:            group-child
         target:          f2
       - kind:            group-child
+        target:          f3
+      - kind:            group-child
         target:          g1
       - kind:            group-child
         target:          d1
-...
-
-#CHECK: SymbolTable: error while merging g1
-#CHECK: LLVM ERROR: duplicate symbol error
-

Added: lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef2.objtxt (added)
+++ lld/trunk/test/core/Inputs/gnulinkonce-remaining-undef2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+undefined-atoms:
+    - name:              f3
+      can-be-null:       never

Added: lld/trunk/test/core/Inputs/gnulinkonce-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/gnulinkonce-resolve.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/gnulinkonce-resolve.objtxt (added)
+++ lld/trunk/test/core/Inputs/gnulinkonce-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,25 @@
+defined-atoms:
+  - name:            f1
+    scope:           global
+    type:            code
+  - name:            f2
+    scope:           global
+    type:            code
+  - name:            g1
+    scope:           global
+    type:            code
+  - name:            d1
+    scope:           global
+    type:            data
+  - name:            g1
+    scope:           global
+    type:            gnu-linkonce
+    references:
+      - kind:            group-child
+        target:          f1
+      - kind:            group-child
+        target:          f2
+      - kind:            group-child
+        target:          g1
+      - kind:            group-child
+        target:          d1

Added: lld/trunk/test/core/Inputs/gnulinkonce-simple.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/gnulinkonce-simple.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/gnulinkonce-simple.objtxt (added)
+++ lld/trunk/test/core/Inputs/gnulinkonce-simple.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+undefined-atoms:
+    - name:              f1
+      can-be-null:       never

Added: lld/trunk/test/core/Inputs/inline-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/inline-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/inline-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/inline-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+---
+defined-atoms:
+    - name:              _inlineFunc
+      scope:             global
+      type:              code
+      merge:             as-weak

Added: lld/trunk/test/core/Inputs/inline-coalesce2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/inline-coalesce2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/inline-coalesce2.objtxt (added)
+++ lld/trunk/test/core/Inputs/inline-coalesce2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+---
+defined-atoms:
+    - name:              _inlineFunc
+      scope:             global
+      type:              code
+      merge:             as-weak

Added: lld/trunk/test/core/Inputs/multiple-def-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/multiple-def-error.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/multiple-def-error.objtxt (added)
+++ lld/trunk/test/core/Inputs/multiple-def-error.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,5 @@
+---
+defined-atoms:
+    - name:         _foo
+      scope:        global
+      type:         data

Added: lld/trunk/test/core/Inputs/sectiongroup-deadstrip.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-deadstrip.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/sectiongroup-deadstrip.objtxt (added)
+++ lld/trunk/test/core/Inputs/sectiongroup-deadstrip.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,3 @@
+undefined-atoms:
+    - name:              f1
+      can-be-null:       never

Added: lld/trunk/test/core/Inputs/sectiongroup-gnulinkonce-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-gnulinkonce-error.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/sectiongroup-gnulinkonce-error.objtxt (added)
+++ lld/trunk/test/core/Inputs/sectiongroup-gnulinkonce-error.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,26 @@
+---
+defined-atoms:
+  - name:            f1
+    scope:           global
+    type:            code
+  - name:            f2
+    scope:           global
+    type:            code
+  - name:            g1
+    scope:           global
+    type:            code
+  - name:            d1
+    scope:           global
+    type:            data
+  - name:            g1
+    scope:           global
+    type:            gnu-linkonce
+    references:
+      - kind:            group-child
+        target:          f1
+      - kind:            group-child
+        target:          f2
+      - kind:            group-child
+        target:          g1
+      - kind:            group-child
+        target:          d1

Added: lld/trunk/test/core/Inputs/sectiongroup-rearrange-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-rearrange-resolve.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/sectiongroup-rearrange-resolve.objtxt (added)
+++ lld/trunk/test/core/Inputs/sectiongroup-rearrange-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,25 @@
+defined-atoms:
+  - name:            g1
+    scope:           global
+    type:            group-comdat
+    references:
+      - kind:            group-child
+        target:          f1
+      - kind:            group-child
+        target:          f2
+      - kind:            group-child
+        target:          g1
+      - kind:            group-child
+        target:          d1
+  - name:            f1
+    scope:           global
+    type:            code
+  - name:            f2
+    scope:           global
+    type:            code
+  - name:            g1
+    scope:           global
+    type:            code
+  - name:            d1
+    scope:           global
+    type:            data

Copied: lld/trunk/test/core/Inputs/sectiongroup-remaining-undef.objtxt (from r235708, lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt)
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-remaining-undef.objtxt?p2=lld/trunk/test/core/Inputs/sectiongroup-remaining-undef.objtxt&p1=lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt&r1=235708&r2=235724&rev=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt (original)
+++ lld/trunk/test/core/Inputs/sectiongroup-remaining-undef.objtxt Fri Apr 24 10:51:45 2015
@@ -1,44 +1,17 @@
-# RUN: not lld -core %s 2>&1 | FileCheck %s
-
-#
-# Test that section groups/gnu linkonce sections are parsed and a merge error
-# is displayed at the time of symbol resolution.
-#
-
 ---
 defined-atoms:
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
+  - name:            anotherfunction
     scope:           global
     type:            data
-  - name:            g1
-    scope:           global
-    type:            group-comdat
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
----
-defined-atoms:
   - name:            f1
     scope:           global
     type:            code
   - name:            f2
     scope:           global
     type:            code
+  - name:            f3
+    scope:           global
+    type:            code
   - name:            g1
     scope:           global
     type:            code
@@ -47,18 +20,15 @@ defined-atoms:
     type:            data
   - name:            g1
     scope:           global
-    type:            gnu-linkonce
+    type:            group-comdat
     references:
       - kind:            group-child
         target:          f1
       - kind:            group-child
         target:          f2
       - kind:            group-child
+        target:          f3
+      - kind:            group-child
         target:          g1
       - kind:            group-child
         target:          d1
-...
-
-#CHECK: SymbolTable: error while merging g1
-#CHECK: LLVM ERROR: duplicate symbol error
-

Added: lld/trunk/test/core/Inputs/sectiongroup-remaining-undef2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-remaining-undef2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/sectiongroup-remaining-undef2.objtxt (added)
+++ lld/trunk/test/core/Inputs/sectiongroup-remaining-undef2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+undefined-atoms:
+    - name:              f3
+      can-be-null:       never

Added: lld/trunk/test/core/Inputs/sectiongroup-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-resolve.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/sectiongroup-resolve.objtxt (added)
+++ lld/trunk/test/core/Inputs/sectiongroup-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,26 @@
+---
+defined-atoms:
+  - name:            f1
+    scope:           global
+    type:            code
+  - name:            f2
+    scope:           global
+    type:            code
+  - name:            g1
+    scope:           global
+    type:            code
+  - name:            d1
+    scope:           global
+    type:            data
+  - name:            g1
+    scope:           global
+    type:            group-comdat
+    references:
+      - kind:            group-child
+        target:          f1
+      - kind:            group-child
+        target:          f2
+      - kind:            group-child
+        target:          g1
+      - kind:            group-child
+        target:          d1

Added: lld/trunk/test/core/Inputs/sectiongroup-simple.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/sectiongroup-simple.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/sectiongroup-simple.objtxt (added)
+++ lld/trunk/test/core/Inputs/sectiongroup-simple.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,4 @@
+---
+undefined-atoms:
+    - name:              f1
+      can-be-null:       never

Added: lld/trunk/test/core/Inputs/shared-library-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/shared-library-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/shared-library-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/shared-library-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,28 @@
+---
+shared-library-atoms:
+    - name:              foo2
+      load-name:         libc.so
+
+    - name:              foo3
+      load-name:         libc.so
+
+    - name:              bar2
+      load-name:         libc.so
+      can-be-null:       at-runtime
+
+    - name:              bar3
+      load-name:         libc.so
+      can-be-null:       at-runtime
+
+    - name:              mismatchNull1
+      load-name:         libc.so
+
+    - name:              mismatchNull2
+      load-name:         libc.so
+      can-be-null:       at-runtime
+
+    - name:              mismatchload1
+      load-name:         libb.so
+
+    - name:              mismatchload2
+      load-name:         liba.so

Added: lld/trunk/test/core/Inputs/tent-merge.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/tent-merge.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/tent-merge.objtxt (added)
+++ lld/trunk/test/core/Inputs/tent-merge.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+---
+defined-atoms:
+    - name:         _foo
+      scope:        global
+      type:         data
+      content:      [ 00, 00, 00, 00 ]

Added: lld/trunk/test/core/Inputs/undef-coalesce-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/undef-coalesce-error.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/undef-coalesce-error.objtxt (added)
+++ lld/trunk/test/core/Inputs/undef-coalesce-error.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+---
+defined-atoms:
+    - name:              bar
+      type:              code
+
+undefined-atoms:
+    - name:              malloc
+    - name:              myfunc

Added: lld/trunk/test/core/Inputs/undef-coalesce-error2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/undef-coalesce-error2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/undef-coalesce-error2.objtxt (added)
+++ lld/trunk/test/core/Inputs/undef-coalesce-error2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+---
+defined-atoms:
+    - name:              myfunc
+      scope:             global
+      type:              code
+
+undefined-atoms:
+    - name:              free

Added: lld/trunk/test/core/Inputs/undef-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/undef-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/undef-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/undef-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+---
+defined-atoms:
+    - name:              bar
+      type:              code
+
+undefined-atoms:
+    - name:              malloc
+    - name:              myfunc

Added: lld/trunk/test/core/Inputs/undef-coalesce2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/undef-coalesce2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/undef-coalesce2.objtxt (added)
+++ lld/trunk/test/core/Inputs/undef-coalesce2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+---
+defined-atoms:
+    - name:              myfunc
+      scope:             global
+      type:              code
+
+undefined-atoms:
+    - name:              free

Added: lld/trunk/test/core/Inputs/undef-fallback.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/undef-fallback.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/undef-fallback.objtxt (added)
+++ lld/trunk/test/core/Inputs/undef-fallback.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,7 @@
+defined-atoms:
+  - name: fallback1
+
+undefined-atoms:
+  - name: def1
+    fallback:
+      name: fallback3

Added: lld/trunk/test/core/Inputs/undef-weak-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/undef-weak-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/undef-weak-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/undef-weak-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,20 @@
+---
+undefined-atoms:
+    - name:              bar1
+      can-be-null:       never
+    - name:              bar2
+      can-be-null:       at-runtime
+    - name:              bar3
+      can-be-null:       at-buildtime
+    - name:              bar4
+      can-be-null:       at-runtime
+    - name:              bar5
+      can-be-null:       at-buildtime
+    - name:              bar6
+      can-be-null:       never
+    - name:              bar7
+      can-be-null:       at-buildtime
+    - name:              bar8
+      can-be-null:       never
+    - name:              bar9
+      can-be-null:       at-runtime

Added: lld/trunk/test/core/Inputs/weak-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/weak-coalesce.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/weak-coalesce.objtxt (added)
+++ lld/trunk/test/core/Inputs/weak-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,5 @@
+---
+defined-atoms:
+    - name:         _foo
+      scope:        global
+      type:         data

Added: lld/trunk/test/core/Inputs/weak-coalesce2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/Inputs/weak-coalesce2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/core/Inputs/weak-coalesce2.objtxt (added)
+++ lld/trunk/test/core/Inputs/weak-coalesce2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+---
+defined-atoms:
+    - name:         _foo
+      merge:        as-weak
+      scope:        global
+      type:         data

Modified: lld/trunk/test/core/archive-basic.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/archive-basic.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/archive-basic.objtxt (original)
+++ lld/trunk/test/core/archive-basic.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/archive-basic.objtxt | FileCheck %s
 
 #
 # Tests archives in YAML. Tests that an undefined in a regular file will load
@@ -13,27 +13,6 @@ defined-atoms:
 undefined-atoms:
     - name:              bar
 
---- !archive
-members:
-  - name:               bar.o
-    content: !native
-      defined-atoms:
-        - name:              bar
-          scope:             global
-          type:              code
-
-        - name:              bar2
-          type:              code
-
-  - name:               baz.o
-    content: !native
-      defined-atoms:
-        - name:              baz
-          scope:             global
-          type:              code
-
-        - name:              baz2
-          type:              code
 ...
 
 # CHECK:       name:       foo

Modified: lld/trunk/test/core/archive-chain.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/archive-chain.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/archive-chain.objtxt (original)
+++ lld/trunk/test/core/archive-chain.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/archive-chain.objtxt %p/Inputs/archive-chain2.objtxt | FileCheck %s
 
 #
 # Tests that an undefine in one archive can force a load from another archive.
@@ -11,53 +11,6 @@ defined-atoms:
 
 undefined-atoms:
     - name:              bar1
-
---- !archive
-members:
-    - name:             bar1.o
-      content: !native
-        defined-atoms:
-          - name:              bar1
-            scope:             global
-            type:              code
-
-          - name:              bar1b
-            type:              code
-
-        undefined-atoms:
-          - name:              baz1
-
-    - name:              bar2.o
-      content: !native
-        defined-atoms:
-          - name:              bar2
-            scope:             global
-            type:              code
-
-          - name:              bar2b
-            type:              code
-
---- !archive
-members:
-    - name:             baz1.o
-      content: !native
-       defined-atoms:
-         - name:              baz1
-           scope:             global
-           type:              code
-
-         - name:              baz1b
-           type:              code
-
-    - name:               baz2.o
-      content: !native
-       defined-atoms:
-         - name:              baz2
-           scope:             global
-           type:              code
-
-         - name:              baz2b
-           type:              code
 ...
 
 # CHECK:       name:       foo

Modified: lld/trunk/test/core/archive-tentdef-search.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/archive-tentdef-search.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/archive-tentdef-search.objtxt (original)
+++ lld/trunk/test/core/archive-tentdef-search.objtxt Fri Apr 24 10:51:45 2015
@@ -1,5 +1,5 @@
-# RUN: lld -core %s | FileCheck -check-prefix=CHK1 %s
-# RUN: lld -core --commons-search-archives  %s | FileCheck -check-prefix=CHK2 %s
+# RUN: lld -core %s %p/Inputs/archive-tentdef-search.objtxt | FileCheck -check-prefix=CHK1 %s
+# RUN: lld -core --commons-search-archives %s %p/Inputs/archive-tentdef-search.objtxt | FileCheck -check-prefix=CHK2 %s
 
 #
 # Tests that -commons-search-archives cause core linker to look for overrides
@@ -16,18 +16,6 @@ defined-atoms:
       scope:             global
       type:              zero-fill
       merge:             as-tentative
-
---- !archive
-members:
-  - name:               bar.o
-    content: !native
-      defined-atoms:
-        - name:              bar
-          scope:             global
-          type:              data
-
-        - name:              bar2
-          type:              data
 ...
 
 # CHK1:       name:       foo

Modified: lld/trunk/test/core/associates.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/associates.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/associates.objtxt (original)
+++ lld/trunk/test/core/associates.objtxt Fri Apr 24 10:51:45 2015
@@ -1,17 +1,8 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/associates.objtxt | FileCheck %s
 
 ---
 defined-atoms:
   - name:  f1
-    merge: as-weak
-    scope: global
-    references:
-      - kind:            associate
-        target:          f2
-  - name:  f2
----
-defined-atoms:
-  - name:  f1
     merge: as-weak
     scope: global
     references:

Modified: lld/trunk/test/core/auto-hide-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/auto-hide-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/auto-hide-coalesce.objtxt (original)
+++ lld/trunk/test/core/auto-hide-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/auto-hide-coalesce.objtxt | FileCheck %s
 
 #
 # Tests auto-hide bit during coalescing
@@ -23,27 +23,6 @@ defined-atoms:
 
     - name:              _inlineFunc4
       scope:             global
-      type:              code
-      merge:             as-addressed-weak
----
-defined-atoms:
-    - name:              _inlineFunc1
-      scope:             global
-      type:              code
-      merge:             as-weak
-
-    - name:              _inlineFunc2
-      scope:             global
-      type:              code
-      merge:             as-addressed-weak
-
-    - name:              _inlineFunc3
-      scope:             global
-      type:              code
-      merge:             as-weak
-
-    - name:              _inlineFunc4
-      scope:             global
       type:              code
       merge:             as-addressed-weak
 ...

Modified: lld/trunk/test/core/code-model-attributes.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/code-model-attributes.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/code-model-attributes.objtxt (original)
+++ lld/trunk/test/core/code-model-attributes.objtxt Fri Apr 24 10:51:45 2015
@@ -1,5 +1,8 @@
-# RUN: lld -core %s | FileCheck %s
-
+# RUN: lld -core %s %p/Inputs/code-model-attributes.objtxt \
+# RUN: %p/Inputs/code-model-attributes2.objtxt \
+# RUN: %p/Inputs/code-model-attributes3.objtxt \
+# RUN: %p/Inputs/code-model-attributes4.objtxt \
+# RUN: %p/Inputs/code-model-attributes5.objtxt | FileCheck %s
 #
 # Test that code model attributes are preserved
 #
@@ -7,26 +10,6 @@
 ---
 defined-atoms:
     - name:         _def
----
-defined-atoms:
-    - name:         _none
-      code-model:   none
----
-defined-atoms:
-    - name:         _mips_pic
-      code-model:   mips-pic
----
-defined-atoms:
-    - name:         _mips_micro
-      code-model:   mips-micro
----
-defined-atoms:
-    - name:         _mips_micro_pic
-      code-model:   mips-micro-pic
----
-defined-atoms:
-    - name:         _mips_16
-      code-model:   mips-16
 ...
 
 # CHECK:       name: _def

Modified: lld/trunk/test/core/constants-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/constants-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/constants-coalesce.objtxt (original)
+++ lld/trunk/test/core/constants-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/constants-coalesce.objtxt \
+# RUN: %p/Inputs/constants-coalesce2.objtxt | FileCheck %s
 
 #
 # Test that duplicate merge-by-content anonymous constants are coalesced
@@ -20,25 +21,6 @@ defined-atoms:
     - ref-name:          L1
       type:              constant
       content:           [ 01, 02 ]
----
-defined-atoms:
-    - ref-name:          L1
-      type:              constant
-      content:           [ 01, 02 ]
-    - ref-name:          L2
-      type:              constant
-      merge:             by-content
-      content:           [ 01, 02, 03, 04 ]
----
-defined-atoms:
-    - ref-name:          L2
-      type:              constant
-      merge:             by-content
-      content:           [ 01, 23, 45, 67, 89, AB, CD, EF ]
-    - ref-name:          L3
-      type:              constant
-      merge:             by-content
-      content:           [ 01, 02, 03 ]
 ...
 
 # CHECK-NOT:   name:

Modified: lld/trunk/test/core/cstring-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/cstring-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/cstring-coalesce.objtxt (original)
+++ lld/trunk/test/core/cstring-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -15,18 +15,6 @@ defined-atoms:
       type:              c-string
       merge:             by-content
       content:           [ 74, 68, 65, 72, 65, 00 ]
----
-defined-atoms:
-    - ref-name:          L2
-      type:              c-string
-      merge:             by-content
-      content:           [ 68, 65, 6c, 6c, 6f, 00 ]
----
-defined-atoms:
-    - ref-name:          L2
-      type:              c-string
-      merge:             by-content
-      content:           [ 74, 68, 65, 72, 65, 00 ]
 ...
 
 # CHECK-NOT:   name:

Modified: lld/trunk/test/core/custom-section-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/custom-section-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/custom-section-coalesce.objtxt (original)
+++ lld/trunk/test/core/custom-section-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/custom-section-coalesce.objtxt \
+# RUN: %p/Inputs/custom-section-coalesce2.objtxt | FileCheck %s
 
 #
 # Test that custom sections are preserved when duplicate merge-by-content
@@ -25,35 +26,6 @@ defined-atoms:
       type:              constant
       merge:             by-content
       content:           [ 01, 02, 03, 04 ]
-
----
-defined-atoms:
-    - ref-name:          L1
-      type:              constant
-      merge:             by-content
-      content:           [ 01, 02, 03, 04 ]
-      section-choice:    custom-required
-      section-name:      .mysection
-
-    - ref-name:          L2
-      type:              constant
-      merge:             by-content
-      content:           [ 01, 02, 03, 04 ]
-      section-choice:    custom-required
-      section-name:      .mysection2
----
-defined-atoms:
-    - ref-name:          L1
-      type:              constant
-      merge:             by-content
-      content:           [ 05, 06, 07, 08 ]
-      section-choice:    custom-required
-      section-name:      .mysection
-
-    - ref-name:          L2
-      type:              constant
-      merge:             by-content
-      content:           [ 01, 02, 03, 04 ]
 ...
 
 

Modified: lld/trunk/test/core/dead-strip-attributes.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/dead-strip-attributes.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/dead-strip-attributes.objtxt (original)
+++ lld/trunk/test/core/dead-strip-attributes.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/dead-strip-attributes.objtxt \
+# RUN: %p/Inputs/dead-strip-attributes2.objtxt | FileCheck %s
 
 #
 # Test that dead strip attributes are preserved
@@ -8,14 +9,6 @@
 defined-atoms:
     - name:         _foo1
       dead-strip:   normal
----
-defined-atoms:
-    - name:         _foo2
-      dead-strip:   never
----
-defined-atoms:
-    - name:         _foo3
-      dead-strip:   always
 ...
 
 

Modified: lld/trunk/test/core/dead-strip-basic.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/dead-strip-basic.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/dead-strip-basic.objtxt (original)
+++ lld/trunk/test/core/dead-strip-basic.objtxt Fri Apr 24 10:51:45 2015
@@ -1,5 +1,5 @@
-# RUN: lld -core --dead-strip  %s | FileCheck -check-prefix=CHK1 %s
-# RUN: lld -core  %s | FileCheck -check-prefix=CHK2 %s
+# RUN: lld -core --dead-strip  %s %p/Inputs/dead-strip-basic.objtxt %p/Inputs/dead-strip-basic2.objtxt | FileCheck -check-prefix=CHK1 %s
+# RUN: lld -core  %s %p/Inputs/dead-strip-basic.objtxt %p/Inputs/dead-strip-basic2.objtxt | FileCheck -check-prefix=CHK2 %s
 
 #
 # Test that -dead-strip removes unreachable code and data
@@ -25,23 +25,6 @@ undefined-atoms:
     - name:         bar
 
     - name:         baz
----
-defined-atoms:
-    - name:         mydead2
-      scope:        global
-      type:         data
-
-    - name:         bar
-      scope:        global
-      type:         data
----
-defined-atoms:
-    - name:         baz
-      scope:        global
-      type:         code
-
-    - name:         mydead3
-      type:         code
 ...
 
 

Modified: lld/trunk/test/core/dead-strip-globals.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/dead-strip-globals.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/dead-strip-globals.objtxt (original)
+++ lld/trunk/test/core/dead-strip-globals.objtxt Fri Apr 24 10:51:45 2015
@@ -1,5 +1,5 @@
-# RUN: lld -core --dead-strip --keep-globals  %s | FileCheck -check-prefix=CHK1 %s
-# RUN: lld -core --dead-strip  %s | FileCheck -check-prefix=CHK2 %s
+# RUN: lld -core --dead-strip --keep-globals  %s %p/Inputs/dead-strip-globals.objtxt %p/Inputs/dead-strip-globals2.objtxt | FileCheck -check-prefix=CHK1 %s
+# RUN: lld -core --dead-strip  %s  %p/Inputs/dead-strip-globals.objtxt %p/Inputs/dead-strip-globals2.objtxt | FileCheck -check-prefix=CHK2 %s
 
 #
 # Test that -keep-globals prevents -dead-strip from removing globals.
@@ -23,23 +23,6 @@ defined-atoms:
 undefined-atoms:
     - name:         bar
     - name:         baz
----
-defined-atoms:
-    - name:         myglobal2
-      scope:        global
-      type:         data
-
-    - name:         bar
-      scope:        hidden
-      type:         data
----
-defined-atoms:
-    - name:         baz
-      scope:        hidden
-      type:         code
-
-    - name:         mydead
-      type:         code
 ...
 
 

Modified: lld/trunk/test/core/error-duplicate-absolutes.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/error-duplicate-absolutes.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/error-duplicate-absolutes.objtxt (original)
+++ lld/trunk/test/core/error-duplicate-absolutes.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: not lld -core %s 2> %t.err
+# RUN: not lld -core %s %p/Inputs/error-duplicate-absolutes.objtxt 2> %t.err
 # RUN: FileCheck %s < %t.err
 
 #
@@ -12,11 +12,6 @@ absolute-atoms:
       scope:        global
 undefined-atoms:
     - name:         undefatom
----
-absolute-atoms:
-    - name:         absatom
-      value:        0
-      scope:        global
 ...
 
 

Modified: lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-rearrange-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/gnulinkonce-rearrange-resolve.objtxt | FileCheck %s
 
 #
 # Test that gnu linkonce sections are parsed and the first section selected for symbol
@@ -8,32 +8,6 @@
 ---
 defined-atoms:
   - name:            g1
-    scope:           global
-    type:            gnu-linkonce
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
----
-defined-atoms:
-  - name:            g1
     scope:           global
     type:            gnu-linkonce
     references:

Modified: lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-remaining-undef.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/gnulinkonce-remaining-undef.objtxt \
+# RUN: %p/Inputs/gnulinkonce-remaining-undef2.objtxt | FileCheck %s
 
 #
 # Test that gnu linkonce sections are parsed and the first section selected for
@@ -33,44 +34,6 @@ defined-atoms:
         target:          g1
       - kind:            group-child
         target:          d1
----
-defined-atoms:
-  - name:            anotherfunction
-    scope:           global
-    type:            data
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            f3
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
-  - name:            g1
-    scope:           global
-    type:            gnu-linkonce
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          f3
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
----
-undefined-atoms:
-    - name:              f3
-      can-be-null:       never
 ...
 
 #CHECK:   - name:            anotherfunction

Modified: lld/trunk/test/core/gnulinkonce-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-resolve.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-resolve.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/gnulinkonce-resolve.objtxt | FileCheck %s
 
 #
 # Test that gnu linkonce sections are parsed and the first section selected for symbol
@@ -8,32 +8,6 @@
 ---
 defined-atoms:
   - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
-  - name:            g1
-    scope:           global
-    type:            gnu-linkonce
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
----
-defined-atoms:
-  - name:            f1
     scope:           global
     type:            code
   - name:            f2

Modified: lld/trunk/test/core/gnulinkonce-simple.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/gnulinkonce-simple.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/gnulinkonce-simple.objtxt (original)
+++ lld/trunk/test/core/gnulinkonce-simple.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/gnulinkonce-simple.objtxt | FileCheck %s
 
 #
 # Test that gnu linkonce sections are parsed properly when there is a reference to a
@@ -37,10 +37,6 @@ defined-atoms:
   - name:            anotherfunction
     scope:           global
     type:            data
----
-undefined-atoms:
-    - name:              f1
-      can-be-null:       never
 ...
 
 #CHECK: defined-atoms:

Modified: lld/trunk/test/core/inline-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/inline-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/inline-coalesce.objtxt (original)
+++ lld/trunk/test/core/inline-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/inline-coalesce.objtxt %p/Inputs/inline-coalesce2.objtxt | FileCheck %s
 
 #
 # Test that non-inlined inlined functions are silently coalesced
@@ -7,18 +7,6 @@
 ---
 defined-atoms:
     - name:              _inlineFunc
-      scope:             global
-      type:              code
-      merge:             as-weak
----
-defined-atoms:
-    - name:              _inlineFunc
-      scope:             global
-      type:              code
-      merge:             as-weak
----
-defined-atoms:
-    - name:              _inlineFunc
       scope:             global
       type:              code
       merge:             as-weak

Modified: lld/trunk/test/core/multiple-def-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/multiple-def-error.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/multiple-def-error.objtxt (original)
+++ lld/trunk/test/core/multiple-def-error.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: not lld -core %s  2>&1  | FileCheck %s
+# RUN: not lld -core %s %p/Inputs/multiple-def-error.objtxt 2>&1  | FileCheck %s
 
 #
 # Test that multiple definitions cause an error
@@ -9,11 +9,6 @@
 ---
 defined-atoms:
     - name:         _foo
-      scope:        global
-      type:         data
----
-defined-atoms:
-    - name:         _foo
       scope:        global
       type:         data
 ...

Modified: lld/trunk/test/core/sectiongroup-deadstrip.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-deadstrip.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-deadstrip.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-deadstrip.objtxt Fri Apr 24 10:51:45 2015
@@ -1,6 +1,6 @@
 # Test for section group members be preserved even if there is a
 # reference to only one functions in the group.
-# RUN: lld -core --dead-strip %s | FileCheck %s
+# RUN: lld -core --dead-strip %s %p/Inputs/sectiongroup-deadstrip.objtxt | FileCheck %s
 
 #
 # Test that section groups are parsed properly when there is a reference to a
@@ -45,10 +45,6 @@ defined-atoms:
   - name:            anotherfunction
     scope:           global
     type:            data
----
-undefined-atoms:
-    - name:              f1
-      can-be-null:       never
 ...
 
 #CHECK: defined-atoms:

Modified: lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-gnulinkonce-error.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: not lld -core %s 2>&1 | FileCheck %s
+# RUN: not lld -core %s %p/Inputs/sectiongroup-gnulinkonce-error.objtxt 2>&1 | FileCheck %s
 
 #
 # Test that section groups/gnu linkonce sections are parsed and a merge error
@@ -25,32 +25,6 @@ defined-atoms:
     references:
       - kind:            group-child
         target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
----
-defined-atoms:
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
-  - name:            g1
-    scope:           global
-    type:            gnu-linkonce
-    references:
-      - kind:            group-child
-        target:          f1
       - kind:            group-child
         target:          f2
       - kind:            group-child

Modified: lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-rearrange-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/sectiongroup-rearrange-resolve.objtxt | FileCheck %s
 
 #
 # Test that section groups are parsed and the first group selected for symbol
@@ -8,32 +8,6 @@
 ---
 defined-atoms:
   - name:            g1
-    scope:           global
-    type:            group-comdat
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
----
-defined-atoms:
-  - name:            g1
     scope:           global
     type:            group-comdat
     references:

Modified: lld/trunk/test/core/sectiongroup-remaining-undef.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-remaining-undef.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-remaining-undef.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-remaining-undef.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/sectiongroup-remaining-undef.objtxt %p/Inputs/sectiongroup-remaining-undef2.objtxt | FileCheck %s
 
 #
 # Test that section groups are parsed and the first group selected for symbol
@@ -33,44 +33,6 @@ defined-atoms:
         target:          g1
       - kind:            group-child
         target:          d1
----
-defined-atoms:
-  - name:            anotherfunction
-    scope:           global
-    type:            data
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            f3
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
-  - name:            g1
-    scope:           global
-    type:            group-comdat
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          f3
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
----
-undefined-atoms:
-    - name:              f3
-      can-be-null:       never
 ...
 
 #CHECK:   - name:            anotherfunction

Modified: lld/trunk/test/core/sectiongroup-resolve.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-resolve.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-resolve.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-resolve.objtxt Fri Apr 24 10:51:45 2015
@@ -31,32 +31,6 @@ defined-atoms:
         target:          g1
       - kind:            group-child
         target:          d1
----
-defined-atoms:
-  - name:            f1
-    scope:           global
-    type:            code
-  - name:            f2
-    scope:           global
-    type:            code
-  - name:            g1
-    scope:           global
-    type:            code
-  - name:            d1
-    scope:           global
-    type:            data
-  - name:            g1
-    scope:           global
-    type:            group-comdat
-    references:
-      - kind:            group-child
-        target:          f1
-      - kind:            group-child
-        target:          f2
-      - kind:            group-child
-        target:          g1
-      - kind:            group-child
-        target:          d1
 ...
 
 #CHECK: defined-atoms:

Modified: lld/trunk/test/core/sectiongroup-simple.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/sectiongroup-simple.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/sectiongroup-simple.objtxt (original)
+++ lld/trunk/test/core/sectiongroup-simple.objtxt Fri Apr 24 10:51:45 2015
@@ -37,10 +37,6 @@ defined-atoms:
   - name:            anotherfunction
     scope:           global
     type:            data
----
-undefined-atoms:
-    - name:              f1
-      can-be-null:       never
 ...
 
 #CHECK: defined-atoms:

Modified: lld/trunk/test/core/shared-library-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/shared-library-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/shared-library-coalesce.objtxt (original)
+++ lld/trunk/test/core/shared-library-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/shared-library-coalesce.objtxt | FileCheck %s
 
 #
 # Test that shared library symbols preserve their attributes and merge properly
@@ -33,35 +33,6 @@ shared-library-atoms:
     - name:              mismatchload2
       load-name:         libb.so
 
----
-shared-library-atoms:
-    - name:              foo2
-      load-name:         libc.so
-
-    - name:              foo3
-      load-name:         libc.so
-
-    - name:              bar2
-      load-name:         libc.so
-      can-be-null:       at-runtime
-
-    - name:              bar3
-      load-name:         libc.so
-      can-be-null:       at-runtime
-
-    - name:              mismatchNull1
-      load-name:         libc.so
-
-    - name:              mismatchNull2
-      load-name:         libc.so
-      can-be-null:       at-runtime
-
-    - name:              mismatchload1
-      load-name:         libb.so
-
-    - name:              mismatchload2
-      load-name:         liba.so
-
 ...
 
 # CHECK:       name:       foo1

Modified: lld/trunk/test/core/tent-merge.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/tent-merge.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/tent-merge.objtxt (original)
+++ lld/trunk/test/core/tent-merge.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/tent-merge.objtxt | FileCheck %s
 
 #
 # Test that a tentative definition and a regular global are merged into
@@ -12,12 +12,6 @@ defined-atoms:
       scope:        global
       type:         zero-fill
       size:         4
----
-defined-atoms:
-    - name:         _foo
-      scope:        global
-      type:         data
-      content:      [ 00, 00, 00, 00 ]
 ...
 
 

Modified: lld/trunk/test/core/undef-coalesce-error.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/undef-coalesce-error.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/undef-coalesce-error.objtxt (original)
+++ lld/trunk/test/core/undef-coalesce-error.objtxt Fri Apr 24 10:51:45 2015
@@ -1,6 +1,6 @@
-# RUN: not lld -core --undefines-are-errors %s 2> %t.err
+# RUN: not lld -core --undefines-are-errors %s %p/Inputs/undef-coalesce-error.objtxt %p/Inputs/undef-coalesce-error2.objtxt 2> %t.err
 # RUN: FileCheck -check-prefix=CHECKERR %s < %t.err
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/undef-coalesce-error.objtxt %p/Inputs/undef-coalesce-error2.objtxt | FileCheck %s
 
 #
 # Test that -undefines-are-errors triggers and error
@@ -15,22 +15,6 @@ defined-atoms:
 undefined-atoms:
     - name:              malloc
     - name:              free
----
-defined-atoms:
-    - name:              bar
-      type:              code
-
-undefined-atoms:
-    - name:              malloc
-    - name:              myfunc
----
-defined-atoms:
-    - name:              myfunc
-      scope:             global
-      type:              code
-
-undefined-atoms:
-    - name:              free
 ...
 
 # CHECKERR:       free

Modified: lld/trunk/test/core/undef-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/undef-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/undef-coalesce.objtxt (original)
+++ lld/trunk/test/core/undef-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/undef-coalesce.objtxt %p/Inputs/undef-coalesce2.objtxt | FileCheck %s
 
 #
 # Test that undefined symbols are coalesced with other undefined symbols
@@ -13,22 +13,6 @@ defined-atoms:
 undefined-atoms:
     - name:              malloc
     - name:              free
----
-defined-atoms:
-    - name:              bar
-      type:              code
-
-undefined-atoms:
-    - name:              malloc
-    - name:              myfunc
----
-defined-atoms:
-    - name:              myfunc
-      scope:             global
-      type:              code
-
-undefined-atoms:
-    - name:              free
 ...
 
 # CHECK:  defined-atoms:

Modified: lld/trunk/test/core/undef-fallback.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/undef-fallback.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/undef-fallback.objtxt (original)
+++ lld/trunk/test/core/undef-fallback.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %p/undef-fallback.objtxt %p/Inputs/undef-fallback.objtxt | FileCheck %s
 
 # Test that fallback atoms can be parsed by YAML reader and processed by the
 # core linker.
@@ -15,14 +15,6 @@ undefined-atoms:
   - name: undef2
     fallback:
       name: fallback2
----
-defined-atoms:
-  - name: fallback1
-
-undefined-atoms:
-  - name: def1
-    fallback:
-      name: fallback3
 ...
 
 # CHECK:      defined-atoms:

Modified: lld/trunk/test/core/undef-weak-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/undef-weak-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/undef-weak-coalesce.objtxt (original)
+++ lld/trunk/test/core/undef-weak-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/undef-weak-coalesce.objtxt| FileCheck %s
 
 #
 # Test that undefined symbols preserve their attributes and merge properly
@@ -30,26 +30,6 @@ undefined-atoms:
       can-be-null:       at-runtime
     - name:              bar9
       can-be-null:       at-buildtime
----
-undefined-atoms:
-    - name:              bar1
-      can-be-null:       never
-    - name:              bar2
-      can-be-null:       at-runtime
-    - name:              bar3
-      can-be-null:       at-buildtime
-    - name:              bar4
-      can-be-null:       at-runtime
-    - name:              bar5
-      can-be-null:       at-buildtime
-    - name:              bar6
-      can-be-null:       never
-    - name:              bar7
-      can-be-null:       at-buildtime
-    - name:              bar8
-      can-be-null:       never
-    - name:              bar9
-      can-be-null:       at-runtime
 ...
 
 # CHECK:       - name:            regular_func

Modified: lld/trunk/test/core/weak-coalesce.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/core/weak-coalesce.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/core/weak-coalesce.objtxt (original)
+++ lld/trunk/test/core/weak-coalesce.objtxt Fri Apr 24 10:51:45 2015
@@ -1,20 +1,6 @@
-# RUN: lld -core %s | FileCheck %s
+# RUN: lld -core %s %p/Inputs/weak-coalesce.objtxt \
+# RUN: %p/Inputs/weak-coalesce2.objtxt | FileCheck %s
 
-#
-# Test that weak definitions are coalesced away in favor of a regular definition
-#
-
----
-defined-atoms:
-    - name:         _foo
-      merge:        as-weak
-      scope:        global
-      type:         data
----
-defined-atoms:
-    - name:         _foo
-      scope:        global
-      type:         data
 ---
 defined-atoms:
     - name:         _foo

Added: lld/trunk/test/darwin/Inputs/native-and-mach-o.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/darwin/Inputs/native-and-mach-o.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/darwin/Inputs/native-and-mach-o.objtxt (added)
+++ lld/trunk/test/darwin/Inputs/native-and-mach-o.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,17 @@
+--- !mach-o
+arch:         x86_64
+file-type:    MH_OBJECT
+sections:
+ - segment:     __TEXT
+   section:     __text
+   type:        S_REGULAR
+   attributes:  [ S_ATTR_PURE_INSTRUCTIONS ]
+   address:     0
+   content:     [ 0xC3 ]
+global-symbols:
+ - name:        _foo
+   type:        N_SECT
+   scope:       [ N_EXT ]
+   sect:        1
+   desc:        [ ]
+   value:       0

Added: lld/trunk/test/darwin/Inputs/native-and-mach-o2.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/darwin/Inputs/native-and-mach-o2.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/darwin/Inputs/native-and-mach-o2.objtxt (added)
+++ lld/trunk/test/darwin/Inputs/native-and-mach-o2.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,19 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+flags:           [ ]
+install-name:    /usr/lib/libSystem.B.dylib
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    address:         0x0000000000000000
+    content:         [ 0x55 ]
+
+global-symbols:
+  - name:            dyld_stub_binder
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000000

Modified: lld/trunk/test/darwin/native-and-mach-o.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/darwin/native-and-mach-o.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/darwin/native-and-mach-o.objtxt (original)
+++ lld/trunk/test/darwin/native-and-mach-o.objtxt Fri Apr 24 10:51:45 2015
@@ -1,4 +1,6 @@
-# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s -o %t  && \
+# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/native-and-mach-o.objtxt  \
+# RUN: %p/Inputs/native-and-mach-o2.objtxt -o %t  && \
 # RUN: llvm-nm %t | FileCheck %s
 #
 # Test a mix of atoms and mach-o both encoded in yaml
@@ -19,46 +21,6 @@ defined-atoms:
 undefined-atoms:
  - name:                _foo
 
-
---- !mach-o
-arch:         x86_64
-file-type:    MH_OBJECT
-sections:
- - segment:     __TEXT
-   section:     __text
-   type:        S_REGULAR
-   attributes:  [ S_ATTR_PURE_INSTRUCTIONS ]
-   address:     0
-   content:     [ 0xC3 ]
-global-symbols:
- - name:        _foo
-   type:        N_SECT
-   scope:       [ N_EXT ]
-   sect:        1
-   desc:        [ ]
-   value:       0
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-flags:           [ ]
-install-name:    /usr/lib/libSystem.B.dylib
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    address:         0x0000000000000000
-    content:         [ 0x55 ]
-
-global-symbols:
-  - name:            dyld_stub_binder
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000000
-
-
 ...
 
 # CHECK:	{{[0-9a-f]+}} T _foo

Added: lld/trunk/test/elf/Inputs/allowduplicates.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/Inputs/allowduplicates.objtxt?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/elf/Inputs/allowduplicates.objtxt (added)
+++ lld/trunk/test/elf/Inputs/allowduplicates.objtxt Fri Apr 24 10:51:45 2015
@@ -0,0 +1,12 @@
+defined-atoms:
+  - name:            .text
+    alignment:       16
+    section-choice:  custom-required
+    section-name:    .text
+  - name:            main
+    scope:           global
+    content:         [ B8, 00, 00, 00, 00, C7, 44, 24, FC, 00, 00, 00,
+                       00, C3 ]
+    alignment:       16
+    section-choice:  custom-required
+    section-name:    .text

Modified: lld/trunk/test/elf/allowduplicates.objtxt
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/elf/allowduplicates.objtxt?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/elf/allowduplicates.objtxt (original)
+++ lld/trunk/test/elf/allowduplicates.objtxt Fri Apr 24 10:51:45 2015
@@ -1,28 +1,18 @@
 # RUN: lld -flavor gnu -target x86_64 --allow-multiple-definition %s \
+# RUN:     %p/Inputs/allowduplicates.objtxt \
 # RUN:     --output-filetype=yaml --noinhibit-exec | FileCheck %s
 #
-# RUN: not lld -flavor gnu -target x86_64 %s --output-filetype=yaml \
+# RUN: not lld -flavor gnu -target x86_64 %s %p/Inputs/allowduplicates.objtxt \
+# RUN: --output-filetype=yaml \
 # RUN: --noinhibit-exec 2>&1 | FileCheck -check-prefix=ERROR %s
 #
 # RUN: lld -flavor gnu -target x86_64 -z muldefs %s \
+# RUN: %p/Inputs/allowduplicates.objtxt \
 # RUN: --noinhibit-exec --output-filetype=yaml | FileCheck %s
 
 ---
 defined-atoms:
   - name:            .text
-    alignment:       16
-    section-choice:  custom-required
-    section-name:    .text
-  - name:            main
-    scope:           global
-    content:         [ B8, 00, 00, 00, 00, C7, 44, 24, FC, 00, 00, 00,
-                       00, C3 ]
-    alignment:       16
-    section-choice:  custom-required
-    section-name:    .text
----
-defined-atoms:
-  - name:            .text
     alignment:       16
     section-choice:  custom-required
     section-name:    .text

Modified: lld/trunk/test/lit.cfg
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/lit.cfg?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/lit.cfg (original)
+++ lld/trunk/test/lit.cfg Fri Apr 24 10:51:45 2015
@@ -25,6 +25,11 @@ config.test_format = lit.formats.ShTest(
 # suffixes: A list of file extensions to treat as test files.
 config.suffixes = ['.objtxt', '.test']
 
+# excludes: A list of directories to exclude from the testsuite. The 'Inputs'
+# subdirectories contain auxiliary inputs for various tests in their parent
+# directories.
+config.excludes = ['Inputs']
+
 # test_source_root: The root path where tests are located.
 config.test_source_root = os.path.dirname(__file__)
 

Added: lld/trunk/test/mach-o/Inputs/PIE.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/PIE.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/PIE.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/PIE.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            dyld_stub_binder

Added: lld/trunk/test/mach-o/Inputs/arm-interworking.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/arm-interworking.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/arm-interworking.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/arm-interworking.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,83 @@
+--- !mach-o
+arch:            armv7
+file-type:       MH_OBJECT
+flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
+sections:        
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    alignment:       2
+    address:         0x0000000000000000
+    content:         [ 0xFE, 0xFF, 0xFF, 0xEB, 0x02, 0x00, 0x00, 0xFA, 
+                       0xFC, 0xFF, 0xFF, 0xEB, 0xFB, 0xFF, 0xFF, 0xFA, 
+                       0x1E, 0xFF, 0x2F, 0xE1, 0x1E, 0xFF, 0x2F, 0xE1 ]
+    relocations:     
+      - offset:          0x0000000C
+        type:            ARM_RELOC_BR24
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          4
+      - offset:          0x00000008
+        type:            ARM_RELOC_BR24
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          3
+      - offset:          0x00000004
+        type:            ARM_RELOC_BR24
+        length:          2
+        pc-rel:          true
+        extern:          false
+        symbol:          1
+      - offset:          0x00000000
+        type:            ARM_RELOC_BR24
+        length:          2
+        pc-rel:          true
+        extern:          false
+        symbol:          1
+  - segment:         __DATA
+    section:         __data
+    type:            S_REGULAR
+    attributes:      [  ]
+    address:         0x0000000000000018
+    content:         [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
+    relocations:     
+      - offset:          0x00000004
+        type:            ARM_RELOC_VANILLA
+        length:          2
+        pc-rel:          false
+        extern:          false
+        symbol:          1
+      - offset:          0x00000000
+        type:            ARM_RELOC_VANILLA
+        length:          2
+        pc-rel:          false
+        extern:          true
+        symbol:          3
+local-symbols:   
+  - name:            _d2
+    type:            N_SECT
+    sect:            2
+    value:           0x0000000000000018
+global-symbols:  
+  - name:            _a1
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000000
+  - name:            _a2
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000014
+undefined-symbols: 
+  - name:            _t1
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000
+  - name:            _t2
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000

Added: lld/trunk/test/mach-o/Inputs/arm-shims.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/arm-shims.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/arm-shims.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/arm-shims.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,60 @@
+--- !mach-o
+arch:            armv7
+file-type:       MH_OBJECT
+flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    alignment:       2
+    address:         0x0000000000000000
+    content:         [ 0x00, 0xBF, 0xFF, 0xF7, 0xFE, 0xEF, 0xFF, 0xF7,
+                       0xFB, 0xBF, 0x00, 0x00, 0x00, 0xF0, 0x20, 0xE3,
+                       0xFA, 0xFF, 0xFF, 0xFA, 0xF9, 0xFF, 0xFF, 0xEA ]
+    relocations:
+      - offset:          0x00000014
+        type:            ARM_RELOC_BR24
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          3
+      - offset:          0x00000010
+        type:            ARM_RELOC_BR24
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          3
+      - offset:          0x00000006
+        type:            ARM_THUMB_RELOC_BR22
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          2
+      - offset:          0x00000002
+        type:            ARM_THUMB_RELOC_BR22
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          2
+global-symbols:
+  - name:            _a2
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x000000000000000C
+  - name:            _t2
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    desc:            [ N_ARM_THUMB_DEF ]
+    value:           0x0000000000000000
+undefined-symbols:
+  - name:            _a1
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000
+  - name:            _t1
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000

Added: lld/trunk/test/mach-o/Inputs/cstring-sections.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/cstring-sections.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/cstring-sections.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/cstring-sections.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,25 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_OBJECT
+flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
+has-UUID:        false
+OS:              unknown
+sections:
+  - segment:         __TEXT
+    section:         __objc_methname
+    type:            S_CSTRING_LITERALS
+    attributes:      [  ]
+    address:         0x0000000000000000
+    content:         [ 0x61, 0x62, 0x63, 0x00 ]
+  - segment:         __TEXT
+    section:         __objc_classname
+    type:            S_CSTRING_LITERALS
+    attributes:      [  ]
+    address:         0x0000000000000006
+    content:         [ 0x61, 0x62, 0x63, 0x00 ]
+  - segment:         __TEXT
+    section:         __cstring
+    type:            S_CSTRING_LITERALS
+    attributes:      [  ]
+    address:         0x000000000000000A
+    content:         [ 0x61, 0x62, 0x63, 0x00 ]

Added: lld/trunk/test/mach-o/Inputs/got-order.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/got-order.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/got-order.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/got-order.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,53 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_OBJECT
+flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
+sections:        
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    address:         0x0000000000000000
+    content:         [ 0x55, 0x48, 0x89, 0xE5, 0x48, 0x8B, 0x0D, 0x00, 
+                       0x00, 0x00, 0x00, 0x48, 0x8B, 0x05, 0x00, 0x00, 
+                       0x00, 0x00, 0x8B, 0x00, 0x03, 0x01, 0x48, 0x8B, 
+                       0x0D, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x5D, 
+                       0xC3 ]
+    relocations:     
+      - offset:          0x00000019
+        type:            X86_64_RELOC_GOT_LOAD
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          2
+      - offset:          0x0000000E
+        type:            X86_64_RELOC_GOT_LOAD
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          1
+      - offset:          0x00000007
+        type:            X86_64_RELOC_GOT_LOAD
+        length:          2
+        pc-rel:          true
+        extern:          true
+        symbol:          3
+global-symbols:  
+  - name:            _main
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000000
+undefined-symbols: 
+  - name:            _bar
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000
+  - name:            _foo
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000
+  - name:            _zazzle
+    type:            N_UNDF
+    scope:           [ N_EXT ]
+    value:           0x0000000000000000

Added: lld/trunk/test/mach-o/Inputs/got-order2.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/got-order2.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/got-order2.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/got-order2.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,11 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libfoobar.dylib
+exports:
+  - name:            _bar
+  - name:            _zazzle
+  - name:            _foo
+  - name:            _aaa
+  - name:            _fff
+  - name:            _zzz

Added: lld/trunk/test/mach-o/Inputs/hello-world-arm64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/hello-world-arm64.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/hello-world-arm64.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/hello-world-arm64.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+--- !mach-o
+arch:            arm64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            _fprintf
+  - name:            ___stdoutp
+  - name:            dyld_stub_binder

Added: lld/trunk/test/mach-o/Inputs/hello-world-armv6.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/hello-world-armv6.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/hello-world-armv6.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/hello-world-armv6.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,7 @@
+--- !mach-o
+arch:            armv6
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            _printf
+  - name:            dyld_stub_binder

Added: lld/trunk/test/mach-o/Inputs/hello-world-armv7.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/hello-world-armv7.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/hello-world-armv7.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/hello-world-armv7.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,7 @@
+--- !mach-o
+arch:            armv7
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            _printf
+  - name:            dyld_stub_binder

Added: lld/trunk/test/mach-o/Inputs/hello-world-x86.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/hello-world-x86.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/hello-world-x86.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/hello-world-x86.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,7 @@
+--- !mach-o
+arch:            x86
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            _printf
+  - name:            dyld_stub_binder

Added: lld/trunk/test/mach-o/Inputs/hello-world-x86_64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/hello-world-x86_64.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/hello-world-x86_64.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/hello-world-x86_64.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            _fprintf
+  - name:            dyld_stub_binder
+  - name:            ___stdoutp

Added: lld/trunk/test/mach-o/Inputs/interposing-section.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/interposing-section.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/interposing-section.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/interposing-section.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            _open

Added: lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-2.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-2.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-2.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-2.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+--- !mach-o
+arch:              x86_64
+file-type:         MH_DYLIB
+install-name:      /usr/lib/libfoo.dylib
+compat-version:    2.0
+current-version:   3.4
+exports:
+  - name:            _foo

Added: lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-3.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-3.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-3.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64-3.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+--- !mach-o
+arch:              x86_64
+file-type:         MH_DYLIB
+install-name:      /usr/lib/libbaz.dylib
+compat-version:    3.0
+current-version:   4.5
+exports:
+  - name:            _baz

Added: lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/lazy-bind-x86_64.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,8 @@
+--- !mach-o
+arch:              x86_64
+file-type:         MH_DYLIB
+install-name:      /usr/lib/libbar.dylib
+compat-version:    1.0
+current-version:   2.3
+exports:
+  - name:            _bar

Added: lld/trunk/test/mach-o/Inputs/linker-as-ld.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/linker-as-ld.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/linker-as-ld.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/linker-as-ld.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,6 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libSystem.B.dylib
+exports:
+  - name:            dyld_stub_binder

Added: lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,21 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+flags:           [ MH_TWOLEVEL ]
+install-name:    /junk/libfoo.dylib
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    address:         0x0000000000000F9A
+    content:         [ 0x55, 0x48, 0x89, 0xE5, 0x5D, 0xC3 ]
+global-symbols:
+  - name:            _foo
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000F9A
+dependents:
+  - path:            /junk/libbar.dylib
+    kind:            LC_REEXPORT_DYLIB

Added: lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal2.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal2.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal2.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal2.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,18 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+flags:           [ MH_TWOLEVEL ]
+install-name:    /junk/libbar.dylib
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    address:         0x0000000000000F9A
+    content:         [ 0x55, 0x48, 0x89, 0xE5, 0x5D, 0xC3 ]
+global-symbols:
+  - name:            _bar
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000F9A

Added: lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal3.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal3.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal3.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/re-exported-dylib-ordinal3.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,19 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+flags:           [ MH_TWOLEVEL ]
+install-name:    /usr/lib/libSystem.B.dylib
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    address:         0x0000000000000000
+    content:         [ 0x55 ]
+
+global-symbols:
+  - name:            dyld_stub_binder
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000000

Added: lld/trunk/test/mach-o/Inputs/unwind-info-simple-arm64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/unwind-info-simple-arm64.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/unwind-info-simple-arm64.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/unwind-info-simple-arm64.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,13 @@
+--- !mach-o
+arch:            arm64
+file-type:       MH_DYLIB
+install-name:    /usr/lib/libc++.dylib
+exports:
+  - name:            __Unwind_Resume
+  - name:            __ZTIl
+  - name:            __ZTIi
+  - name:            ___cxa_end_catch
+  - name:            ___cxa_begin_catch
+  - name:            ___cxa_allocate_exception
+  - name:            ___cxa_throw
+  - name:            ___gxx_personality_v0

Added: lld/trunk/test/mach-o/Inputs/use-simple-dylib.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/use-simple-dylib.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/use-simple-dylib.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/use-simple-dylib.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,58 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
+has-UUID:        false
+OS:              unknown
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    alignment:       4
+    address:         0x0000000000000000
+    content:         [ 0xCC, 0xC3, 0x90, 0xC3, 0x90, 0x90, 0xC3, 0x90,
+                       0x90, 0x90, 0xC3, 0x90, 0x90, 0x90, 0x90, 0xC3,
+                       0x31, 0xC0, 0xC3 ]
+local-symbols:
+  - name:            _myStatic
+    type:            N_SECT
+    sect:            1
+    value:           0x000000000000000B
+  - name:            _myVariablePreviouslyKnownAsPrivateExtern
+    type:            N_SECT
+    scope:           [ N_PEXT ]
+    sect:            1
+    desc:            [ N_SYMBOL_RESOLVER ]
+    value:           0x0000000000000011
+global-symbols:
+  - name:            _myGlobal
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000001
+  - name:            _myGlobalWeak
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    desc:            [ N_WEAK_DEF ]
+    value:           0x0000000000000002
+  - name:            _myHidden
+    type:            N_SECT
+    scope:           [ N_EXT, N_PEXT ]
+    sect:            1
+    value:           0x0000000000000004
+  - name:            _myHiddenWeak
+    type:            N_SECT
+    scope:           [ N_EXT, N_PEXT ]
+    sect:            1
+    desc:            [ N_WEAK_DEF ]
+    value:           0x0000000000000007
+  - name:            _myResolver
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    desc:            [ N_SYMBOL_RESOLVER ]
+    value:           0x0000000000000010
+
+install-name:        libspecial.dylib

Added: lld/trunk/test/mach-o/Inputs/write-final-sections.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/write-final-sections.yaml?rev=235724&view=auto
==============================================================================
--- lld/trunk/test/mach-o/Inputs/write-final-sections.yaml (added)
+++ lld/trunk/test/mach-o/Inputs/write-final-sections.yaml Fri Apr 24 10:51:45 2015
@@ -0,0 +1,20 @@
+--- !mach-o
+arch:            x86_64
+file-type:       MH_DYLIB
+flags:           [ ]
+install-name:    /usr/lib/libSystem.B.dylib
+sections:
+  - segment:         __TEXT
+    section:         __text
+    type:            S_REGULAR
+    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
+    address:         0x0000000000000000
+    content:         [ 0x55 ]
+
+global-symbols:
+  - name:            dyld_stub_binder
+    type:            N_SECT
+    scope:           [ N_EXT ]
+    sect:            1
+    value:           0x0000000000000000
+

Copied: lld/trunk/test/mach-o/Inputs/wrong-arch-error.yaml (from r235708, lld/trunk/test/mach-o/wrong-arch-error.yaml)
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/Inputs/wrong-arch-error.yaml?p2=lld/trunk/test/mach-o/Inputs/wrong-arch-error.yaml&p1=lld/trunk/test/mach-o/wrong-arch-error.yaml&r1=235708&r2=235724&rev=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/wrong-arch-error.yaml (original)
+++ lld/trunk/test/mach-o/Inputs/wrong-arch-error.yaml Fri Apr 24 10:51:45 2015
@@ -2,27 +2,6 @@
 # RUN: FileCheck %s < %t.err
 
 --- !mach-o
-arch:            x86_64
-file-type:       MH_OBJECT
-flags:           [  ]
-has-UUID:        false
-OS:              unknown
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS ]
-    address:         0x0000000000000000
-    content:         [ 0xCC ]
-
-global-symbols:
-  - name:            _foo
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000000
-
---- !mach-o
 arch:            x86
 file-type:       MH_OBJECT
 flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
@@ -43,7 +22,3 @@ global-symbols:
     scope:           [ N_EXT ]
     sect:            1
     value:           0x0000000000000000
-...
-
-
-# CHECK:       wrong architecture

Modified: lld/trunk/test/mach-o/PIE.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/PIE.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/PIE.yaml (original)
+++ lld/trunk/test/mach-o/PIE.yaml Fri Apr 24 10:51:45 2015
@@ -1,10 +1,13 @@
-# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s -o %t  && \
+# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/PIE.yaml -o %t  && \
 # RUN: llvm-objdump -macho -private-headers %t | FileCheck %s
 #
-# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s -pie -o %t\
+# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/PIE.yaml -pie -o %t\
 # RUN:  &&  llvm-objdump -macho -private-headers %t | FileCheck %s
 #
-# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s -no_pie -o %t\
+# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/PIE.yaml -no_pie -o %t\
 # RUN:  &&  llvm-objdump -macho -private-headers %t \
 # RUN:  | FileCheck --check-prefix=CHECK_NO_PIE %s
 #
@@ -31,13 +34,6 @@ global-symbols:
     sect:            1
     value:           0x0000000000000000
 
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            dyld_stub_binder
-
 ...
 
 # CHECK:	          MH_MAGIC_64 {{[0-9a-zA-Z _]+}} TWOLEVEL PIE

Modified: lld/trunk/test/mach-o/arm-interworking.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/arm-interworking.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/arm-interworking.yaml (original)
+++ lld/trunk/test/mach-o/arm-interworking.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch armv7 -r -print_atoms %s -o %t  | FileCheck %s \
+# RUN: lld -flavor darwin -arch armv7 -r -print_atoms %s \
+# RUN: %p/Inputs/arm-interworking.yaml -o %t  | FileCheck %s \
 # RUN: && lld -flavor darwin -arch armv7 -dylib -print_atoms \
 # RUN:         %p/Inputs/libSystem.yaml %t -o %t2  | FileCheck %s \
 # RUN: && macho-dump --dump-section-data %t2 | FileCheck -check-prefix=CODE %s 
@@ -126,89 +127,6 @@ undefined-symbols:
     scope:           [ N_EXT ]
     value:           0x0000000000000000
 
---- !mach-o
-arch:            armv7
-file-type:       MH_OBJECT
-flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
-sections:        
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    alignment:       2
-    address:         0x0000000000000000
-    content:         [ 0xFE, 0xFF, 0xFF, 0xEB, 0x02, 0x00, 0x00, 0xFA, 
-                       0xFC, 0xFF, 0xFF, 0xEB, 0xFB, 0xFF, 0xFF, 0xFA, 
-                       0x1E, 0xFF, 0x2F, 0xE1, 0x1E, 0xFF, 0x2F, 0xE1 ]
-    relocations:     
-      - offset:          0x0000000C
-        type:            ARM_RELOC_BR24
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          4
-      - offset:          0x00000008
-        type:            ARM_RELOC_BR24
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          3
-      - offset:          0x00000004
-        type:            ARM_RELOC_BR24
-        length:          2
-        pc-rel:          true
-        extern:          false
-        symbol:          1
-      - offset:          0x00000000
-        type:            ARM_RELOC_BR24
-        length:          2
-        pc-rel:          true
-        extern:          false
-        symbol:          1
-  - segment:         __DATA
-    section:         __data
-    type:            S_REGULAR
-    attributes:      [  ]
-    address:         0x0000000000000018
-    content:         [ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 ]
-    relocations:     
-      - offset:          0x00000004
-        type:            ARM_RELOC_VANILLA
-        length:          2
-        pc-rel:          false
-        extern:          false
-        symbol:          1
-      - offset:          0x00000000
-        type:            ARM_RELOC_VANILLA
-        length:          2
-        pc-rel:          false
-        extern:          true
-        symbol:          3
-local-symbols:   
-  - name:            _d2
-    type:            N_SECT
-    sect:            2
-    value:           0x0000000000000018
-global-symbols:  
-  - name:            _a1
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000000
-  - name:            _a2
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000014
-undefined-symbols: 
-  - name:            _t1
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
-  - name:            _t2
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
 ...
 
 

Modified: lld/trunk/test/mach-o/arm-shims.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/arm-shims.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/arm-shims.yaml (original)
+++ lld/trunk/test/mach-o/arm-shims.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch armv7 %s -dylib %p/Inputs/libSystem.yaml -o %t
+# RUN: lld -flavor darwin -arch armv7 %s %p/Inputs/arm-shims.yaml \
+# RUN: -dylib %p/Inputs/libSystem.yaml -o %t
 # RUN: macho-dump --dump-section-data %t | FileCheck %s
 #
 # Test b from arm to thumb or vice versa has shims added.s
@@ -65,68 +66,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-
-
---- !mach-o
-arch:            armv7
-file-type:       MH_OBJECT
-flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    alignment:       2
-    address:         0x0000000000000000
-    content:         [ 0x00, 0xBF, 0xFF, 0xF7, 0xFE, 0xEF, 0xFF, 0xF7,
-                       0xFB, 0xBF, 0x00, 0x00, 0x00, 0xF0, 0x20, 0xE3,
-                       0xFA, 0xFF, 0xFF, 0xFA, 0xF9, 0xFF, 0xFF, 0xEA ]
-    relocations:
-      - offset:          0x00000014
-        type:            ARM_RELOC_BR24
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          3
-      - offset:          0x00000010
-        type:            ARM_RELOC_BR24
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          3
-      - offset:          0x00000006
-        type:            ARM_THUMB_RELOC_BR22
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          2
-      - offset:          0x00000002
-        type:            ARM_THUMB_RELOC_BR22
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          2
-global-symbols:
-  - name:            _a2
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x000000000000000C
-  - name:            _t2
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    desc:            [ N_ARM_THUMB_DEF ]
-    value:           0x0000000000000000
-undefined-symbols:
-  - name:            _a1
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
-  - name:            _t1
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
 
 ...
 

Modified: lld/trunk/test/mach-o/cstring-sections.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/cstring-sections.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/cstring-sections.yaml (original)
+++ lld/trunk/test/mach-o/cstring-sections.yaml Fri Apr 24 10:51:45 2015
@@ -27,32 +27,6 @@ sections:
     address:         0x000000000000000A
     content:         [ 0x61, 0x62, 0x63, 0x00, 0x6A, 0x6B, 0x6C, 0x00 ]
 
---- !mach-o
-arch:            x86_64
-file-type:       MH_OBJECT
-flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
-has-UUID:        false
-OS:              unknown
-sections:
-  - segment:         __TEXT
-    section:         __objc_methname
-    type:            S_CSTRING_LITERALS
-    attributes:      [  ]
-    address:         0x0000000000000000
-    content:         [ 0x61, 0x62, 0x63, 0x00 ]
-  - segment:         __TEXT
-    section:         __objc_classname
-    type:            S_CSTRING_LITERALS
-    attributes:      [  ]
-    address:         0x0000000000000006
-    content:         [ 0x61, 0x62, 0x63, 0x00 ]
-  - segment:         __TEXT
-    section:         __cstring
-    type:            S_CSTRING_LITERALS
-    attributes:      [  ]
-    address:         0x000000000000000A
-    content:         [ 0x61, 0x62, 0x63, 0x00 ]
-
 
 ...
 

Modified: lld/trunk/test/mach-o/got-order.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/got-order.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/got-order.yaml (original)
+++ lld/trunk/test/mach-o/got-order.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch x86_64  %s -o %t %p/Inputs/libSystem.yaml
+# RUN: lld -flavor darwin -arch x86_64  %s %p/Inputs/got-order.yaml \
+# RUN: %p/Inputs/got-order2.yaml -o %t %p/Inputs/libSystem.yaml
 # RUN: llvm-objdump -bind %t | FileCheck %s
 #
 # Test that GOT slots are sorted by name
@@ -57,72 +58,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-    
---- !mach-o
-arch:            x86_64
-file-type:       MH_OBJECT
-flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
-sections:        
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    address:         0x0000000000000000
-    content:         [ 0x55, 0x48, 0x89, 0xE5, 0x48, 0x8B, 0x0D, 0x00, 
-                       0x00, 0x00, 0x00, 0x48, 0x8B, 0x05, 0x00, 0x00, 
-                       0x00, 0x00, 0x8B, 0x00, 0x03, 0x01, 0x48, 0x8B, 
-                       0x0D, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x5D, 
-                       0xC3 ]
-    relocations:     
-      - offset:          0x00000019
-        type:            X86_64_RELOC_GOT_LOAD
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          2
-      - offset:          0x0000000E
-        type:            X86_64_RELOC_GOT_LOAD
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          1
-      - offset:          0x00000007
-        type:            X86_64_RELOC_GOT_LOAD
-        length:          2
-        pc-rel:          true
-        extern:          true
-        symbol:          3
-global-symbols:  
-  - name:            _main
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000000
-undefined-symbols: 
-  - name:            _bar
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
-  - name:            _foo
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
-  - name:            _zazzle
-    type:            N_UNDF
-    scope:           [ N_EXT ]
-    value:           0x0000000000000000
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libfoobar.dylib
-exports:
-  - name:            _bar
-  - name:            _zazzle
-  - name:            _foo
-  - name:            _aaa
-  - name:            _fff
-  - name:            _zzz
 ...
 
 

Modified: lld/trunk/test/mach-o/hello-world-arm64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/hello-world-arm64.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/hello-world-arm64.yaml (original)
+++ lld/trunk/test/mach-o/hello-world-arm64.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -flavor darwin -arch arm64 %s -o %t
+# RUN: lld -flavor darwin -arch arm64 %s %p/Inputs/hello-world-arm64.yaml -o %t
 # RUN: llvm-nm -m -n %t | FileCheck %s
 #
 # Test that arm64 hello-world can be linked into a mach-o executable
@@ -88,16 +88,6 @@ undefined-symbols:
     value:           0x0000000000000000
 ...
 
---- !mach-o
-arch:            arm64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            _fprintf
-  - name:            ___stdoutp
-  - name:            dyld_stub_binder
-...
-
 # CHECK:	{{[0-9a-f]+}} (__TEXT,__text) external _main
 # CHECK:	(undefined) external ___stdoutp (from libSystem)
 # CHECK:	(undefined) external _fprintf (from libSystem)

Modified: lld/trunk/test/mach-o/hello-world-armv6.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/hello-world-armv6.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/hello-world-armv6.yaml (original)
+++ lld/trunk/test/mach-o/hello-world-armv6.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -flavor darwin -arch armv6 %s -o %t
+# RUN: lld -flavor darwin -arch armv6 %s %p/Inputs/hello-world-armv6.yaml -o %t
 # RUN: llvm-nm -m %t | FileCheck %s
 #
 # Test that armv6 (arm) hello-world can be linked into a mach-o executable
@@ -57,14 +57,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-
---- !mach-o
-arch:            armv6
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            _printf
-  - name:            dyld_stub_binder
 ...
 
 # CHECK:	{{[0-9a-f]+}} (__TEXT,__text) external _main

Modified: lld/trunk/test/mach-o/hello-world-armv7.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/hello-world-armv7.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/hello-world-armv7.yaml (original)
+++ lld/trunk/test/mach-o/hello-world-armv7.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -flavor darwin -arch armv7 %s -o %t
+# RUN: lld -flavor darwin -arch armv7 %s %p/Inputs/hello-world-armv7.yaml -o %t
 # RUN: llvm-nm -m -n %t | FileCheck %s
 #
 # Test that armv7 (thumb) hello-world can be linked into a mach-o executable
@@ -71,15 +71,6 @@ undefined-symbols:
     value:           0x0000000000000000
 ...
 
---- !mach-o
-arch:            armv7
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            _printf
-  - name:            dyld_stub_binder
-...
-
 # CHECK:	{{[0-9a-f]+}} (__TEXT,__text) external [Thumb] _main
 # CHECK:	(undefined) external _printf (from libSystem)
 # CHECK:	(undefined) external dyld_stub_binder (from libSystem)

Modified: lld/trunk/test/mach-o/hello-world-x86.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/hello-world-x86.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/hello-world-x86.yaml (original)
+++ lld/trunk/test/mach-o/hello-world-x86.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,4 @@
-# RUN: lld -flavor darwin -arch i386 %s -o %t
+# RUN: lld -flavor darwin -arch i386 %s %p/Inputs/hello-world-x86.yaml -o %t
 # RUN: llvm-nm -m %t | FileCheck %s
 #
 # Test that i386 hello-world can be linked into a mach-o executable
@@ -55,15 +55,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-
---- !mach-o
-arch:            x86
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            _printf
-  - name:            dyld_stub_binder
-
 ...
 
 # CHECK:	{{[0-9a-f]+}} (__TEXT,__text) external _main

Modified: lld/trunk/test/mach-o/hello-world-x86_64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/hello-world-x86_64.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/hello-world-x86_64.yaml (original)
+++ lld/trunk/test/mach-o/hello-world-x86_64.yaml Fri Apr 24 10:51:45 2015
@@ -1,7 +1,9 @@
-# RUN: lld -flavor darwin -arch x86_64  %s -o %t
+# RUN: lld -flavor darwin -arch x86_64  %s %p/Inputs/hello-world-x86_64.yaml \
+# RUN: -o %t
 # RUN: llvm-nm -m -n %t | FileCheck %s
 #
-# RUN: lld -flavor darwin -arch x86_64  %s -dead_strip -o %t2
+# RUN: lld -flavor darwin -arch x86_64  %s %p/Inputs/hello-world-x86_64.yaml \
+# RUN: -dead_strip -o %t2
 # RUN: llvm-nm -m -n %t2 | FileCheck %s
 #
 # Test that x86_64 hello-world can be linked into a mach-o executable
@@ -109,15 +111,6 @@ undefined-symbols:
     scope:           [ N_EXT ]
     value:           0x0000000000000000
 
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            _fprintf
-  - name:            dyld_stub_binder
-  - name:            ___stdoutp
-
 ...
 
 # CHECK:	{{[0-9a-f]+}} (__TEXT,__text) external _main

Modified: lld/trunk/test/mach-o/interposing-section.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/interposing-section.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/interposing-section.yaml (original)
+++ lld/trunk/test/mach-o/interposing-section.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch x86_64  %s -dylib -o %t %p/Inputs/libSystem.yaml
+# RUN: lld -flavor darwin -arch x86_64  %s %p/Inputs/interposing-section.yaml \
+# RUN: -dylib -o %t %p/Inputs/libSystem.yaml
 # RUN: llvm-objdump -private-headers %t | FileCheck %s
 #
 # RUN: lld -flavor darwin -arch x86_64  %s -r -o %t1
@@ -62,14 +63,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-    
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            _open
-
 ...
 
 

Modified: lld/trunk/test/mach-o/lazy-bind-x86_64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/lazy-bind-x86_64.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/lazy-bind-x86_64.yaml (original)
+++ lld/trunk/test/mach-o/lazy-bind-x86_64.yaml Fri Apr 24 10:51:45 2015
@@ -1,6 +1,8 @@
 # REQUIRES: x86
 
-# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s -o %t  \
+# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/lazy-bind-x86_64.yaml  %p/Inputs/lazy-bind-x86_64-2.yaml \
+# RUN: %p/Inputs/lazy-bind-x86_64-3.yaml -o %t  \
 # RUN:   %p/Inputs/libSystem.yaml
 # RUN: llvm-objdump -lazy-bind %t | FileCheck %s
 # RUN: llvm-nm -m %t | FileCheck --check-prefix=CHECK-NM %s
@@ -63,33 +65,6 @@ undefined-symbols:
     scope:           [ N_EXT ]
     value:           0x0000000000000000
 
---- !mach-o
-arch:              x86_64
-file-type:         MH_DYLIB
-install-name:      /usr/lib/libbar.dylib
-compat-version:    1.0
-current-version:   2.3
-exports:
-  - name:            _bar
-
---- !mach-o
-arch:              x86_64
-file-type:         MH_DYLIB
-install-name:      /usr/lib/libfoo.dylib
-compat-version:    2.0
-current-version:   3.4
-exports:
-  - name:            _foo
-
---- !mach-o
-arch:              x86_64
-file-type:         MH_DYLIB
-install-name:      /usr/lib/libbaz.dylib
-compat-version:    3.0
-current-version:   4.5
-exports:
-  - name:            _baz
-
 ...
 
 

Modified: lld/trunk/test/mach-o/linker-as-ld.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/linker-as-ld.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/linker-as-ld.yaml (original)
+++ lld/trunk/test/mach-o/linker-as-ld.yaml Fri Apr 24 10:51:45 2015
@@ -1,7 +1,8 @@
 # REQUIRES: system-linker-mach-o
 #
 # RUN: mkdir -p %t.dir && cp `which lld` %t.dir/ld \
-# RUN:  && %t.dir/ld -arch x86_64 -macosx_version_min 10.8 %s -o %t \
+# RUN:  && %t.dir/ld -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/linker-as-ld.yaml -o %t \
 # RUN:  && llvm-nm %t | FileCheck %s
 #
 # Test linker run as "ld" on darwin works as darwin linker.
@@ -26,14 +27,6 @@ global-symbols:
     scope:           [ N_EXT ]
     sect:            1
     value:           0x0000000000000000
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libSystem.B.dylib
-exports:
-  - name:            dyld_stub_binder
-
 ...
 
 # CHECK:	          T _main

Modified: lld/trunk/test/mach-o/re-exported-dylib-ordinal.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/re-exported-dylib-ordinal.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/re-exported-dylib-ordinal.yaml (original)
+++ lld/trunk/test/mach-o/re-exported-dylib-ordinal.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,7 @@
-# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s -dylib -o %t \
+# RUN: lld -flavor darwin -arch x86_64 -macosx_version_min 10.8 %s \
+# RUN: %p/Inputs/re-exported-dylib-ordinal.yaml \
+# RUN: %p/Inputs/re-exported-dylib-ordinal2.yaml \
+# RUN: %p/Inputs/re-exported-dylib-ordinal3.yaml -dylib -o %t \
 # RUN:  && llvm-nm -m %t | FileCheck %s
 #
 # Test that when one dylib A re-exports dylib B that using a symbol from B
@@ -37,68 +40,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-flags:           [ MH_TWOLEVEL ]
-install-name:    /junk/libfoo.dylib
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    address:         0x0000000000000F9A
-    content:         [ 0x55, 0x48, 0x89, 0xE5, 0x5D, 0xC3 ]
-global-symbols:
-  - name:            _foo
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000F9A
-dependents:
-  - path:            /junk/libbar.dylib
-    kind:            LC_REEXPORT_DYLIB
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-flags:           [ MH_TWOLEVEL ]
-install-name:    /junk/libbar.dylib
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    address:         0x0000000000000F9A
-    content:         [ 0x55, 0x48, 0x89, 0xE5, 0x5D, 0xC3 ]
-global-symbols:
-  - name:            _bar
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000F9A
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-flags:           [ MH_TWOLEVEL ]
-install-name:    /usr/lib/libSystem.B.dylib
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    address:         0x0000000000000000
-    content:         [ 0x55 ]
-
-global-symbols:
-  - name:            dyld_stub_binder
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000000
-
 ...
 
 # CHECK:	(undefined) external _bar (from libfoo)

Modified: lld/trunk/test/mach-o/unwind-info-simple-arm64.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/unwind-info-simple-arm64.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/unwind-info-simple-arm64.yaml (original)
+++ lld/trunk/test/mach-o/unwind-info-simple-arm64.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch arm64 %s -o %t -e _main %p/Inputs/libSystem.yaml
+# RUN: lld -flavor darwin -arch arm64 -o %t %s \
+# RUN: %p/Inputs/unwind-info-simple-arm64.yaml -e _main %p/Inputs/libSystem.yaml
 # RUN: llvm-objdump -unwind-info %t | FileCheck %s
 
 --- !mach-o
@@ -236,20 +237,6 @@ undefined-symbols:
     scope:           [ N_EXT ]
     value:           0x0000000000000000
 
---- !mach-o
-arch:            arm64
-file-type:       MH_DYLIB
-install-name:    /usr/lib/libc++.dylib
-exports:
-  - name:            __Unwind_Resume
-  - name:            __ZTIl
-  - name:            __ZTIi
-  - name:            ___cxa_end_catch
-  - name:            ___cxa_begin_catch
-  - name:            ___cxa_allocate_exception
-  - name:            ___cxa_throw
-  - name:            ___gxx_personality_v0
-
 ...
 
 

Modified: lld/trunk/test/mach-o/use-simple-dylib.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/use-simple-dylib.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/use-simple-dylib.yaml (original)
+++ lld/trunk/test/mach-o/use-simple-dylib.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch x86_64 -print_atoms -r %s -o %t | FileCheck %s
+# RUN: lld -flavor darwin -arch x86_64 -print_atoms -r %s \
+# RUN: %p/Inputs/use-simple-dylib.yaml -o %t | FileCheck %s
 
 
 --- !mach-o
@@ -53,65 +54,6 @@ undefined-symbols:
     type:            N_UNDF
     scope:           [ N_EXT ]
     value:           0x0000000000000000
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
-has-UUID:        false
-OS:              unknown
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    alignment:       4
-    address:         0x0000000000000000
-    content:         [ 0xCC, 0xC3, 0x90, 0xC3, 0x90, 0x90, 0xC3, 0x90,
-                       0x90, 0x90, 0xC3, 0x90, 0x90, 0x90, 0x90, 0xC3,
-                       0x31, 0xC0, 0xC3 ]
-local-symbols:
-  - name:            _myStatic
-    type:            N_SECT
-    sect:            1
-    value:           0x000000000000000B
-  - name:            _myVariablePreviouslyKnownAsPrivateExtern
-    type:            N_SECT
-    scope:           [ N_PEXT ]
-    sect:            1
-    desc:            [ N_SYMBOL_RESOLVER ]
-    value:           0x0000000000000011
-global-symbols:
-  - name:            _myGlobal
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000001
-  - name:            _myGlobalWeak
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    desc:            [ N_WEAK_DEF ]
-    value:           0x0000000000000002
-  - name:            _myHidden
-    type:            N_SECT
-    scope:           [ N_EXT, N_PEXT ]
-    sect:            1
-    value:           0x0000000000000004
-  - name:            _myHiddenWeak
-    type:            N_SECT
-    scope:           [ N_EXT, N_PEXT ]
-    sect:            1
-    desc:            [ N_WEAK_DEF ]
-    value:           0x0000000000000007
-  - name:            _myResolver
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    desc:            [ N_SYMBOL_RESOLVER ]
-    value:           0x0000000000000010
-
-install-name:        libspecial.dylib
 ...
 
 

Modified: lld/trunk/test/mach-o/write-final-sections.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/write-final-sections.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/write-final-sections.yaml (original)
+++ lld/trunk/test/mach-o/write-final-sections.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: lld -flavor darwin -arch x86_64 %s -o %t -e _foo
+# RUN: lld -flavor darwin -arch x86_64 %s %p/Inputs/write-final-sections.yaml \
+# RUN: -o %t -e _foo
 # RUN: llvm-readobj -sections -section-data %t | FileCheck %s
 
 --- !native
@@ -143,25 +144,3 @@ defined-atoms:
   - type:            compact-unwind
     content:         [ 0E, 00, 00, 00, 00, 00, 00, 00 ]
 # CHECK-NOT: Name: __compact_unwind
-
-
---- !mach-o
-arch:            x86_64
-file-type:       MH_DYLIB
-flags:           [ ]
-install-name:    /usr/lib/libSystem.B.dylib
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    address:         0x0000000000000000
-    content:         [ 0x55 ]
-
-global-symbols:
-  - name:            dyld_stub_binder
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
-    value:           0x0000000000000000
-

Modified: lld/trunk/test/mach-o/wrong-arch-error.yaml
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/mach-o/wrong-arch-error.yaml?rev=235724&r1=235723&r2=235724&view=diff
==============================================================================
--- lld/trunk/test/mach-o/wrong-arch-error.yaml (original)
+++ lld/trunk/test/mach-o/wrong-arch-error.yaml Fri Apr 24 10:51:45 2015
@@ -1,4 +1,5 @@
-# RUN: not lld -flavor darwin -arch x86_64 -r %s 2> %t.err
+# RUN: not lld -flavor darwin -arch x86_64 -r %s \
+# RUN: %p/Inputs/wrong-arch-error.yaml 2> %t.err
 # RUN: FileCheck %s < %t.err
 
 --- !mach-o
@@ -20,28 +21,6 @@ global-symbols:
     type:            N_SECT
     scope:           [ N_EXT ]
     sect:            1
-    value:           0x0000000000000000
-
---- !mach-o
-arch:            x86
-file-type:       MH_OBJECT
-flags:           [ MH_SUBSECTIONS_VIA_SYMBOLS ]
-has-UUID:        false
-OS:              unknown
-sections:
-  - segment:         __TEXT
-    section:         __text
-    type:            S_REGULAR
-    attributes:      [ S_ATTR_PURE_INSTRUCTIONS, S_ATTR_SOME_INSTRUCTIONS ]
-    alignment:       4
-    address:         0x0000000000000000
-    content:         [ 0xC3 ]
-
-global-symbols:
-  - name:            _bar
-    type:            N_SECT
-    scope:           [ N_EXT ]
-    sect:            1
     value:           0x0000000000000000
 ...
 





More information about the llvm-commits mailing list