<div dir="ltr">It seems it's failing when it's trying to read a .lib file that is created by a previous run of lld in the same test. .Lib files are created by an external command, winres, so there may be something wrong with that command in your environment? That command is part of Visual Studio.<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 13, 2015 at 5:57 PM, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span class=""><div><span style="font-size:13px">-# RUN: lld -flavor link2 /out:%t.exe %t.obj</span><br style="font-size:13px"><span style="font-size:13px">+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj</span><br></div><div><span style="font-size:13px"><br></span></div></span><div><span style="font-size:13px">This test seems to be failing lately on one of our internal builders (</span>LLVM.Windows.Phase.2) <span style="font-size:13px">that builds the open source repo. Sorry I don't have more info at the moment, but do you have any idea what could be causing this? Seems to be "no such file or directory" for one of the files.</span></div><div><br></div><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_P118&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=eavpJnPtaZ6lPWt75HFblPTTcUB7mQXl2VPy8FKuy-0&e=" target="_blank">http://reviews.llvm.org/P118</a><div><br></div><div>"""</div><div><div>Command 15: "lld" "-flavor" "link2" "/out:C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.2\llvm.obj\tools\lld\test\COFF\Output\dll.test.tmp2.exe" "/entry:main" "C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.2\llvm.obj\tools\lld\test\COFF\Output\dll.test.tmp2.obj" "C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.2\llvm.obj\tools\lld\test\COFF\Output\dll.test.tmp.lib"</div><div><br></div><div>Command 15 Result: 1</div><div><br></div><div>Command 15 Output:</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>Command 15 Stderr:</div><div><br></div><div>cannot open C:\Buildbot\Slave\builds\1.LLVM.Windows.Phase.2\llvm.obj\tools\lld\test\COFF\Output\dll.test.tmp.lib: no such file or directory</div><div><br></div><div>"""</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-- Sean Silva</div></font></span><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jun 28, 2015 at 6:03 PM, Rui Ueyama <span dir="ltr"><<a href="mailto:ruiu@google.com" target="_blank">ruiu@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Author: ruiu<br>
Date: Sun Jun 28 20:03:53 2015<br>
New Revision: 240922<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D240922-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=tkHy3-_wxmRykyd7Piek9MixFySGw0ikilhvE_yrwME&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=240922&view=rev</a><br>
Log:<br>
COFF: Fix logic to find default entry name or subsystem.<br>
<br>
The previous logic to find default entry name or subsystem does not<br>
seem correct (i.e. was not compatible with MSVC linker). Previously,<br>
default entry name was inferred from CRT functions and user-defined<br>
entry functions. Subsystem was inferred from CRT functions.<br>
<br>
Default entry name and subsystem are now inferred based on the<br>
following table. Note that we no longer use CRT functions to infer<br>
them.<br>
<br>
               Entry name           Subsystem<br>
  main         mainCRTStartup       console<br>
  wmain        wmainCRTStartup      console<br>
  WinMain      WinMainCRTStartup    windows<br>
  wWinMain     wWinMainCRTStartup   windows<br>
<br>
Removed:<br>
    lld/trunk/test/COFF/Inputs/common.yaml<br>
Modified:<br>
    lld/trunk/COFF/Driver.cpp<br>
    lld/trunk/COFF/Driver.h<br>
    lld/trunk/COFF/SymbolTable.cpp<br>
    lld/trunk/COFF/SymbolTable.h<br>
    lld/trunk/test/COFF/Inputs/icf1.yaml<br>
    lld/trunk/test/COFF/Inputs/icf2.yaml<br>
    lld/trunk/test/COFF/Inputs/icf3.yaml<br>
    lld/trunk/test/COFF/Inputs/icf4.yaml<br>
    lld/trunk/test/COFF/Inputs/icf5.yaml<br>
    lld/trunk/test/COFF/Inputs/import.yaml<br>
    lld/trunk/test/COFF/Inputs/include1a.yaml<br>
    lld/trunk/test/COFF/Inputs/ret42.yaml<br>
    lld/trunk/test/COFF/alternatename.test<br>
    lld/trunk/test/COFF/base.test<br>
    lld/trunk/test/COFF/baserel.test<br>
    lld/trunk/test/COFF/common.test<br>
    lld/trunk/test/COFF/dll.test<br>
    lld/trunk/test/COFF/entrylib.ll<br>
    lld/trunk/test/COFF/filetype.test<br>
    lld/trunk/test/COFF/force.test<br>
    lld/trunk/test/COFF/heap.test<br>
    lld/trunk/test/COFF/icf.test<br>
    lld/trunk/test/COFF/include.test<br>
    lld/trunk/test/COFF/include2.test<br>
    lld/trunk/test/COFF/internal.test<br>
    lld/trunk/test/COFF/linkenv.test<br>
    lld/trunk/test/COFF/lldmap.test<br>
    lld/trunk/test/COFF/locally-imported.test<br>
    lld/trunk/test/COFF/long-section-name.test<br>
    lld/trunk/test/COFF/manifest.test<br>
    lld/trunk/test/COFF/opt.test<br>
    lld/trunk/test/COFF/options.test<br>
    lld/trunk/test/COFF/order.test<br>
    lld/trunk/test/COFF/out.test<br>
    lld/trunk/test/COFF/resource.test<br>
    lld/trunk/test/COFF/responsefile.test<br>
    lld/trunk/test/COFF/stack.test<br>
    lld/trunk/test/COFF/subsystem-inference.test<br>
    lld/trunk/test/COFF/unwind.test<br>
    lld/trunk/test/COFF/version.test<br>
<br>
Modified: lld/trunk/COFF/Driver.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_COFF_Driver.cpp-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=Oi7G8N3hNBV1yhcj42hNReGXZTz3dfwQo-kJoLrgBtw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.cpp?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/Driver.cpp (original)<br>
+++ lld/trunk/COFF/Driver.cpp Sun Jun 28 20:03:53 2015<br>
@@ -207,15 +207,30 @@ void LinkerDriver::addUndefined(StringRe<br>
   Config->GCRoots.insert(Sym);<br>
 }<br>
<br>
-static WindowsSubsystem inferSubsystem() {<br>
+// Windows specific -- find default entry point name.<br>
+StringRef LinkerDriver::findDefaultEntry() {<br>
+  // User-defined main functions and their corresponding entry points.<br>
+  static const char *Entries[][2] = {<br>
+      {"main", "mainCRTStartup"},<br>
+      {"wmain", "wmainCRTStartup"},<br>
+      {"WinMain", "WinMainCRTStartup"},<br>
+      {"wWinMain", "wWinMainCRTStartup"},<br>
+  };<br>
+  for (auto E : Entries) {<br>
+    if (Symtab.findLazy(E[0]))<br>
+      return E[1];<br>
+  }<br>
+  return "";<br>
+}<br>
+<br>
+WindowsSubsystem LinkerDriver::inferSubsystem() {<br>
   if (Config->DLL)<br>
     return IMAGE_SUBSYSTEM_WINDOWS_GUI;<br>
-  return StringSwitch<WindowsSubsystem>(Config->EntryName)<br>
-      .Case("mainCRTStartup", IMAGE_SUBSYSTEM_WINDOWS_CUI)<br>
-      .Case("wmainCRTStartup", IMAGE_SUBSYSTEM_WINDOWS_CUI)<br>
-      .Case("WinMainCRTStartup", IMAGE_SUBSYSTEM_WINDOWS_GUI)<br>
-      .Case("wWinMainCRTStartup", IMAGE_SUBSYSTEM_WINDOWS_GUI)<br>
-      .Default(IMAGE_SUBSYSTEM_UNKNOWN);<br>
+  if (Symtab.find("main") || Symtab.find("wmain"))<br>
+    return IMAGE_SUBSYSTEM_WINDOWS_CUI;<br>
+  if (Symtab.find("WinMain") || Symtab.find("wWinMain"))<br>
+    return IMAGE_SUBSYSTEM_WINDOWS_GUI;<br>
+  return IMAGE_SUBSYSTEM_UNKNOWN;<br>
 }<br>
<br>
 bool LinkerDriver::link(llvm::ArrayRef<const char *> ArgsArr) {<br>
@@ -522,6 +537,18 @@ bool LinkerDriver::link(llvm::ArrayRef<c<br>
     return false;<br>
   }<br>
<br>
+  // Windows specific -- If entry point name is not given, we need to<br>
+  // infer that from user-defined entry name.<br>
+  if (Config->EntryName.empty() && !Config->NoEntry) {<br>
+    StringRef S = findDefaultEntry();<br>
+    if (S.empty()) {<br>
+      llvm::errs() << "entry point must be defined\n";<br>
+      return false;<br>
+    }<br>
+    Config->EntryName = S;<br>
+    addUndefined(S);<br>
+  }<br>
+<br>
   // Resolve auxiliary symbols until converge.<br>
   // (Trying to resolve a symbol may trigger a Lazy symbol to load a new file.<br>
   // A new file may contain a directive section to add new command line options.<br>
@@ -545,19 +572,6 @@ bool LinkerDriver::link(llvm::ArrayRef<c<br>
       }<br>
     }<br>
<br>
-    // Windows specific -- If entry point name is not given, we need to<br>
-    // infer that from user-defined entry name. The symbol table takes<br>
-    // care of details.<br>
-    if (Config->EntryName.empty() && !Config->NoEntry) {<br>
-      auto EntryOrErr = Symtab.findDefaultEntry();<br>
-      if (auto EC = EntryOrErr.getError()) {<br>
-        llvm::errs() << EC.message() << "\n";<br>
-        return false;<br>
-      }<br>
-      Config->EntryName = EntryOrErr.get();<br>
-      addUndefined(Config->EntryName);<br>
-    }<br>
-<br>
     if (auto EC = Symtab.run()) {<br>
       llvm::errs() << EC.message() << "\n";<br>
       return false;<br>
<br>
Modified: lld/trunk/COFF/Driver.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_COFF_Driver.h-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=9mP4J8OBFXCUH6pXP35pHPJ-lAYQPw3pKgYPbnT4Cj4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/Driver.h?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/Driver.h (original)<br>
+++ lld/trunk/COFF/Driver.h Sun Jun 28 20:03:53 2015<br>
@@ -94,6 +94,16 @@ private:<br>
<br>
   void addUndefined(StringRef Sym);<br>
<br>
+  // Windows specific -- "main" is not the only main function in Windows.<br>
+  // You can choose one from these four -- {w,}{WinMain,main}.<br>
+  // There are four different entry point functions for them,<br>
+  // {w,}{WinMain,main}CRTStartup, respectively. The linker needs to<br>
+  // choose the right one depending on which "main" function is defined.<br>
+  // This function looks up the symbol table and resolve corresponding<br>
+  // entry point name.<br>
+  StringRef findDefaultEntry();<br>
+  WindowsSubsystem inferSubsystem();<br>
+<br>
   // Driver is the owner of all opened files.<br>
   // InputFiles have MemoryBufferRefs to them.<br>
   std::vector<std::unique_ptr<MemoryBuffer>> OwningMBs;<br>
<br>
Modified: lld/trunk/COFF/SymbolTable.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_COFF_SymbolTable.cpp-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=8JSylDuZQlwK5Pwpj-5yhH3zHXS12hNbOmHVXJR8nTE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.cpp?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/SymbolTable.cpp (original)<br>
+++ lld/trunk/COFF/SymbolTable.cpp Sun Jun 28 20:03:53 2015<br>
@@ -174,6 +174,25 @@ Defined *SymbolTable::find(StringRef Nam<br>
   return nullptr;<br>
 }<br>
<br>
+// Find a given symbol. If a lazy symbol is found,<br>
+// resolve that before returning.<br>
+Defined *SymbolTable::findLazy(StringRef Name) {<br>
+  auto It = Symtab.find(Name);<br>
+  if (It == Symtab.end())<br>
+    return nullptr;<br>
+  Symbol *Sym = It->second;<br>
+  if (auto *B = dyn_cast<Defined>(Sym->Body))<br>
+    return B;<br>
+  if (auto *B = dyn_cast<Lazy>(Sym->Body)) {<br>
+    if (addMemberFile(B))<br>
+      return nullptr;<br>
+    if (run())<br>
+      return nullptr;<br>
+    return cast<Defined>(Sym->Body);<br>
+  }<br>
+  return nullptr;<br>
+}<br>
+<br>
 // Find a given symbol or its mangled symbol.<br>
 std::pair<StringRef, Symbol *> SymbolTable::findMangled(StringRef S) {<br>
   auto It = Symtab.find(S);<br>
@@ -196,41 +215,6 @@ std::pair<StringRef, Symbol *> SymbolTab<br>
   return std::make_pair(S, nullptr);<br>
 }<br>
<br>
-std::error_code SymbolTable::resolveLazy(StringRef Name) {<br>
-  auto It = Symtab.find(Name);<br>
-  if (It == Symtab.end())<br>
-    return std::error_code();<br>
-  if (auto *B = dyn_cast<Lazy>(It->second->Body)) {<br>
-    if (auto EC = addMemberFile(B))<br>
-      return EC;<br>
-    return run();<br>
-  }<br>
-  return std::error_code();<br>
-}<br>
-<br>
-// Windows specific -- Link default entry point name.<br>
-ErrorOr<StringRef> SymbolTable::findDefaultEntry() {<br>
-  // User-defined main functions and their corresponding entry points.<br>
-  static const char *Entries[][2] = {<br>
-      {"main", "mainCRTStartup"},<br>
-      {"wmain", "wmainCRTStartup"},<br>
-      {"WinMain", "WinMainCRTStartup"},<br>
-      {"wWinMain", "wWinMainCRTStartup"},<br>
-  };<br>
-  for (auto E : Entries) {<br>
-    resolveLazy(E[1]);<br>
-    if (find(E[1]))<br>
-      return StringRef(E[1]);<br>
-    if (!find(E[0]))<br>
-      continue;<br>
-    if (auto EC = resolve(new (Alloc) Undefined(E[1])))<br>
-      return EC;<br>
-    return StringRef(E[1]);<br>
-  }<br>
-  llvm::errs() << "entry point must be defined\n";<br>
-  return make_error_code(LLDError::InvalidOption);<br>
-}<br>
-<br>
 std::error_code SymbolTable::addUndefined(StringRef Name) {<br>
   return resolve(new (Alloc) Undefined(Name));<br>
 }<br>
@@ -248,7 +232,10 @@ std::error_code SymbolTable::rename(Stri<br>
   SymbolBody *Body = new (Alloc) Undefined(To);<br>
   if (auto EC = resolve(Body))<br>
     return EC;<br>
-  Sym->Body = Body->getReplacement();<br>
+  SymbolBody *Repl = Body->getReplacement();<br>
+  if (isa<Undefined>(Repl))<br>
+    return std::error_code();<br>
+  Sym->Body = Repl;<br>
   Body->setBackref(Sym);<br>
   ++Version;<br>
   return std::error_code();<br>
<br>
Modified: lld/trunk/COFF/SymbolTable.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_COFF_SymbolTable.h-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=IzyRLOQL4_XNenyhIzGF_ao6QmVYQrKVPGmQxezUcdc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/COFF/SymbolTable.h?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/COFF/SymbolTable.h (original)<br>
+++ lld/trunk/COFF/SymbolTable.h Sun Jun 28 20:03:53 2015<br>
@@ -51,21 +51,13 @@ public:<br>
   // mechanisms to allow aliases, a name can be resolved to a<br>
   // different symbol). Returns a nullptr if not found.<br>
   Defined *find(StringRef Name);<br>
+  Defined *findLazy(StringRef Name);<br>
<br>
   // Find a symbol assuming that Name is a function name.<br>
   // Not only a given string but its mangled names (in MSVC C++ manner)<br>
   // will be searched.<br>
   std::pair<StringRef, Symbol *> findMangled(StringRef Name);<br>
<br>
-  // Windows specific -- `main` is not the only main function in Windows.<br>
-  // You can choose one from these four -- {w,}{WinMain,main}.<br>
-  // There are four different entry point functions for them,<br>
-  // {w,}{WinMain,main}CRTStartup, respectively. The linker needs to<br>
-  // choose the right one depending on which `main` function is defined.<br>
-  // This function looks up the symbol table and resolve corresponding<br>
-  // entry point name.<br>
-  ErrorOr<StringRef> findDefaultEntry();<br>
-<br>
   // Print a layout map to OS.<br>
   void printMap(llvm::raw_ostream &OS);<br>
<br>
@@ -92,7 +84,6 @@ public:<br>
<br>
 private:<br>
   std::error_code resolve(SymbolBody *Body);<br>
-  std::error_code resolveLazy(StringRef Name);<br>
   std::error_code addMemberFile(Lazy *Body);<br>
   ErrorOr<ObjectFile *> createLTOObject(llvm::LTOCodeGenerator *CG);<br>
<br>
<br>
Removed: lld/trunk/test/COFF/Inputs/common.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_common.yaml-3Frev-3D240921-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=fCj0mgjbG8_PRSDe01-zXAjynCuUTdHFFMUBdOGAnmE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/common.yaml?rev=240921&view=auto</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/common.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/common.yaml (removed)<br>
@@ -1,91 +0,0 @@<br>
----<br>
-header:<br>
-  Machine:         IMAGE_FILE_MACHINE_AMD64<br>
-  Characteristics: []<br>
-sections:<br>
-  - Name:            .text<br>
-    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]<br>
-    Alignment:       4<br>
-    SectionData:     b800000000b800000000b800000000b800000000b800000000<br>
-    Relocations:<br>
-      - VirtualAddress:  1<br>
-        SymbolName:      bssdata4<br>
-        Type:            IMAGE_REL_AMD64_ADDR32<br>
-      - VirtualAddress:  6<br>
-        SymbolName:      bsspad1<br>
-        Type:            IMAGE_REL_AMD64_ADDR32<br>
-      - VirtualAddress:  11<br>
-        SymbolName:      bssdata64<br>
-        Type:            IMAGE_REL_AMD64_ADDR32<br>
-      - VirtualAddress:  16<br>
-        SymbolName:      bsspad2<br>
-        Type:            IMAGE_REL_AMD64_ADDR32<br>
-      - VirtualAddress:  21<br>
-        SymbolName:      bssdata16<br>
-        Type:            IMAGE_REL_AMD64_ADDR32<br>
-  - Name:            .data<br>
-    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]<br>
-    Alignment:       4<br>
-    SectionData:     03000000<br>
-symbols:<br>
-  - Name:            .text<br>
-    Value:           0<br>
-    SectionNumber:   1<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_STATIC<br>
-    SectionDefinition:<br>
-      Length:          0<br>
-      NumberOfRelocations: 5<br>
-      NumberOfLinenumbers: 0<br>
-      CheckSum:        0<br>
-      Number:          0<br>
-  - Name:            .data<br>
-    Value:           0<br>
-    SectionNumber:   2<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_STATIC<br>
-    SectionDefinition:<br>
-      Length:          4<br>
-      NumberOfRelocations: 0<br>
-      NumberOfLinenumbers: 0<br>
-      CheckSum:        0<br>
-      Number:          0<br>
-  - Name:            mainCRTStartup<br>
-    Value:           0<br>
-    SectionNumber:   1<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION<br>
-    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            bssdata4<br>
-    Value:           4<br>
-    SectionNumber:   0<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            bsspad1<br>
-    Value:           1<br>
-    SectionNumber:   0<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            bssdata64<br>
-    Value:           64<br>
-    SectionNumber:   0<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            bsspad2<br>
-    Value:           1<br>
-    SectionNumber:   0<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            bssdata16<br>
-    Value:           16<br>
-    SectionNumber:   0<br>
-    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
-    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
-    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-...<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/icf1.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_icf1.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=lLc_MLBfrIzxBWkpjRF70Ya_mpA-R34kh-khPWfrAIk&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/icf1.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/icf1.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/icf1.yaml Sun Jun 28 20:03:53 2015<br>
@@ -29,7 +29,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/icf2.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_icf2.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=ai2REky4K90fWx9HH-HjLeHCmjSSSHu9CgMEzS9e7J0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/icf2.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/icf2.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/icf2.yaml Sun Jun 28 20:03:53 2015<br>
@@ -25,7 +25,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  # icf2 is identical with mainCRTStartup<br>
+  # icf2 is identical with main<br>
   - Name:            icf2<br>
     Value:           0<br>
     SectionNumber:   1<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/icf3.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_icf3.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=j-Bq6ExwOHe2ZLSg0bKzMKUFekpz5BUR3zVZ38efEoI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/icf3.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/icf3.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/icf3.yaml Sun Jun 28 20:03:53 2015<br>
@@ -25,7 +25,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  # icf3 is *not* identical with mainCRTStartup because its relocation is different<br>
+  # icf3 is *not* identical with main because its relocation is different<br>
   - Name:            icf3<br>
     Value:           0<br>
     SectionNumber:   1<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/icf4.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_icf4.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=aXmzYYc-CzMYXyUZdYQfiW6zemj1RpeOfzePDOR-UvA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/icf4.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/icf4.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/icf4.yaml Sun Jun 28 20:03:53 2015<br>
@@ -25,7 +25,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  # icf4 is *not* identical with mainCRTStartup because it has an associative section<br>
+  # icf4 is *not* identical with main because it has an associative section<br>
   - Name:            icf4<br>
     Value:           0<br>
     SectionNumber:   1<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/icf5.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_icf5.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=1-MroIoCMo0zr-ZdwKm75yC2IyOe6jn_AOgVDy92ap4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/icf5.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/icf5.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/icf5.yaml Sun Jun 28 20:03:53 2015<br>
@@ -21,7 +21,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  # icf5 is *not* identical with its symbol value is different<br>
+  # icf5 is *not* identical with main because its symbol value is different<br>
   - Name:            icf5<br>
     Value:           5<br>
     SectionNumber:   1<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/import.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_import.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=mwSRaILwtf6TAckRodLlv4Cvp3mO-p0bX14mGQa8P2M&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/import.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/import.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/import.yaml Sun Jun 28 20:03:53 2015<br>
@@ -20,7 +20,7 @@ symbols:<br>
       NumberOfLinenumbers: 0<br>
       CheckSum:        0<br>
       Number:          0<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/include1a.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_include1a.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=Pj5KA9Vd29hnNPmG5QCaFsIQOp6bniKfy-z2ZAns8dU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/include1a.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/include1a.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/include1a.yaml Sun Jun 28 20:03:53 2015<br>
@@ -24,7 +24,7 @@ symbols:<br>
       NumberOfLinenumbers: 0<br>
       CheckSum:        0<br>
       Number:          0<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/Inputs/ret42.yaml<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_Inputs_ret42.yaml-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=C4v4OiibHoo_9lIYz5AXthynQYf0Rjy1syKOQylPNxI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/Inputs/ret42.yaml?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/Inputs/ret42.yaml (original)<br>
+++ lld/trunk/test/COFF/Inputs/ret42.yaml Sun Jun 28 20:03:53 2015<br>
@@ -36,7 +36,7 @@ symbols:<br>
       NumberOfLinenumbers: 0<br>
       CheckSum:        0<br>
       Number:          0<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/alternatename.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_alternatename.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=nFMLDc2pwBtG98NRL3X1fGujeOoz2pFBF3oRThu8_8s&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/alternatename.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/alternatename.test (original)<br>
+++ lld/trunk/test/COFF/alternatename.test Sun Jun 28 20:03:53 2015<br>
@@ -1,9 +1,9 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
 # RUN: lld -flavor link2 /entry:foo /subsystem:console \<br>
-# RUN:   /alternatename:foo=mainCRTStartup /out:%t.exe %t.obj<br>
+# RUN:   /alternatename:foo=main /out:%t.exe %t.obj<br>
 # RUN: lld -flavor link2 /entry:foo /subsystem:console \<br>
-# RUN:   /alternatename:foo=mainCRTStartup \<br>
-# RUN:   /alternatename:foo=mainCRTStartup \<br>
+# RUN:   /alternatename:foo=main \<br>
+# RUN:   /alternatename:foo=main \<br>
 # RUN:   /alternatename:nosuchsym1=nosuchsym2 \<br>
 # RUN:   /out:%t.exe %t.obj<br>
<br>
@@ -26,7 +26,7 @@ sections:<br>
   - Name:            .drectve<br>
     Characteristics: [ IMAGE_SCN_LNK_INFO, IMAGE_SCN_LNK_REMOVE ]<br>
     Alignment:       <a href="tel:2147483648" value="+12147483648" target="_blank">2147483648</a><br>
-    SectionData:     2f616c7465726e6174656e616d653a666f6f3d6d61696e4352545374617274757000  # /alternatename:foo=mainCRTStartup<br>
+    SectionData:     2f616c7465726e6174656e616d653a666f6f3d6d61696e00  # /alternatename:foo=main<br>
 symbols:<br>
   - Name:            '.text$mn'<br>
     Value:           0<br>
@@ -52,7 +52,7 @@ symbols:<br>
       NumberOfLinenumbers: 0<br>
       CheckSum:        0<br>
       Number:          0<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/base.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_base.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=F0q3j8feczajyJS-6bt6u9CdK4B7ECNjBZ-s954YAH0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/base.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/base.test (original)<br>
+++ lld/trunk/test/COFF/base.test Sun Jun 28 20:03:53 2015<br>
@@ -1,11 +1,11 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s<br>
<br>
 DEFAULT: ImageBase: 0x140000000<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /base:0x280000000<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /base:0x280000000<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=BASE %s<br>
<br>
 BASE: ImageBase: 0x280000000<br>
<br>
Modified: lld/trunk/test/COFF/baserel.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_baserel.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=USDiIghyoa9cyanMcj_35c5l49CW6yjwEmHbTbTGZcE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/baserel.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/baserel.test (original)<br>
+++ lld/trunk/test/COFF/baserel.test Sun Jun 28 20:03:53 2015<br>
@@ -1,9 +1,9 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
 #<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj %p/Inputs/std64.lib<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib<br>
 # RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck %s -check-prefix=BASEREL<br>
 #<br>
-# RUN: lld -flavor link2 /out:%t.exe /fixed %t.obj %p/Inputs/std64.lib<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /fixed %t.obj %p/Inputs/std64.lib<br>
 # RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck %s -check-prefix=NOBASEREL<br>
 #<br>
 # BASEREL:      BaseReloc [<br>
@@ -43,11 +43,11 @@<br>
 # NOBASEREL:      BaseReloc [<br>
 # NOBASEREL-NEXT: ]<br>
 #<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj %p/Inputs/std64.lib<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib<br>
 # RUN: llvm-readobj -file-headers -sections %t.exe | FileCheck %s \<br>
 # RUN:   --check-prefix=BASEREL-HEADER<br>
 #<br>
-# RN: lld -flavor link2 /out:%t.exe /fixed %t.obj %p/Inputs/std64.lib<br>
+# RN: lld -flavor link2 /out:%t.exe /entry:main /fixed %t.obj %p/Inputs/std64.lib<br>
 # RN: llvm-readobj -file-headers %t.exe | FileCheck %s \<br>
 # RN:   --check-prefix=NOBASEREL-HEADER<br>
 #<br>
@@ -188,7 +188,7 @@ symbols:<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
     ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
     StorageClass:    IMAGE_SYM_CLASS_STATIC<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/common.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_common.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=2_txVMtj43sItESXxQiYKpmd9bbGafXnHC4DVJGktg4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/common.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/common.test (original)<br>
+++ lld/trunk/test/COFF/common.test Sun Jun 28 20:03:53 2015<br>
@@ -1,10 +1,102 @@<br>
-# RUN: yaml2obj %p/Inputs/common.yaml > %t.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj %t.obj<br>
+# RUN: yaml2obj %s > %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj %t.obj<br>
 # RUN: llvm-objdump -d %t.exe | FileCheck %s<br>
<br>
 # Operands of B8 (MOV EAX) are common symbols<br>
-CHECK: 3000: b8 00 10 00 40<br>
-CHECK: 3005: b8 04 10 00 40<br>
-CHECK: 300a: b8 20 10 00 40<br>
-CHECK: 300f: b8 60 10 00 40<br>
-CHECK: 3014: b8 80 10 00 40<br>
+# CHECK: 3000: b8 00 10 00 40<br>
+# CHECK: 3005: b8 04 10 00 40<br>
+# CHECK: 300a: b8 20 10 00 40<br>
+# CHECK: 300f: b8 60 10 00 40<br>
+# CHECK: 3014: b8 80 10 00 40<br>
+<br>
+---<br>
+header:<br>
+  Machine:         IMAGE_FILE_MACHINE_AMD64<br>
+  Characteristics: []<br>
+sections:<br>
+  - Name:            .text<br>
+    Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]<br>
+    Alignment:       4<br>
+    SectionData:     b800000000b800000000b800000000b800000000b800000000<br>
+    Relocations:<br>
+      - VirtualAddress:  1<br>
+        SymbolName:      bssdata4<br>
+        Type:            IMAGE_REL_AMD64_ADDR32<br>
+      - VirtualAddress:  6<br>
+        SymbolName:      bsspad1<br>
+        Type:            IMAGE_REL_AMD64_ADDR32<br>
+      - VirtualAddress:  11<br>
+        SymbolName:      bssdata64<br>
+        Type:            IMAGE_REL_AMD64_ADDR32<br>
+      - VirtualAddress:  16<br>
+        SymbolName:      bsspad2<br>
+        Type:            IMAGE_REL_AMD64_ADDR32<br>
+      - VirtualAddress:  21<br>
+        SymbolName:      bssdata16<br>
+        Type:            IMAGE_REL_AMD64_ADDR32<br>
+  - Name:            .data<br>
+    Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]<br>
+    Alignment:       4<br>
+    SectionData:     03000000<br>
+symbols:<br>
+  - Name:            .text<br>
+    Value:           0<br>
+    SectionNumber:   1<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_STATIC<br>
+    SectionDefinition:<br>
+      Length:          0<br>
+      NumberOfRelocations: 5<br>
+      NumberOfLinenumbers: 0<br>
+      CheckSum:        0<br>
+      Number:          0<br>
+  - Name:            .data<br>
+    Value:           0<br>
+    SectionNumber:   2<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_STATIC<br>
+    SectionDefinition:<br>
+      Length:          4<br>
+      NumberOfRelocations: 0<br>
+      NumberOfLinenumbers: 0<br>
+      CheckSum:        0<br>
+      Number:          0<br>
+  - Name:            main<br>
+    Value:           0<br>
+    SectionNumber:   1<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_FUNCTION<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            bssdata4<br>
+    Value:           4<br>
+    SectionNumber:   0<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            bsspad1<br>
+    Value:           1<br>
+    SectionNumber:   0<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            bssdata64<br>
+    Value:           64<br>
+    SectionNumber:   0<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            bsspad2<br>
+    Value:           1<br>
+    SectionNumber:   0<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            bssdata16<br>
+    Value:           16<br>
+    SectionNumber:   0<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+...<br>
<br>
Modified: lld/trunk/test/COFF/dll.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_dll.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=6_RUh_g3yAGdr_xUDX6us4FNUoJpiKGaqLfk9wTAvFw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/dll.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/dll.test (original)<br>
+++ lld/trunk/test/COFF/dll.test Sun Jun 28 20:03:53 2015<br>
@@ -27,15 +27,15 @@ EXPORT-LTO-NEXT:       2   0x1020  expor<br>
 EXPORT-LTO-NEXT:       3   0x1030  exportfn3<br>
<br>
 # RUN: yaml2obj < %p/Inputs/import.yaml > %t2.obj<br>
-# RUN: lld -flavor link2 /out:%t2.exe %t2.obj %t.lib<br>
+# RUN: lld -flavor link2 /out:%t2.exe /entry:main %t2.obj %t.lib<br>
 # RUN: llvm-readobj -coff-imports %t2.exe | FileCheck -check-prefix=IMPORT %s<br>
<br>
 # RUN: lld -flavor link2 /out:%t.dll /dll %t.obj /implib:%t2.lib \<br>
 # RUN:   /export:exportfn1 /export:exportfn2<br>
-# RUN: lld -flavor link2 /out:%t2.exe %t2.obj %t2.lib<br>
+# RUN: lld -flavor link2 /out:%t2.exe /entry:main %t2.obj %t2.lib<br>
 # RUN: llvm-readobj -coff-imports %t2.exe | FileCheck -check-prefix=IMPORT %s<br>
<br>
-# RUN: lld -flavor link2 /out:%t2.lto.exe %t2.obj %t.lto.lib<br>
+# RUN: lld -flavor link2 /out:%t2.lto.exe /entry:main %t2.obj %t.lto.lib<br>
 # RUN: llvm-readobj -coff-imports %t2.lto.exe | FileCheck -check-prefix=IMPORT %s<br>
<br>
 IMPORT: Symbol: exportfn1<br>
<br>
Modified: lld/trunk/test/COFF/entrylib.ll<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_entrylib.ll-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=vEA3Tnje5WkmJgnguEq1pajZAyDQSWR74Yz1a32LC1s&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/entrylib.ll?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/entrylib.ll (original)<br>
+++ lld/trunk/test/COFF/entrylib.ll Sun Jun 28 20:03:53 2015<br>
@@ -1,11 +1,11 @@<br>
 ; RUN: llvm-as -o %t.obj %s<br>
 ; RUN: rm -f %t.lib<br>
 ; RUN: llvm-ar cru %t.lib %t.obj<br>
-; RUN: lld -flavor link2 /out:%t.exe %t.lib<br>
+; RUN: lld -flavor link2 /out:%t.exe /entry:main %t.lib<br>
<br>
 target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"<br>
 target triple = "x86_64-pc-windows-msvc"<br>
<br>
-define i32 @mainCRTStartup() {<br>
+define i32 @main() {<br>
   ret i32 0<br>
 }<br>
<br>
Modified: lld/trunk/test/COFF/filetype.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_filetype.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=9fpg8WUKGlHCm3430g0F-htP5dDtiwF3WLWVl_XVWzs&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/filetype.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/filetype.test (original)<br>
+++ lld/trunk/test/COFF/filetype.test Sun Jun 28 20:03:53 2015<br>
@@ -1,4 +1,4 @@<br>
 # Make sure input file type is detected by file magic and not by extension.<br>
<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.lib<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.lib<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.lib<br>
<br>
Modified: lld/trunk/test/COFF/force.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_force.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=4hpsPCqdf5VJsERlYfSBkTz1wz0UJ9BmLymZLq9jnDM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/force.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/force.test (original)<br>
+++ lld/trunk/test/COFF/force.test Sun Jun 28 20:03:53 2015<br>
@@ -1,7 +1,7 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
-# RUN: not lld -flavor link2 /out:%t.exe %t.obj >& %t.log<br>
+# RUN: not lld -flavor link2 /out:%t.exe /entry:main %t.obj >& %t.log<br>
 # RUN: FileCheck %s < %t.log<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /force >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /force >& %t.log<br>
 # RUN: FileCheck %s < %t.log<br>
<br>
 # CHECK: undefined symbol: foo<br>
@@ -28,7 +28,7 @@ symbols:<br>
       NumberOfLinenumbers: 0<br>
       CheckSum:        0<br>
       Number:          0<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/heap.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_heap.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=b4W1reDSp62r6surhr4WdqHUtLLD_Cuivideheoxzy8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/heap.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/heap.test (original)<br>
+++ lld/trunk/test/COFF/heap.test Sun Jun 28 20:03:53 2015<br>
@@ -1,24 +1,24 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s<br>
<br>
 DEFAULT: SizeOfHeapReserve: 1048576<br>
 DEFAULT: SizeOfHeapCommit: 4096<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe /heap:0x3000 %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /heap:0x3000 %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s<br>
 # RUN: echo "HEAPSIZE 12288" > %t.def<br>
-# RUN: lld -flavor link2 /out:%t.exe /def:%t.def %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /def:%t.def %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s<br>
<br>
 CHECK1: SizeOfHeapReserve: 12288<br>
 CHECK1: SizeOfHeapCommit: 4096<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe /heap:0x5000,0x3000 %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /heap:0x5000,0x3000 %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s<br>
 # RUN: echo "HEAPSIZE 20480,12288" > %t.def<br>
-# RUN: lld -flavor link2 /out:%t.exe /def:%t.def %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /def:%t.def %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s<br>
<br>
 CHECK2: SizeOfHeapReserve: 20480<br>
<br>
Modified: lld/trunk/test/COFF/icf.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_icf.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=_kAyk3QITdpigfPIm7KvW0QQmoKA_b1y0aANgEpwa-c&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/icf.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/icf.test (original)<br>
+++ lld/trunk/test/COFF/icf.test Sun Jun 28 20:03:53 2015<br>
@@ -4,12 +4,13 @@<br>
 # RUN: yaml2obj < %p/Inputs/icf4.yaml > %t4.obj<br>
 # RUN: yaml2obj < %p/Inputs/icf5.yaml > %t5.obj<br>
 #<br>
-# RUN: lld -flavor link2 /out:%t.exe %t1.obj %t2.obj %t3.obj %t4.obj %t5.obj \<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main \<br>
+# RUN:   %t1.obj %t2.obj %t3.obj %t4.obj %t5.obj \<br>
 # RUN:   /opt:lldicf /include:icf2 /include:icf3 /include:icf4 /include:icf5 \<br>
 # RUN:   /verbose >& %t.log<br>
 # RUN: FileCheck %s < %t.log<br>
<br>
-CHECK-NOT: Replaced mainCRTStartup<br>
+CHECK-NOT: Replaced main<br>
 CHECK:     Replaced icf2<br>
 CHECK-NOT: Replaced icf3<br>
 CHECK-NOT: Replaced icf4<br>
<br>
Modified: lld/trunk/test/COFF/include.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_include.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=DfQrUPo60y04aEqKavYNqTxLc3taJBRlJNw7dCmy3MM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/include.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/include.test (original)<br>
+++ lld/trunk/test/COFF/include.test Sun Jun 28 20:03:53 2015<br>
@@ -1,11 +1,11 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /verbose >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /verbose >& %t.log<br>
 ### FileCheck doesn't like empty input, so write something.<br>
 # RUN: echo dummy >> %t.log<br>
 # RUN: FileCheck -check-prefix=CHECK1 %s < %t.log<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /verbose /include:unused >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /verbose /include:unused >& %t.log<br>
 # RUN: echo dummy >> %t.log<br>
 # RUN: FileCheck -check-prefix=CHECK2 %s < %t.log<br>
<br>
@@ -62,7 +62,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/include2.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_include2.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=U05uDKuaur45dTLAusWh0HoYUCu-b2efpa2mKJT4-CE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/include2.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/include2.test (original)<br>
+++ lld/trunk/test/COFF/include2.test Sun Jun 28 20:03:53 2015<br>
@@ -4,7 +4,7 @@<br>
 # RUN: rm -f %t2.lib %t3.lib<br>
 # RUN: llvm-ar cru %t2.lib %t2.obj<br>
 # RUN: llvm-ar cru %t3.lib %t3.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t1.obj %t2.lib %t3.lib /verbose >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t1.obj %t2.lib %t3.lib /verbose >& %t.log<br>
 # RUN: FileCheck %s < %t.log<br>
<br>
 CHECK: include2.test.tmp1.obj<br>
<br>
Modified: lld/trunk/test/COFF/internal.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_internal.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=rAnvm3yyIri7dzb0odsIi2NNCXZq5K35Ldg9MZ3lbao&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/internal.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/internal.test (original)<br>
+++ lld/trunk/test/COFF/internal.test Sun Jun 28 20:03:53 2015<br>
@@ -3,7 +3,7 @@<br>
 # RUN: yaml2obj < %s > %t1.obj<br>
 # RUN: yaml2obj < %s > %t2.obj<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t3.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t1.obj %t2.obj %t3.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t1.obj %t2.obj %t3.obj<br>
<br>
 ---<br>
 header:<br>
<br>
Modified: lld/trunk/test/COFF/linkenv.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_linkenv.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=AUD0rFiUpoFnfFgl7QYGlwRJ_wWphRxXacnblwVKQXc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/linkenv.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/linkenv.test (original)<br>
+++ lld/trunk/test/COFF/linkenv.test Sun Jun 28 20:03:53 2015<br>
@@ -1,6 +1,4 @@<br>
-# RUN: env LINK="-help -foo" lld -flavor link2 > %t1.log 2> %t2.log<br>
-# RUN: FileCheck -check-prefix=STDOUT %s < %t1.log<br>
-# RUN: FileCheck -check-prefix=STDERR %s < %t2.log<br>
+# RUN: env LINK=-help lld -flavor link2 > %t.log<br>
+# RUN: FileCheck %s < %t.log<br>
<br>
-STDOUT: OVERVIEW: LLVM Linker<br>
-STDERR: unknown argument: -foo<br>
+CHECK: OVERVIEW: LLVM Linker<br>
<br>
Modified: lld/trunk/test/COFF/lldmap.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_lldmap.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=tbVJ8nZBPfAxlgPwwfzZkyW_aiNiOWdc2uY3w7bMMEk&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/lldmap.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/lldmap.test (original)<br>
+++ lld/trunk/test/COFF/lldmap.test Sun Jun 28 20:03:53 2015<br>
@@ -1,8 +1,8 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe /lldmap:%t.map %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /lldmap:%t.map %t.obj<br>
 # RUN: FileCheck %s < %t.map<br>
<br>
 # CHECK: .obj:<br>
 # CHECK-NEXT: 140001000 .text$mn<br>
 # CHECK-NEXT: 140001000 .data<br>
-# CHECK-NEXT: 140001000 mainCRTStartup<br>
+# CHECK-NEXT: 140001000 main<br>
<br>
Modified: lld/trunk/test/COFF/locally-imported.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_locally-2Dimported.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=DEz97Z3ntkCNKY_n6PJig9kC6pvH7oBUuvsEyBJSlMg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/locally-imported.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/locally-imported.test (original)<br>
+++ lld/trunk/test/COFF/locally-imported.test Sun Jun 28 20:03:53 2015<br>
@@ -1,5 +1,5 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-objdump -s %t.exe | FileCheck %s<br>
<br>
 # CHECK:      Contents of section .text:<br>
@@ -19,7 +19,7 @@ sections:<br>
     SectionData:     00000000<br>
     Relocations:<br>
       - VirtualAddress:  0<br>
-        SymbolName:      __imp_mainCRTStartup<br>
+        SymbolName:      __imp_main<br>
         Type:            IMAGE_REL_AMD64_ADDR32NB<br>
 symbols:<br>
   - Name:            .text<br>
@@ -35,13 +35,13 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           4<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION<br>
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            __imp_mainCRTStartup<br>
+  - Name:            __imp_main<br>
     Value:           0<br>
     SectionNumber:   0<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/long-section-name.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_long-2Dsection-2Dname.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=mn7BDWGzsWAgFVzu9u1Dp0d6AUAtlPVsILvZozVoNkU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/long-section-name.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/long-section-name.test (original)<br>
+++ lld/trunk/test/COFF/long-section-name.test Sun Jun 28 20:03:53 2015<br>
@@ -1,7 +1,10 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -sections %t.exe | FileCheck %s<br>
<br>
+# CHECK: Name: .data_long_section_name<br>
+# CHECK: Name: .text_long_section_name<br>
+<br>
 ---<br>
 header:<br>
   Machine:         IMAGE_FILE_MACHINE_AMD64<br>
@@ -46,13 +49,10 @@ symbols:<br>
       NumberOfLinenumbers: 0<br>
       CheckSum:        0<br>
       Number:          0<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
     ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
 ...<br>
-<br>
-# CHECK: Name: .data_long_section_name<br>
-# CHECK: Name: .text_long_section_name<br>
<br>
Modified: lld/trunk/test/COFF/manifest.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_manifest.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=VM2GTCILFUHXud3DFOySUTxdD-ILT5pR-1qgSezSOdQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/manifest.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/manifest.test (original)<br>
+++ lld/trunk/test/COFF/manifest.test Sun Jun 28 20:03:53 2015<br>
@@ -1,6 +1,6 @@<br>
 # RUN: yaml2obj %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: FileCheck -check-prefix=MANIFEST %s < %t.exe.manifest<br>
<br>
 MANIFEST: <?xml version="1.0" standalone="yes"?><br>
@@ -15,7 +15,8 @@ MANIFEST:     </security><br>
 MANIFEST:   </trustInfo><br>
 MANIFEST: </assembly><br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe /manifestuac:"level='requireAdministrator' uiAccess='true'" %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main \<br>
+# RUN:   /manifestuac:"level='requireAdministrator' uiAccess='true'" %t.obj<br>
 # RUN: FileCheck -check-prefix=UAC %s < %t.exe.manifest<br>
<br>
 UAC: <?xml version="1.0" standalone="yes"?><br>
@@ -30,7 +31,8 @@ UAC:     </security><br>
 UAC:   </trustInfo><br>
 UAC: </assembly><br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe /manifestdependency:"foo='bar'" %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main \<br>
+# RUN:   /manifestdependency:"foo='bar'" %t.obj<br>
 # RUN: FileCheck -check-prefix=DEPENDENCY %s < %t.exe.manifest<br>
<br>
 DEPENDENCY: <?xml version="1.0" standalone="yes"?><br>
@@ -50,7 +52,7 @@ DEPENDENCY:     </dependentAssembly><br>
 DEPENDENCY:   </dependency><br>
 DEPENDENCY: </assembly><br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe /manifestuac:no %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /manifestuac:no %t.obj<br>
 # RUN: FileCheck -check-prefix=NOUAC %s < %t.exe.manifest<br>
<br>
 NOUAC: <?xml version="1.0" standalone="yes"?><br>
<br>
Modified: lld/trunk/test/COFF/opt.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_opt.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=tz54pxzY7AiHrf0HHYUKSFoPwYFZDw3goJjG8j4xBWM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/opt.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/opt.test (original)<br>
+++ lld/trunk/test/COFF/opt.test Sun Jun 28 20:03:53 2015<br>
@@ -1,11 +1,13 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /verbose >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj \<br>
+# RUN:   /verbose >& %t.log<br>
 ### FileCheck doesn't like empty input, so write something.<br>
 # RUN: echo dummy >> %t.log<br>
 # RUN: FileCheck -check-prefix=CHECK1 %s < %t.log<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /verbose /opt:noref >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj \<br>
+# RUN:   /verbose /opt:noref >& %t.log<br>
 # RUN: echo dummy >> %t.log<br>
 # RUN: FileCheck -check-prefix=CHECK2 %s < %t.log<br>
<br>
@@ -52,7 +54,7 @@ symbols:<br>
       CheckSum:        0<br>
       Number:          0<br>
       Selection:       IMAGE_COMDAT_SELECT_ANY<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/options.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_options.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=KrFw6QqH3WkUPrrGj-dwn9Ylzl5TrTvx8XqcSNuCH5w&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/options.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/options.test (original)<br>
+++ lld/trunk/test/COFF/options.test Sun Jun 28 20:03:53 2015<br>
@@ -1,51 +1,51 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=BIND %s<br>
-# RUN: lld -flavor link2 /allowbind /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /allowbind /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=BIND %s<br>
 BIND-NOT: IMAGE_DLL_CHARACTERISTICS_NO_BIND<br>
<br>
-# RUN: lld -flavor link2 /allowbind:no /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /allowbind:no /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOBIND %s<br>
 NOBIND: IMAGE_DLL_CHARACTERISTICS_NO_BIND<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ISO %s<br>
-# RUN: lld -flavor link2 /allowisolation /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /allowisolation /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ISO %s<br>
 ISO-NOT: IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION<br>
<br>
-# RUN: lld -flavor link2 /allowisolation:no /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /allowisolation:no /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOISO %s<br>
 NOISO: IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ENT %s<br>
-# RUN: lld -flavor link2 /highentropyva /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /highentropyva %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ENT %s<br>
 ENT: IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA<br>
<br>
-# RUN: lld -flavor link2 /highentropyva:no /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /highentropyva:no /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOENT %s<br>
 NOENT-NOT: IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA<br>
<br>
-# RUN: lld -flavor link2 %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NXCOMPAT %s<br>
-# RUN: lld -flavor link2 /nxcompat %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /nxcompat %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NXCOMPAT %s<br>
 NXCOMPAT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT<br>
<br>
-# RUN: lld -flavor link2 /nxcompat:no /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /nxcompat:no /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NONXCOMPAT %s<br>
 NONXCOMPAT-NOT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT<br>
<br>
-# RUN: lld -flavor link2 %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=TSAWARE %s<br>
-# RUN: lld -flavor link2 /tsaware %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /tsaware %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=TSAWARE %s<br>
 TSAWARE: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE<br>
<br>
-# RUN: lld -flavor link2 /tsaware:no /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /tsaware:no /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOTSAWARE %s<br>
 NOTSAWARE-NOT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE<br>
<br>
Modified: lld/trunk/test/COFF/order.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_order.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=A5szCwxQN0wlV8zTqnZIyUqs1ArFFD8DPrcKJNFqpWI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/order.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/order.test (original)<br>
+++ lld/trunk/test/COFF/order.test Sun Jun 28 20:03:53 2015<br>
@@ -4,7 +4,8 @@<br>
 # RUN: rm -f %t2.lib %t3.lib<br>
 # RUN: llvm-ar cru %t2.lib %t2.obj<br>
 # RUN: llvm-ar cru %t3.lib %t3.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t1.obj %t2.lib %t3.obj %t3.lib /verbose >& %t.log<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main \<br>
+# RUN:   %t1.obj %t2.lib %t3.obj %t3.lib /verbose >& %t.log<br>
 # RUN: FileCheck %s < %t.log<br>
<br>
 CHECK: order.test.tmp1.obj<br>
<br>
Modified: lld/trunk/test/COFF/out.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_out.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=m5IWtyj3zMlAVP8lcpVdPsuAR6GwR4hIVb4rbx4lGsU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/out.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/out.test (original)<br>
+++ lld/trunk/test/COFF/out.test Sun Jun 28 20:03:53 2015<br>
@@ -5,9 +5,9 @@<br>
 # RUN: cp %t.obj %T/out/tmp/out2<br>
 # RUN: cp %t.obj %T/out/tmp/out3.xyz<br>
<br>
-# RUN: lld -flavor link2 %T/out/out1.obj<br>
-# RUN: lld -flavor link2 %T/out/tmp/out2<br>
-# RUN: lld -flavor link2 %T/out/tmp/out3.xyz<br>
+# RUN: lld -flavor link2 /entry:main %T/out/out1.obj<br>
+# RUN: lld -flavor link2 /entry:main %T/out/tmp/out2<br>
+# RUN: lld -flavor link2 /entry:main %T/out/tmp/out3.xyz<br>
<br>
 # RUN: llvm-readobj out1.exe | FileCheck %s<br>
 # RUN: llvm-readobj out2.exe | FileCheck %s<br>
<br>
Modified: lld/trunk/test/COFF/resource.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_resource.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=PwG1LdhOozlIjxs_lwg-AlVtzPqNQHKG_8MFfGAfo6k&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/resource.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/resource.test (original)<br>
+++ lld/trunk/test/COFF/resource.test Sun Jun 28 20:03:53 2015<br>
@@ -1,7 +1,7 @@<br>
 # REQUIRES: winres<br>
<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj %p/Inputs/resource.res<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj %p/Inputs/resource.res<br>
<br>
 # Check if the binary contains UTF-16LE string "Hello" copied from resource.res.<br>
 # RUN: FileCheck --check-prefix=EXE %s < %t.exe<br>
<br>
Modified: lld/trunk/test/COFF/responsefile.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_responsefile.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=gsRZOwAccUDzvmoqRsR9EkL04wc9yshMtMGI5WD6WF0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/responsefile.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/responsefile.test (original)<br>
+++ lld/trunk/test/COFF/responsefile.test Sun Jun 28 20:03:53 2015<br>
@@ -1,6 +1,6 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: echo /out:%t.exe %t.obj > %t.rsp<br>
+# RUN: echo /out:%t.exe /entry:main %t.obj > %t.rsp<br>
 # RUN: lld -flavor link2 @%t.rsp /heap:0x3000<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck %s<br>
<br>
<br>
Modified: lld/trunk/test/COFF/stack.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_stack.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=ILgBYoIL6NILjKlW0q8Td4CfzSVKdbR9mcMPVKRCC0o&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/stack.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/stack.test (original)<br>
+++ lld/trunk/test/COFF/stack.test Sun Jun 28 20:03:53 2015<br>
@@ -1,24 +1,24 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s<br>
<br>
 DEFAULT: SizeOfStackReserve: 1048576<br>
 DEFAULT: SizeOfStackCommit: 4096<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /stack:0x3000<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /stack:0x3000<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s<br>
 # RUN: echo "STACKSIZE 12288" > %t.def<br>
-# RUN: lld -flavor link2 /out:%t.exe /def:%t.def %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /def:%t.def %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s<br>
<br>
 CHECK1: SizeOfStackReserve: 12288<br>
 CHECK1: SizeOfStackCommit: 4096<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /stack:0x5000,0x3000<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /stack:0x5000,0x3000<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s<br>
 # RUN: echo "STACKSIZE 20480,12288" > %t.def<br>
-# RUN: lld -flavor link2 /out:%t.exe /def:%t.def %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main /def:%t.def %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s<br>
<br>
 CHECK2: SizeOfStackReserve: 20480<br>
<br>
Modified: lld/trunk/test/COFF/subsystem-inference.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_subsystem-2Dinference.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=QbrFVyGTYvCCUxAqb1lVfHXA9AnLI2InGAGNoV-ez1Q&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/subsystem-inference.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/subsystem-inference.test (original)<br>
+++ lld/trunk/test/COFF/subsystem-inference.test Sun Jun 28 20:03:53 2015<br>
@@ -1,16 +1,16 @@<br>
-# RUN: sed -e s/ENTRYNAME/mainCRTStartup/ %s | yaml2obj > %t.obj<br>
+# RUN: sed -e s/ENTRYNAME/main/ %s | yaml2obj > %t.obj<br>
 # RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=MAIN %s<br>
<br>
-# RUN: sed s/ENTRYNAME/wmainCRTStartup/ %s | yaml2obj > %t.obj<br>
+# RUN: sed s/ENTRYNAME/wmain/ %s | yaml2obj > %t.obj<br>
 # RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=WMAIN %s<br>
<br>
-# RUN: sed s/ENTRYNAME/WinMainCRTStartup/ %s | yaml2obj > %t.obj<br>
+# RUN: sed s/ENTRYNAME/WinMain/ %s | yaml2obj > %t.obj<br>
 # RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=WINMAIN %s<br>
<br>
-# RUN: sed s/ENTRYNAME/wWinMainCRTStartup/ %s | yaml2obj > %t.obj<br>
+# RUN: sed s/ENTRYNAME/wWinMain/ %s | yaml2obj > %t.obj<br>
 # RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=WWINMAIN %s<br>
<br>
@@ -45,6 +45,30 @@ symbols:<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            mainCRTStartup<br>
+    Value:           0<br>
+    SectionNumber:   1<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            wmainCRTStartup<br>
+    Value:           0<br>
+    SectionNumber:   1<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            WinMainCRTStartup<br>
+    Value:           0<br>
+    SectionNumber:   1<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
+    ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
+    StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
+  - Name:            wWinMainCRTStartup<br>
+    Value:           0<br>
+    SectionNumber:   1<br>
+    SimpleType:      IMAGE_SYM_TYPE_NULL<br>
     ComplexType:     IMAGE_SYM_DTYPE_NULL<br>
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
 ...<br>
<br>
Modified: lld/trunk/test/COFF/unwind.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_unwind.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=PjiSL1svbywM4JILqXCdmCwOcC4CCRwh9XnMeI4ay0Y&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/unwind.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/unwind.test (original)<br>
+++ lld/trunk/test/COFF/unwind.test Sun Jun 28 20:03:53 2015<br>
@@ -1,6 +1,6 @@<br>
 # RUN: yaml2obj < %s > %t.obj<br>
 #<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=HEADER %s<br>
 # RUN: llvm-objdump -unwind-info %t.exe | FileCheck -check-prefix=UNWIND %s<br>
 #<br>
@@ -183,7 +183,7 @@ symbols:<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION<br>
     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL<br>
-  - Name:            mainCRTStartup<br>
+  - Name:            main<br>
     Value:           0<br>
     SectionNumber:   1<br>
     SimpleType:      IMAGE_SYM_TYPE_NULL<br>
<br>
Modified: lld/trunk/test/COFF/version.test<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_lld_trunk_test_COFF_version.test-3Frev-3D240922-26r1-3D240921-26r2-3D240922-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=63IcvLNa90uDO5NUbEFWJR8GaE6ZpnrVNSqIo19DOss&s=QIXNtrVmoVUlkAa_4pRbw1aVZT4VD2fAflmzDDORa4U&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/lld/trunk/test/COFF/version.test?rev=240922&r1=240921&r2=240922&view=diff</a><br>
==============================================================================<br>
--- lld/trunk/test/COFF/version.test (original)<br>
+++ lld/trunk/test/COFF/version.test Sun Jun 28 20:03:53 2015<br>
@@ -1,18 +1,18 @@<br>
 # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s<br>
<br>
 DEFAULT: MajorImageVersion: 0<br>
 DEFAULT: MinorImageVersion: 0<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /version:11<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /version:11<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s<br>
<br>
 CHECK1: MajorImageVersion: 11<br>
 CHECK1: MinorImageVersion: 0<br>
<br>
-# RUN: lld -flavor link2 /out:%t.exe %t.obj /version:11.22<br>
+# RUN: lld -flavor link2 /out:%t.exe /entry:main %t.obj /version:11.22<br>
 # RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s<br>
<br>
 CHECK2: MajorImageVersion: 11<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div></div></div></div>
</blockquote></div><br></div>