- Oct 07, 2013
-
-
Shankar Easwaran authored
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
-
- 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
-
- 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
-
- 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
-
- Jan 31, 2013
-
-
Michael J. Spencer authored
llvm-svn: 174107
-
- Jan 22, 2013
-
-
Michael J. Spencer authored
No functionality change. llvm-svn: 173192
-
- Jan 15, 2013
-
-
Nick Kledzik authored
constants and string literals which the linker should coalesce. llvm-svn: 172495
-
- Jan 04, 2013
-
-
Michael J. Spencer authored
llvm-svn: 171531
-
Michael J. Spencer authored
llvm-svn: 171528
-
- Jun 01, 2012
-
-
Nick Kledzik authored
now Reader and Writer subclasses for each file format. Each Reader and Writer subclass defines an "options" class which controls how that Reader or Writer operates. llvm-svn: 157774
-
- Apr 20, 2012
-
-
Nick Kledzik authored
Add SharedLibraryFile and ArchiveLibraryFile subclasses of File. Add command line options to lld-core to set various ResolverOptions settings and added lots of test cases to verify the options work. llvm-svn: 155183
-
- Apr 18, 2012
-
-
Nick Kledzik authored
class. Change Resolver to no longer use Platform. Core linking now issues errors directly. We need to factor that out later. Rework how Darwin executable writer finds "main" atom. It now adds to core linking an Atom which has a Reference to "main". llvm-svn: 155060
-
- Apr 03, 2012
-
-
Michael J. Spencer authored
llvm-svn: 153964
-
Michael J. Spencer authored
types into the lld namespace. llvm-svn: 153963
-
Michael J. Spencer authored
llvm-svn: 153912
-
- Mar 29, 2012
-
-
Michael J. Spencer authored
llvm-svn: 153677
-
- Mar 28, 2012
-
-
Michael J. Spencer authored
Also fix some Platform.h includes that somehow got missed last time. llvm-svn: 153590
-
- Feb 22, 2012
-
-
Nick Kledzik authored
shared library) and AbsoluteAtoms (proxy atoms for absolute address (e.g. ROM)). Redesign weak importing as can-be-null-at-runtime and can-be-null-at-build-time. Add lots of test cases for all the above. llvm-svn: 151204
-
- Feb 15, 2012
-
-
Nick Kledzik authored
llvm-svn: 150547
-
Nick Kledzik authored
llvm-svn: 150539
-
- Jan 11, 2012
-
-
Nick Kledzik authored
A couple of big refactorings: 1) Move most attributes of Atom down to DefinedAtom, so only atoms representing definitions need to implement them. 2) Remove definitionTentative, definitionWeak, mergeDuplicates, and autoHide. Replace with merge and interposable attributes. 3) Make all methods on Atom be virtual so that future object file readers can lazily generated attributes llvm-svn: 147903
-
- Jan 09, 2012
-
-
Nick Kledzik authored
llvm-svn: 147799
-
- Jan 05, 2012
-
-
Nick Kledzik authored
llvm-svn: 147571
-
- Dec 22, 2011
-
-
Nick Kledzik authored
llvm-svn: 147130
-
- Dec 20, 2011
-
-
Nick Kledzik authored
llvm-svn: 146958
-
- Dec 18, 2011
-
-
Michael J. Spencer authored
llvm-svn: 146844
-