summaryrefslogtreecommitdiffstats
path: root/lld/lib/Driver
Commit message (Collapse)AuthorAgeFilesLines
...
* [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
* Revert "r193300 - [PassManager] add ReaderWriter{Native, YAML} to the Driver"Rui Ueyama2013-10-241-10/+2
| | | | | | | The patch have completely broken COFF port and disabled many tests. This also reverts r193302 (comment fix). llvm-svn: 193362
* [Driver] Change UniversalDriver to use TD file.Shankar Easwaran2013-10-243-32/+97
| | | | | | | | Easier to add new options such as -version, and easy to parse. Now displays a help message with -help llvm-svn: 193301
* [PassManager] add ReaderWriter{Native,YAML} to the Driver.Shankar Easwaran2013-10-241-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable tests to be run with REQUIRES: disable. Note disable is not added to the config by the test runner Mkaefiles, so essentially disables the test. Code changes would be required to fix these tests :- test/darwin/hello-world.objtxt test/elf/check.test test/elf/phdr.test test/elf/ppc.test test/elf/undef-from-main-dso.test test/elf/X86_64/note-sections-ro_plus_rw.test test/pecoff/alignment.test test/pecoff/base-reloc.test test/pecoff/bss-section.test test/pecoff/drectve.test test/pecoff/dynamic.test test/pecoff/dynamicbase.test test/pecoff/entry.test test/pecoff/hello.test test/pecoff/imagebase.test test/pecoff/importlib.test test/pecoff/lib.test test/pecoff/multi.test test/pecoff/reloc.test test/pecoff/weak-external.test llvm-svn: 193300
* [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-222-0/+10
| | | | llvm-svn: 193201
* [PECOFF] Add /manifestfile command line option.Rui Ueyama2013-10-222-0/+13
| | | | | | | | /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-222-0/+48
| | | | | | | | | | 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
* [cleanup] Remove single-statement if blocksShankar Easwaran2013-10-141-4/+2
| | | | llvm-svn: 192614
* Prune unused local variable.Rui Ueyama2013-10-111-3/+1
| | | | llvm-svn: 192509
* [ELF] Add alias options for start-group/end-group options.Shankar Easwaran2013-10-111-0/+4
| | | | | | | | | | | | | There are aliases for --start-group/--end-group options represented by -( and -) respectively in the command line. This change adds and improves the test for the alias options to be tested. Looks like users use this option widely than explicitly using --start-group/--end-group. llvm-svn: 192470
* Simplify unique_ptr instantiation. No functionality change.Rui Ueyama2013-10-111-4/+3
| | | | llvm-svn: 192427
* Remove excessive allowRemainingUndefines() check.Rui Ueyama2013-10-111-4/+2
| | | | | | | | | allowRemainingUndefines() is already checked in Resolver::resolve(), so we don't need to check it again after returning from it. It's actually not only superfluous but buggy because a failure of resolve() does not always mean that there is a remaining undefines. llvm-svn: 192423
* Return true from Resolver::resolve() on success.Rui Ueyama2013-10-111-1/+1
| | | | llvm-svn: 192422
* Replace a recursive tail call with an infinite loop.Rui Ueyama2013-10-111-16/+19
| | | | | | This eliminates _elements's size check from the loop. llvm-svn: 192418
* [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
* Do not process .objtxt file twice.Rui Ueyama2013-10-091-2/+5
| | | | | | | | | A file with .objtxt extension is parsed in readFile(), but because we did not propagate that information to the calling side, calling side would try to parse it again. This patch will fix the issue by adding an extra parameter to readFile(). llvm-svn: 192311
* [Layout] Assign ordinals in Resolution order.Shankar Easwaran2013-10-092-30/+0
| | | | llvm-svn: 192277
* [inputGraph] Associate Resolve state with appropriate nodesShankar Easwaran2013-10-092-4/+69
| | | | | | | | | | This associates resolveState to FileNodes. The control node derive their resolution state from the inputElements that are contained in it. This makes --start-group/--end-group to work with ELF linking. llvm-svn: 192269
* Update error classes from all lowercase to camel case.Rui Ueyama2013-10-091-1/+1
| | | | llvm-svn: 192261
* Fix flaky elf/X86_64/dynlib-search.test.Rui Ueyama2013-10-081-3/+18
| | | | | | | | | Output to llvm::err() is not guaranteed to be thread-safe, so it needs to be guarded with a lock. Differential Revision: http://llvm-reviews.chandlerc.com/D1862 llvm-svn: 192250
* Use size_t for array index.Rui Ueyama2013-10-081-2/+2
| | | | llvm-svn: 192249
* [LinkingContext] make LinkingContext non-constShankar Easwaran2013-10-081-1/+1
| | | | llvm-svn: 192183
* Move duplicate code in InputGraphs to the parent class.Rui Ueyama2013-10-081-0/+29
| | | | llvm-svn: 192170
* Rename GnuLd's path() too.Rui Ueyama2013-10-081-1/+1
| | | | llvm-svn: 192169
* 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-077-92/+108
| | | | | | | | | | | | 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
* [mach-o] Add support for -mllvm to darwin driverNick Kledzik2013-09-281-0/+7
| | | | llvm-svn: 191594
* [mach-o] switch to use llvm::MachO:: constantsNick Kledzik2013-09-271-8/+8
| | | | | | Stop using some locally defined mach-o constants. llvm-svn: 191581
* [PECOFF] Enable input file logging if /debug is given.Rui Ueyama2013-09-261-0/+3
| | | | llvm-svn: 191469
OpenPOWER on IntegriCloud