<div dir="ltr"><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><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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=CUuLn40v_8PHZfa4gb-IA1cDQzTkzpv2FpUkEadHY_A&e=">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><div><br></div><div>-- Sean Silva</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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=knJpUqQbM4zeUyNdnpbQCVOSDbkKTwIJiQQjIuvLS50&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=1PQt-sO4yPUpUd7o5OJh2zgzray996HeU1UJc5UmLts&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=D9KFjVc0tRmM8y3Tz4Tiw7CWPIsHncSbR63oojmev1U&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=yLecmRlGRycUg0tK8s4KAwsWxTt2waPcav3_NnUz9dY&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=E_1Ojf24-Bn8YabFb4SOqeN2X2C6IOHV3G_Dr5PNorM&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=emaZR8iIFdSnzJmbPRam-I0X7exoFyeM_of_ifdezMw&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=YF9qYA-8Kg640W59C-cD4jm4wHN0XZrLFOaSM8v1_9k&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=TajoOuExcOn9Jlbvpn32O4yTD4hrpMsxQURUZZLewd0&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=1-XQ_J5_97vhWWh0YxyVmOf7QhC0mAJmzqwB4WYc0i8&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=pZNXadflucmDlmUQkavTxTJ_ZV1R1AQ6eCeQ6fAm2Lg&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=Y85gluX_c3OHCx2trDTrFK86ekTEtcH8F5HMFtD2b-w&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=Btu1qvLc_uNgPt0UrFQT2nqvMtoFkHCrYwGtPPOIjBs&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=g1pv-77p9WjhMJsnaOaT5YhzI_mTxKpgpBb4bHwPEU0&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=rp_sSHHdnq0S2M160YvjZc1pwrHDSTWZwFn-v4agJ9Y&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=pi5zP9dLWiQgSUBr-XHLlF1W-0okqFwC9S22BiWFXeE&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: 2147483648<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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=7s68oQLmZ-1NjsvoFhj8UzKdAkZhBrlJ-7NSxT_0NJw&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=1a7Fs2F0Gpd51iLqjeui3kb_usXp6ltvg_-KbcaLzxs&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=UXNeZY8w1mKoV5G8q_T-2lTDol47thVRjr5ByI2-Ud8&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=Q0qFQsGzzb3gL7JMHgtZ3xPnYJQcyd6St2gTa63Km1s&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=vxi8flPG3JnjXIHdFdJEl90fFqHqlK5ZUXR_3vadnMo&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=Vv-s4jHloSxLujkz39jUhM-Mgu-dZDMI7MWpRPKDaeM&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=-hCv7IkPUX6jaMBHB3_V3emi5u57hBXFtatWTt7TYRo&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=rkg0LewBfFQO8VhT1EdQ_IbcEJOkbXqXiZGGUAsi4Gk&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=bvZHw0FyclJ-XuTZ9I1ShWz2fnmVnB6J87LDSx1CNAU&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=FaJFtHw_G5ctUBgOGOnFoGi_JOxInPnQRhs5jYiWTL0&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=PDhZQlcLb3q4VmtPeKFTjwN7_SRcDeJ4-hzCAb2n2MU&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=wxVaauaCbZVzLgHhevLY8m4zuZpnBKKgQwYr2O9L1wY&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=24kR49YueJfMq1Hkmc6rIPOyLmd2mNmoj9N8TEs3CGM&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=ZPejoJVSLKk7yI8zERZVn5tbyipCjjfMDhrc_ti8cgY&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=oTDWSWRXrxAZycczWJX0DNb-9kEGfkyHCC9aLg1pB8o&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=qZSPl6ftXOaY4fItYh4UtMhVGSmQBJHX_GmWr0xYlkg&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=EIyhqNhipjkgOM8LFFbb77bHi7RQ5ok-8aG_t-lTvkE&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=pZdYx4gwmeJWJiShy2iok96UmzkAdxEyo4x3PMjcnuo&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=2kz81akhyaVGDvBZs1K0qH5R4ncrooL3bukh46vGca4&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=u3b9rCy1wSVvcmv_21FdIUnxdSVO65DgNTt0ThZMvx0&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=D2W9S0H3_cM4MsivXKxzAzIce__PbJ_2jOSp55S-I04&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=AQOJLBs3kWu7kYzNNXSTpISxn2lt18e6sHnOhrEHD6g&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=WC2DVUBp9hsdJ3rVfppIsn-CjVwPl8pp7yd50fucPz0&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=AHR7awxAIXFljlgLIColr9tn89xK1IICxU2f7Xu0sOg&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=ux4Eh8QY9H2QykrfefTaG4NxHkOuxgOMnPpX1iXbiGQ&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=MOGmfKGYd0RAjHJGbia1lmXVXHmM1a2AXaTyTEo0bxE&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=WrV9SE3GOnY3L0sDV_-h0-xzEFhg3eDbWdD_pw4Inj8&s=GnfzqasOzVuQkF_J1hMc94sk1o8ecvdJpLhGI5fajr4&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">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>