- Aug 03, 2013
-
-
Rui Ueyama authored
Thanks to Hans' patch (r187675), OptTable now handles "--", so we don't need this code in LLD. llvm-svn: 187683
-
Rui Ueyama authored
The aim of this patch is to reduce the dependency from COFFDefinedAtom to COFF structs defined in llvm/Object/COFF.h. Currently many attributes of the atom are computed in the atom. That provide a simple interface but does not work well in some cases. There are some cases that the same type atom is created from different parts of a COFF file. One example is the BSS atom, which can be created from the defined symbol in the .bss section or from the undefined symbol. Computing attributes from different sources in the atom complicates the code. We should compute it outside the atom. In the next patch, I'll move more code from Atoms.h to ReaderCOFF.cpp. llvm-svn: 187681
-
- Aug 02, 2013
-
-
Rui Ueyama authored
Summary: The .drectve section contains linker command line options, and the linker is expected to interpret them as if they were given via the command line. In this patch, the command line parser in the driver is called from the object file reader to parse the string. I think this patch is important, because this is the first step towards mutable TargetInfo. We had a discussion about that on llvm-commits mailing list before. I haven't removed "const" from the function signature yet. Instead, I just use cast to remove "const". This is a temporary aid for an experiment. If we don't see any issue with this mutable TargetInfo appraoch, I'll change the function signature, and rename the class LinkerContext from TargetInfo. Reviewers: kledzik CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1246 llvm-svn: 187677
-
Rui Ueyama authored
For an invalid input we should not call report_fatal_error(), because when LLD is used as a library, we don't want to kill the whole app because of a malformed input. llvm-svn: 187673
-
Rui Ueyama authored
llvm-svn: 187670
-
Rui Ueyama authored
llvm-svn: 187665
-
Rui Ueyama authored
Patch by Ron Ofir. llvm-svn: 187664
-
Rui Ueyama authored
llvm-svn: 187645
-
Rui Ueyama authored
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
-
- Aug 01, 2013
-
-
Hans Wennborg authored
It is not needed after LLVM r187546. llvm-svn: 187551
-
Rui Ueyama authored
llvm-svn: 187548
-
Rui Ueyama authored
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
-
Hans Wennborg authored
This depends on LLVM r187537. The SUPPORT_ALIASARGS macro will be removed once all option parsing clients have been updated. llvm-svn: 187541
-
Rui Ueyama authored
llvm-svn: 187539
-
Rui Ueyama authored
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
-
- Jul 31, 2013
-
-
Rui Ueyama authored
llvm-svn: 187505
-
Rui Ueyama authored
llvm-svn: 187484
-
Rui Ueyama authored
llvm-svn: 187461
-
Rui Ueyama authored
llvm-svn: 187460
-
- Jul 30, 2013
-
-
Rui Ueyama authored
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
-
Rui Ueyama authored
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
-
Rui Ueyama authored
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
-
- Jul 29, 2013
-
-
Rui Ueyama authored
llvm-svn: 187382
-
Rui Ueyama authored
llvm-svn: 187381
-
- Jul 28, 2013
-
-
Rui Ueyama authored
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
-
Rui Ueyama authored
llvm-svn: 187317
-
- Jul 27, 2013
-
-
Rui Ueyama authored
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
-
Rui Ueyama authored
Patch by Ron Ofir. llvm-svn: 187262
-
Rui Ueyama authored
llvm-svn: 187259
-
Rui Ueyama authored
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
-
- Jul 26, 2013
-
-
Rui Ueyama authored
llvm-svn: 187243
-
Rui Ueyama authored
Based on Ron Ofir's patch. llvm-svn: 187221
-
Rui Ueyama authored
Patch by Ron Ofir. llvm-svn: 187220
-
Rui Ueyama authored
Patch by Ron Ofir. llvm-svn: 187219
-
Rui Ueyama authored
llvm-svn: 187215
-
Rui Ueyama authored
llvm-svn: 187214
-
Rui Ueyama authored
llvm-svn: 187211
-
Rui Ueyama authored
llvm-svn: 187177
-
Rui Ueyama authored
llvm-svn: 187162
-
Rui Ueyama authored
llvm-svn: 187161
-