Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [PECOFF] Relocations now take into account the address which is stored at ↵ | Rui Ueyama | 2013-08-02 | 1 | -0/+2 | |
| | | | | | | | | the relocation site Patch by Ron Ofir. llvm-svn: 187664 | |||||
* | [PECOFF] A symbol with symbol with section number 0 and non-zero value ↵ | Rui Ueyama | 2013-08-02 | 1 | -0/+14 | |
| | | | | | | represents a BSS atom. llvm-svn: 187645 | |||||
* | [PECOFF] Simplify COFFBSSAtom. | Rui Ueyama | 2013-08-02 | 2 | -5/+6 | |
| | | | | | | | A instance of the class always represents a BSS atom, so we don't need to look at the symbol or the section to retrieve its attributes. llvm-svn: 187643 | |||||
* | Remove the SUPPORT_ALIASARGS define | Hans Wennborg | 2013-08-01 | 4 | -8/+0 | |
| | | | | | | It is not needed after LLVM r187546. llvm-svn: 187551 | |||||
* | Use StringRef::equals_lower(). No functionality change. | Rui Ueyama | 2013-07-31 | 1 | -2/+2 | |
| | | | | llvm-svn: 187548 | |||||
* | [PECOFF][Driver] Prefer "/" over "-" as the indicator of the option. | Rui Ueyama | 2013-07-31 | 1 | -12/+9 | |
| | | | | | | | | This patch does not change the behavior of LLD, but changes the output of the help text. We want to show the help text with Windows style indicator rather than Unix style indicator. llvm-svn: 187544 | |||||
* | Option parsing tables: pick up AliasArgs from the OPTION macro. | Hans Wennborg | 2013-07-31 | 4 | -12/+24 | |
| | | | | | | | | | This depends on LLVM r187537. The SUPPORT_ALIASARGS macro will be removed once all option parsing clients have been updated. llvm-svn: 187541 | |||||
* | [PECOFF][Driver] Rewrite the tablegen def file using multiclass to remove ↵ | Rui Ueyama | 2013-07-31 | 1 | -49/+35 | |
| | | | | | | duplicates. llvm-svn: 187539 | |||||
* | Revert "[PECOFF][Driver] Remove quotes from command line arguments." | Rui Ueyama | 2013-07-31 | 1 | -21/+12 | |
| | | | | | | | | | | | | | | | This reverts commit r187390 because we should not handle argv's quotes ourselves. In Windows, unlike Unix, quotes are not processed by the shell. Instead the C startup routine parses it as described in http://msdn.microsoft.com/en-us/library/a1y7w461.aspx and pass the results to main(). So, at the time when the control reaches main(), quotes that should be removed has already been removed. We still need to handle quotes in the response file and in .drectve section ourselves. That will be addressed in different patches. llvm-svn: 187534 | |||||
* | [PECOFF] Add a comment about .bss section. | Rui Ueyama | 2013-07-31 | 1 | -0/+9 | |
| | | | | llvm-svn: 187505 | |||||
* | [PECOFF] Add a comment on the idata section fragments. | Rui Ueyama | 2013-07-31 | 1 | -0/+19 | |
| | | | | llvm-svn: 187484 | |||||
* | Fix comment. | Rui Ueyama | 2013-07-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 187461 | |||||
* | [PECOFF] Emit BSS section. | Rui Ueyama | 2013-07-30 | 2 | -5/+57 | |
| | | | | llvm-svn: 187460 | |||||
* | [PECOFF] Split COFFDefinedAtom to add COFFBSSAtom class. | Rui Ueyama | 2013-07-30 | 2 | -22/+56 | |
| | | | | | | | | The BSS atom is similar to the regular defined atom, but it's different in the sense that it does not have contents. Until now we assumed all the defined atoms have its contents. That did not fit well to the BSS atom. llvm-svn: 187453 | |||||
* | [PECOFF][Driver] Remove quotes from command line arguments. | Rui Ueyama | 2013-07-29 | 1 | -12/+21 | |
| | | | | | | | The command line option in .drectve section may be quoted by double quotes, and if that's the case we have to remove them. llvm-svn: 187390 | |||||
* | [PECOFF] Process Import Name/Type field in the import library. | Rui Ueyama | 2013-07-29 | 3 | -40/+91 | |
| | | | | | | | | This patch removes hacky mangle() function, which strips all decorations uncondtitionally. LLD now interprets Import Name/Type field in the import library properly as described in the Microsoft PE/COFF Spec. llvm-svn: 187388 | |||||
* | [PECOFF] Replace the magic number with sizeof(). | Rui Ueyama | 2013-07-29 | 1 | -5/+7 | |
| | | | | llvm-svn: 187382 | |||||
* | Fix test failure introduced in r187271 by enabling pipefail. | Rui Ueyama | 2013-07-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 187381 | |||||
* | [PECOFF] Simplicy FileCOFF ctor. No functionality change. | Rui Ueyama | 2013-07-28 | 1 | -73/+87 | |
| | | | | | | | | | Member functions to read the symbol table had too many parameters to propagate all the temporary information from one to another. By storing the information to data members, we can simplify the function signatures and improve the readability. llvm-svn: 187321 | |||||
* | Removed unnecessary parameter. | Rui Ueyama | 2013-07-28 | 1 | -2/+1 | |
| | | | | llvm-svn: 187317 | |||||
* | [PECOFF] Skip a section if there's no atom in the section. | Rui Ueyama | 2013-07-27 | 1 | -0/+7 | |
| | | | | | | | Some sections, such as with IMAGE_SCN_LNK_REMOVE attribute, is skipped in the first pass. Such sections need to be skipped in the latter passes. llvm-svn: 187281 | |||||
* | [PATCH] [PECOFF] Fill size field of IMAGE_DATA_DIRECTORY | Rui Ueyama | 2013-07-26 | 3 | -5/+13 | |
| | | | | | | Patch by Ron Ofir. llvm-svn: 187262 | |||||
* | [PECOFF][Driver] Add ".lib" extension to the path given with /defaultlib. | Rui Ueyama | 2013-07-26 | 1 | -1/+10 | |
| | | | | llvm-svn: 187259 | |||||
* | [PECOFF][Driver] Add a library file even if it does not exist. | Rui Ueyama | 2013-07-26 | 1 | -8/+8 | |
| | | | | | | | | Missing files will be reported as errors in the later pass, so this patch does not change the behavior of the LLD linker, but it helps writing unit tests for the driver. llvm-svn: 187256 | |||||
* | [PECOFF][Driver] Fix a bug that -mllvm does not take any arguments. | Rui Ueyama | 2013-07-26 | 1 | -1/+1 | |
| | | | | llvm-svn: 187243 | |||||
* | [PECOFF] Don't set IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE if "-fixed" is ↵ | Rui Ueyama | 2013-07-26 | 1 | -1/+2 | |
| | | | | | | | | provided Based on Ron Ofir's patch. llvm-svn: 187221 | |||||
* | [PECOFF] Replace magic number with llvm::COFF::DataDirectoryIndex value | Rui Ueyama | 2013-07-26 | 1 | -1/+2 | |
| | | | | | | Patch by Ron Ofir. llvm-svn: 187220 | |||||
* | [PECOFF] Fixed a bug which caused DataDirectoryChunk to write to a wrong ↵ | Rui Ueyama | 2013-07-26 | 1 | -1/+0 | |
| | | | | | | | | offset in the file buffer Patch by Ron Ofir. llvm-svn: 187219 | |||||
* | Make local variables to start with a lowercase character for consistency ↵ | Rui Ueyama | 2013-07-26 | 1 | -54/+54 | |
| | | | | | | with the LLD coding style. llvm-svn: 187215 | |||||
* | [PECOFF] Simplicy object allocation code. No functionality change. | Rui Ueyama | 2013-07-26 | 2 | -20/+17 | |
| | | | | llvm-svn: 187214 | |||||
* | [PECOFF] Ignore sections with IMAGE_SCN_LNK_REMOVE attribute. | Rui Ueyama | 2013-07-26 | 1 | -0/+5 | |
| | | | | llvm-svn: 187211 | |||||
* | [PECOFF] Create an atom for a symbol whose storage type is ↵ | Rui Ueyama | 2013-07-26 | 2 | -2/+5 | |
| | | | | | | IMAGE_SYM_CLASS_LABEL. llvm-svn: 187177 | |||||
* | [PECOFF][Driver] Add /nologo command line option. | Rui Ueyama | 2013-07-25 | 1 | -0/+3 | |
| | | | | llvm-svn: 187162 | |||||
* | [PECOFF][Driver] Split WinLinkDriver::parse for readability. | Rui Ueyama | 2013-07-25 | 1 | -19/+32 | |
| | | | | llvm-svn: 187161 | |||||
* | [PECOFF][Driver] Allow multiple /include options. | Rui Ueyama | 2013-07-25 | 1 | -2/+5 | |
| | | | | llvm-svn: 187100 | |||||
* | [PECOFF] Add /failifmismatch option. | Rui Ueyama | 2013-07-25 | 2 | -0/+42 | |
| | | | | llvm-svn: 187095 | |||||
* | [PECOFF][Driver] Simplify option definitions. | Rui Ueyama | 2013-07-25 | 1 | -40/+35 | |
| | | | | | | | It's still not as simple as it should be because of the many duplicated lines, but it's at least better than before. llvm-svn: 187091 | |||||
* | [PECOFF] Use Windows style options instead of Unix style as primary options. | Rui Ueyama | 2013-07-24 | 1 | -22/+22 | |
| | | | | | | | LLD still accepts both Unix and Windows style options when it's run as link.exe. This patch does not change functionality. llvm-svn: 187086 | |||||
* | [PECOFF] Add /include command line option. | Rui Ueyama | 2013-07-24 | 3 | -0/+36 | |
| | | | | | | | | | | The /include command line option is equivalent to Unix --undefined option, which forces the linker to resolve the given symbol name as if it's an unresolved symbol in one of its input files. This feature is used to link an additional object file or a shared library that no input files refer to. llvm-svn: 187084 | |||||
* | fix typo in error string | Nick Kledzik | 2013-07-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 186996 | |||||
* | [PECOFF] Support -tsaware:no command line option. | Rui Ueyama | 2013-07-23 | 3 | -3/+14 | |
| | | | | llvm-svn: 186957 | |||||
* | [PECOFF] Support -fixed command line option to disable base relocations. | Rui Ueyama | 2013-07-23 | 3 | -10/+23 | |
| | | | | llvm-svn: 186911 | |||||
* | [PECOFF] Replace magic numbers with offsetof(). | Rui Ueyama | 2013-07-22 | 1 | -4/+6 | |
| | | | | llvm-svn: 186888 | |||||
* | [PECOFF][Driver] Show error message if no input file is given. | Rui Ueyama | 2013-07-22 | 1 | -0/+5 | |
| | | | | llvm-svn: 186882 | |||||
* | Rename ReaderCOFF members to follow the LLD coding style. | Rui Ueyama | 2013-07-22 | 1 | -31/+31 | |
| | | | | llvm-svn: 186843 | |||||
* | [PECOFF] Fix use-after-free. | Rui Ueyama | 2013-07-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 186771 | |||||
* | [mach-o] factor out all cputype <-> arch conversions to one table driven ↵ | Nick Kledzik | 2013-07-20 | 2 | -35/+70 | |
| | | | | | | location llvm-svn: 186755 | |||||
* | [PECOFF][Driver] Add -base command line option. | Rui Ueyama | 2013-07-20 | 3 | -8/+39 | |
| | | | | llvm-svn: 186739 | |||||
* | [PECOFF][Driver] Process "LINK" environment variable. | Rui Ueyama | 2013-07-19 | 1 | -5/+37 | |
| | | | | llvm-svn: 186654 | |||||
* | [PECOFF][Driver] Add -defaultlib command line option. | Rui Ueyama | 2013-07-19 | 2 | -1/+20 | |
| | | | | llvm-svn: 186650 |