- Sep 12, 2013
-
-
Rui Ueyama authored
In COFF, an undefined symbol can have up to one alternative name. If a symbol is resolved by its regular name, then it's linked normally. If a symbol is not found in any input files, all references to the regular name are resolved using the alternative name. If the alternative name is not found, it's a link error. This mechanism is called "weak externals". To support this mechanism, I added a new member function fallback() to undefined atom. If an undefined atom has the second name, fallback() returns a new undefined atom that should be used instead of the original one to resolve undefines. If it does not have the second name, the function returns nullptr. Differential Revision: http://llvm-reviews.chandlerc.com/D1550 llvm-svn: 190625
-
- Sep 08, 2013
-
-
Joerg Sonnenberger authored
attribute in LinkerInput to isWholeArchive and use that for deciding whether library archives should be expanded. Implement the -all_load option of the Darwin linker using this flag and drop the support for it in GNU mode. llvm-svn: 190275
-
- Sep 07, 2013
-
-
Joerg Sonnenberger authored
reference. Move readFile logic into FileNode::createLinkerInput. llvm-svn: 190253
-
- Sep 04, 2013
-
-
Shankar Easwaran authored
It looks like there is a possibility of seeing RO/RW note sections and we would need to create an appropriate RO/RW segment associated with them. Adds a test too. llvm-svn: 189907
-
Shankar Easwaran authored
Emit note sections if the input contains a note section. Also emit a note segment. llvm-svn: 189896
-
- Sep 03, 2013
-
-
Rui Ueyama authored
llvm-svn: 189775
-
- Aug 31, 2013
-
-
Shankar Easwaran authored
This adds an API to the LinkingContext for flavors to add Internal files containing atoms that need to appear in the YAML output as well, when -emit-yaml switch is used. Flavors can add more internal files for other options that are needed. llvm-svn: 189718
-
- Aug 28, 2013
-
-
Rui Ueyama authored
llvm-svn: 189413
-
- Aug 23, 2013
-
-
Shankar Easwaran authored
typeTLV content type is used by Darwin to represent thread local storage. A new contentType has to be made to represent ELF thread local storage data. These have been set to - typeThreadZeroFill (represents TBSS storage) - typeThreadData (represents TDATA storage) llvm-svn: 189137
-
- Aug 09, 2013
-
-
Rui Ueyama authored
llvm-svn: 188049
-
- Aug 07, 2013
-
-
Rui Ueyama authored
Also change some local variable names: "ti" -> "context" and "_targetInfo" -> "_context". Differential Revision: http://llvm-reviews.chandlerc.com/D1301 llvm-svn: 187823
-
- Jul 24, 2013
-
-
Nick Kledzik authored
llvm-svn: 186996
-
- Jul 11, 2013
-
-
Rui Ueyama authored
This patch adds a new pass, IdataPass, to transform shared atom references to real references and to construct the .idata section data. With this patch lld can produce a working Hello World program by linking it against kernel32.dll and user32.dll. Reviewers: Bigcheese CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1096 llvm-svn: 186071
-
- Jun 21, 2013
-
-
Rui Ueyama authored
llvm-svn: 184589
-
- Jun 11, 2013
-
-
Rafael Espindola authored
The yaml reader is not specific to any file format. This patch moves it to TargetInfo and makes validate a non virtual interface so that it can be constructed from a single location. The same method will be used to create a reader for llvm bitcode files. llvm-svn: 183740
-
- May 28, 2013
-
-
Michael J. Spencer authored
llvm-svn: 182789
-
- May 09, 2013
-
-
Rui Ueyama authored
llvm-svn: 181503
-
Rui Ueyama authored
llvm-svn: 181492
-
- May 08, 2013
-
-
Nick Kledzik authored
llvm-svn: 181473
-
- Apr 24, 2013
-
-
Michael J. Spencer authored
Patch by Rui Ueyama. llvm-svn: 180209
-
- Apr 11, 2013
-
-
Shankar Easwaran authored
to the list of undefined atoms. The processing of undefined atoms from dynamic libraries is controlled by use-shlib-undefines command line option. This patch also adds additional command line arguments to allow/disallow unresolved symbols from shared libraries and mimics GNU ld behavior. llvm-svn: 179257
-
- Apr 06, 2013
-
-
Michael J. Spencer authored
llvm-svn: 178940
-
Michael J. Spencer authored
llvm-svn: 178918
-
- Apr 05, 2013
-
-
Michael J. Spencer authored
llvm-svn: 178914
-
Michael J. Spencer authored
llvm-svn: 178913
-
- Apr 04, 2013
-
-
Nick Kledzik authored
The major changes are: 1) LinkerOptions has been merged into TargetInfo 2) LinkerInvocation has been merged into Driver 3) Drivers no longer convert arguments into an intermediate (core) argument list, but instead create a TargetInfo object and call setter methods on it. This is only how in-process linking would work. That is, you can programmatically set up a TargetInfo object which controls the linking. 4) Lots of tweaks to test suite to work with driver changes 5) Add the DarwinDriver 6) I heavily doxygen commented TargetInfo.h Things to do after this patch is committed: a) Consider renaming TargetInfo, given its new roll. b) Consider pulling the list of input files out of TargetInfo. This will enable in-process clients to create one TargetInfo the re-use it with different input file lists. c) Work out a way for Drivers to format the warnings and error done in core linking. llvm-svn: 178776
-
- Mar 20, 2013
-
-
Michael J. Spencer authored
ArrayRef<uint8_t>::equals(); lowers to a byte compare loop :(. TODO: Figure out if we are getting hash collisions, or just have a lot of equal content. Also test if crypto hashing the content instead of full compare is better. llvm-svn: 177588
-
- Mar 14, 2013
-
-
Shankar Easwaran authored
llvm-svn: 177079
-
- Mar 01, 2013
-
-
Michael J. Spencer authored
llvm-svn: 176309
-
- Feb 24, 2013
-
-
Shankar Easwaran authored
llvm-svn: 175983
-
- Feb 22, 2013
-
-
Shankar Easwaran authored
llvm-svn: 175901
-
- Feb 03, 2013
-
-
Michael J. Spencer authored
llvm-svn: 174277
-
- Jan 31, 2013
-
-
Michael J. Spencer authored
llvm-svn: 174107
-
- Jan 23, 2013
-
-
Nick Kledzik authored
llvm-svn: 173300
-
Michael J. Spencer authored
It owns and manages passes. llvm-svn: 173287
-
- Jan 22, 2013
-
-
Michael J. Spencer authored
No functionality change. llvm-svn: 173192
-
Michael J. Spencer authored
llvm-svn: 173117
-
- Jan 15, 2013
-
-
Nick Kledzik authored
constants and string literals which the linker should coalesce. llvm-svn: 172495
-
- Jan 09, 2013
-
-
Nick Kledzik authored
Since most content types (e.g. typeCode) have a preferred Permission, add a function to do that mapping. Then hook up to YAML Reader and Writer such that the 'permissions:' key does not need to be specified unless overriding what the content type prefers. llvm-svn: 171929
-
Nick Kledzik authored
llvm-svn: 171916
-