<div dir="ltr">Ok, I was looking at the wrong error. I think the root causes is that lib.exe is not being found. Filipe should have more info in r239937.<div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 15, 2015 at 3:46 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">Thanks for the info. We've been a bit swamped internally this week but we will try to dig into this based on your hint.<span class="HOEnZb"><font color="#888888"><div><br></div><div>-- Sean Silva</div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 13, 2015 at 8:22 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><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><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><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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=-m5FGJSL1v-fXMm-2puRlxiScYs3BBXzUkO1_grR6bk&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><font color="#888888"><div><br></div><div>-- Sean Silva</div></font></span><div><div><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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=TlWD1K2Aj0bMU_Q1S6Vaky8JMIWiBwRFs2pwbSwLvxg&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=1KmOMkxkORrbYxbNpL_D9dyBvECvn5STJSYBb82zfvw&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=bf9QwPzBIvoD39fQAb4z4Z0q3Pc7_e0OsiGaJbrTVOM&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=1lgguLpwJ6alqSgbFStGfgVGhBrO8awZ1R0UzkA4eL8&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=NgV0pvyRBqSF6sOwO2kOpOnlkRvy9x7thbG3UxlNcwk&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=v6Lq0wp1w3h5E3r3EdcCqqLQv3oCsQMzU_T7V4wsNRY&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=W8RYYBwFkl5d_L50anBJahcC6_a8P-AFBHcUeKFNju8&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=bhvAduc5cy23e089DIWUuTHvkA-8jkELaLsmgwHKEB8&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=MHjP4hOvAUtsIQN7FFmtn9F2_pg3_fTXFFvvus4jyoM&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=-zO_ecKLSo3hCNet7U4ZJPZVvb014wwmJJBK1ztoSZ8&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=AV2iBcfsnhJA8CJZRgJ9ldYyGTZIgWhHzlPYta3H7KU&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=hvASkMpvauOxeKbxYOM5W-QaYuSEYf8xG7kRBuwnyUM&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=TzSwdAMXcrVuesqB-BJs-R0f4t39nPMg25eUAMvvgVk&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=bZihtLInaPs0y_tBR-DKxxEM3DL6iidj9YwNAyzAIkI&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=CX43s05NwLqKxJDWTExy9H0m6ogb-EPVE3N5T5Q6Ns0&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=T6Gkb4mP9MjyfznebYYcFzFa4MgIJ43TOm7VAAbdxDw&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=aIXvj7ddIvd4ng3T8gRfGDZLV8RKFHoh1GtZHR7WB1o&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=O7sXcpIlG-GAJGuLGJcn0WtL7wxwxdHaiIsFYkyP0gI&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=plv8P21Xj2VtL1hRY0u7ipzK-P84711W5_JOy0J6pBs&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=8gPqoDyF7vylnsJkV-pOsHRkCvxV_EHX_xLjy9L-zxs&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=AJfCXy5LCgxIhz1tSeYBEaVTZc-4wd5v588AHSwwdFc&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=n9omkPXt0-xlmPxsO2vDHOZXrtA1dK4nZchbvSWio9w&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=NdrJByfmj8hBD3GX3rBdRFwYhMEcwhctviZLNt-VX9o&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=tbSEgR6JEjo2_PxHEJdI5_fJR2snO0XpkOZECRaTR-4&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=bKz95VS2ro37-LduED_SLCp1CPv0CneRLXzsqH5p3AM&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=dpO7m_ZtlzUIuqW1w8szKpDumUvUOSTF5FC2ZW6PxuM&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=ZJWoJU72h4ZSzL2uFWVkZvzmaPJ6Rr2uHQuf6WDTq3c&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=FVVLiIaV2QVLh1ok72tzvgfGsrV-N-HfOXp_nA-We-s&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=3qWGYOjkRxIL5U5YKX4NzgeK1KUN4uOcPI9uBUDsmS8&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=do5lAkRLrUKwmsE_MKfR_3GMIPA0ANS9ut6hP1Y3F_E&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=btyvQQQ1C_uFTn2Rd5rKPwaGVODl6NpFZnAfpXsQBuk&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=loyTfbMdA2zFalgM8kioApe_pyf7QlStella7Qsr9LA&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=vjWZglDIHTlEj6S4bKtmBAxB_JGkGOzYPAGjJUnNk8o&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=WJWjs1cvCvk2j6wVFGbmlcn4SLQUVmjF9Lve7BOOlI4&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=hdTt59sc3zx6DGrrZ1kHGxaksqDtw_LfVMromjpjvJs&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=oSRGrl8qwWTj8jPgjdX3LiMELcTVIv3GUaxNbsWexKM&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=y9HYwSdkxCFy7V6pxgzW2s-ZO-k_smSET3Qsd6Zzjsk&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=WT814A1CY91xuEgI90JSa0xI2yUgnJhTpBhE0gH5oRw&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=7iQvJYuvgl6WednQs-i-Qc1efjgZ-K6yE0Tb5vvAxto&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=5zJYObZEJ_Fr-QPgUpEQxpCxeDC143rXxnlnuyqDci0&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=5j9-ucHfQk0PgUNbfnTPSyasJ0RFXLcKIgJ3NuRA3Qw&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=Ub8ZuGpi2GPpGfdacAEW2d5ikW48klpnORtqU_rnst4&s=79QC-OUjmbhJM4kDLngBbngVYrzy3bExnPvVwE58jzg&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>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>