summaryrefslogtreecommitdiffstats
path: root/lld/lib/Driver/WinLinkDriver.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* [PECOFF] Suppress startup message of background processes.Rui Ueyama2013-10-291-0/+1
| | | | llvm-svn: 193646
* Rather than rendering an argument to a std::string (which is primarilyChandler Carruth2013-10-271-1/+1
| | | | | | | | | | | | | | intended for debugging and diagnostic output), just inspect the spelling to check for specific prefixes in drectve section flags. In addition to being significantly cheaper and not relying on a debugging interface, this also avoids creating a temporary string and binding it to StringRef variable. We then went on to access it after the memory had been deallocated. This bug too was caught by ASan. I love ASan so much. =] llvm-svn: 193487
* [PECOFF] Parse /merge command line option.Rui Ueyama2013-10-261-0/+14
| | | | | | | | /merge:<from>=<to> option makes the linker to combine "from" section to "to" section. This patch is to parse the option. The actual feature will be implemented in a subsequent patch. llvm-svn: 193454
* [PECOFF] Fix use-after-return.Rui Ueyama2013-10-251-1/+1
| | | | llvm-svn: 193446
* [PECOFF] Fix XML output bug.Rui Ueyama2013-10-251-1/+1
| | | | | | | We really need a test for the manifest file output, but because it depends on external commands (CVTRES.EXE and RC.EXE), it's not very easy to write it. llvm-svn: 193445
* [PECOFF] Do not create a temporary std::string.Rui Ueyama2013-10-251-12/+10
| | | | llvm-svn: 193444
* Make sure the string is NUL-terminated.Rui Ueyama2013-10-251-2/+2
| | | | | | | | The internal byte array of the SmallString filled by createTemporaryFile() is not guaranteed to be NUL-terminated. We need to call c_str() to handle it safely. llvm-svn: 193442
* [PECOFF] Fix doublequote escaping.Rui Ueyama2013-10-251-4/+3
| | | | llvm-svn: 193424
* [PECOFF] Output error message to diagnostics.Rui Ueyama2013-10-251-1/+1
| | | | llvm-svn: 193387
* Concatenate strings at compile time.Rui Ueyama2013-10-251-14/+16
| | | | llvm-svn: 193384
* [PECOFF] Fix spelling in manifest XML.Rui Ueyama2013-10-241-2/+2
| | | | llvm-svn: 193375
* [PECOFF] Support embedding resource file into executable.Rui Ueyama2013-10-241-22/+168
| | | | | | | | | | | | Instead of making the linker to create a manifest XML file in the same directory as the resulting binary, you can embed the XML as a part of resource into the executable. In order to do that, the linker first creates a resource script file containing the XML file, compile it into a binary resource file with RC.EXE, and then convert it to a COFF file with CVTRES.EXE. llvm-svn: 193298
* [PECOFF] Emit the side-by-side manifest file.Rui Ueyama2013-10-221-0/+46
| | | | llvm-svn: 193207
* [PECOFF] Add /manifestdependency command line option.Rui Ueyama2013-10-221-0/+8
| | | | llvm-svn: 193201
* [PECOFF] Add /manifestfile command line option.Rui Ueyama2013-10-221-0/+12
| | | | | | | | /manifestfile:<path> specifies an alternative manifest file output path. Default is "<output-path>.manifest" where <output-path> is the executable's path. llvm-svn: 193195
* Factor out into a separate function. No functionality change.Rui Ueyama2013-10-221-4/+9
| | | | llvm-svn: 193186
* [PECOFF] /manifestuac option is case insensitive.Rui Ueyama2013-10-221-3/+10
| | | | llvm-svn: 193173
* [PECOFF] Fix /manifestuac handling.Rui Ueyama2013-10-221-10/+7
| | | | | | uiAccess argument's type is not really boolean. It's string. llvm-svn: 193171
* Fix typo in variable nameAlp Toker2013-10-221-4/+4
| | | | llvm-svn: 193155
* [PECOFF] Add /manifestuac command line option.Rui Ueyama2013-10-221-0/+48
| | | | | | This option is used for the manifest file too. llvm-svn: 193145
* [PECOFF] Better error handling for /manifest.Rui Ueyama2013-10-221-10/+8
| | | | llvm-svn: 193143
* [PECOFF] Return false on error. No functionality change.Rui Ueyama2013-10-221-11/+11
| | | | llvm-svn: 193142
* [PECOFF] Parse /manifest command line option.Rui Ueyama2013-10-221-0/+44
| | | | | | | | | | The manifest file is an XML file that conveys some information to the loader, such as whether the executable needs to run as Administrator or not. This patch is to parse command line option for manifest file. Actual XML file generation will be done in a separate patch. llvm-svn: 193141
* Revert "Initialize some members where they are declared."Rui Ueyama2013-10-211-2/+0
| | | | | | | Because MSVC11 doesn't like this new C++11 feature. The last commit broke the buildbot. llvm-svn: 193127
* Initialize some members where they are declared. No functionality change.Rui Ueyama2013-10-211-0/+2
| | | | llvm-svn: 193122
* Simplify WinLinkDriver. No functionality change.Rui Ueyama2013-10-191-10/+5
| | | | llvm-svn: 193030
* Make undefines check into an assertion.Rui Ueyama2013-10-161-3/+8
| | | | | | | | | Dead-strip root symbols can be undefined atoms, but should not really be nonexistent, because dead-strip root symbols should be added to initial undefined atoms at startup. Whenever you look up its name in the symbol table, some type of atom will always exist. llvm-svn: 192831
* Fix a bug that the empty string could be added to dead strip root.Rui Ueyama2013-10-161-1/+2
| | | | llvm-svn: 192772
* [PECOFF] Add files appear in .drectve to input graphRui Ueyama2013-10-101-15/+27
| | | | | | | | -- so that command line options to specify new input files, such as /defaultlib:foo, is handled properly. Such options were ignored before this patch. llvm-svn: 192342
* Rename path() -> getPath().Rui Ueyama2013-10-081-3/+3
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1853 llvm-svn: 192167
* [lld][InputGraph] Change the Resolver to use inputGraphShankar Easwaran2013-10-071-6/+1
| | | | | | | | | | | | Changes :- a) Functionality in InputGraph to insert Input elements at any position b) Functionality in the Resolver to use nextFile c) Move the functionality of assigning file ordinals to InputGraph d) Changes all inputs to MemoryBuffers e) Remove LinkerInput, InputFiles, ReaderArchive llvm-svn: 192081
* [PECOFF] Enable input file logging if /debug is given.Rui Ueyama2013-09-261-0/+3
| | | | llvm-svn: 191469
* Make Driver::link and LinkingContext::validate return true on success.Rui Ueyama2013-09-241-16/+16
| | | | | | | | | | | | | This patch inverts the return value of these functions, so that they return "true" on success and "false" on failure. The meaning of boolean return value was mixed in LLD; for example, InputGraph::validate() returns true on success. With this patch they'll become consistent. CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1748 llvm-svn: 191341
* [PECOFF] Add /swaprun:{cd,net} options.Rui Ueyama2013-09-241-0/+12
| | | | llvm-svn: 191276
* Expand auto to improve code readability.Rui Ueyama2013-09-241-1/+1
| | | | llvm-svn: 191272
* [PECOFF] Use macro for the repeating pattern of the Driver code.Rui Ueyama2013-09-241-41/+19
| | | | llvm-svn: 191271
* [PECOFF] Remove redundant comments.Rui Ueyama2013-09-241-23/+12
| | | | llvm-svn: 191270
* [PECOFF] Ignore /debug option.Rui Ueyama2013-09-241-0/+6
| | | | llvm-svn: 191268
* [PECOFF] Add /nodefaultlib command line option.Rui Ueyama2013-09-241-7/+24
| | | | llvm-svn: 191254
* [PECOFF] Add /allowisolation command line option.Rui Ueyama2013-09-231-0/+10
| | | | llvm-svn: 191227
* [PECOFF] Add /allowbind command line option.Rui Ueyama2013-09-231-0/+10
| | | | llvm-svn: 191224
* [PECOFF] Simplify WinLinkOptions.td.Rui Ueyama2013-09-231-3/+3
| | | | llvm-svn: 191223
* [PECOFF] Add /align command line option.Rui Ueyama2013-09-231-0/+10
| | | | llvm-svn: 191218
* Whitespace and extra parentheses.Rui Ueyama2013-09-231-1/+1
| | | | llvm-svn: 191217
* [lld][WinLink] Fix typoRon Ofir2013-09-201-2/+2
| | | | llvm-svn: 191079
* Remove extraneous parentheses.Rui Ueyama2013-09-201-1/+1
| | | | llvm-svn: 191061
* [PECOFF][Driver] Support /version command line optionRui Ueyama2013-09-191-9/+24
| | | | llvm-svn: 190986
* Revert "[PECOFF] Allocate storage for .drective in the reader ..."Rui Ueyama2013-09-131-4/+4
| | | | | | This reverts r189881 because that patch caused dangling StringRefs. llvm-svn: 190725
* [PECOFF] Add a field for machine type to PECOFFLinkingContext.Rui Ueyama2013-09-121-4/+14
| | | | | | | | | So that we can determine what the target architecture is. Adding this field does not mean that we are going to support non-i386 architectures soon; there are many things to do to support them, and I'm focusing on i386 now. But this is the first step toward multi architecture support. llvm-svn: 190627
* Remove hard-coded leading underscore from entry symbol.Rui Ueyama2013-09-121-3/+3
| | | | llvm-svn: 190586
OpenPOWER on IntegriCloud