- Jun 18, 2015
-
-
Rui Ueyama authored
Previously, LLD couldn't find a default entry point if it's defined by a library. llvm-svn: 239982
-
- Jun 13, 2015
-
-
Rafael Espindola authored
llvm-svn: 239671
-
- Jun 12, 2015
-
-
Davide Italiano authored
llvm-svn: 239641
-
- Jun 09, 2015
-
-
Rui Ueyama authored
llvm-svn: 239418
-
- Jun 08, 2015
-
-
Rui Ueyama authored
llvm-svn: 239289
-
- Jun 06, 2015
-
-
Peter Collingbourne authored
Differential Revision: http://reviews.llvm.org/D10285 llvm-svn: 239212
-
- Jun 03, 2015
-
-
Rui Ueyama authored
llvm-svn: 238901
-
- Jun 01, 2015
-
-
Peter Collingbourne authored
This implementation is known to work in very simple cases (see new test case). Differential Revision: http://reviews.llvm.org/D10115 llvm-svn: 238777
-
Rui Ueyama authored
Previously, this feature was implemented using a special type of undefined symbol, in addition to an intricate way to make the resolver read a virtual file containing that renaming symbols. Now the feature is directly handled by the symbol table. The symbol table has a function, rename(), to rename symbols, whose definition is 4 lines long. Symbol renaming is naturally modeled using Symbol and SymbolBody. llvm-svn: 238696
-
- May 31, 2015
-
-
Rui Ueyama authored
It does not involve notions of virtual archives or virtual files, nor store a list of undefined symbols somewhere else to consume them later. We did that before. In this patch, undefined symbols are just added to the symbol table, which now can be done in very few lines of code. llvm-svn: 238681
-
Rui Ueyama authored
Previously the main linker routine is just a non-member function. We store some context information to the Config object. This patch makes it belong to Driver. llvm-svn: 238677
-
Rui Ueyama authored
`main` is not the only main function in Windows. You can choose one from these four -- {w,}{WinMain,main}. There are four different entry point functions for them, {w,}{WinMain,main}CRTStartup, respectively. The linker needs to choose the right one depending on which `main` function is defined. llvm-svn: 238667
-
- May 29, 2015
-
-
Peter Collingbourne authored
The new mechanism is less code, and fixes the case where all inputs are archives. Differential Revision: http://reviews.llvm.org/D10136 llvm-svn: 238618
-
- May 28, 2015
-
-
Rui Ueyama authored
This is an initial patch for a section-based COFF linker. The patch has 2300 lines of code including comments and blank lines. Before diving into details, you want to start from reading README because it should give you an overview of the design. All important things are written in the README file, so I write summary here. - The linker is already able to self-link on Windows. - It's significantly faster than the existing implementation. The existing one takes 5 seconds to link LLD on my machine, while the new one only takes 1.2 seconds, even though the new one is not multi-threaded yet. (And a proof-of-concept multi- threaded version was able to link it in 0.5 seconds.) - It uses much less memory (250MB vs. 2GB virtual memory space to self-host). - IMHO the new code is much simpler and easier to read than the existing PE/COFF port. http://reviews.llvm.org/D10036 llvm-svn: 238458
-