- Nov 15, 2013
-
-
Rui Ueyama authored
We can add multiple undefined atoms having the same name to the symbol table. If such atoms are added, the symbol table compares their canBeNull attributes, and select one having a stronger constraint. If their canBeNulls are the same, the choice is arbitrary. Currently it choose the existing one. This patch changes the preference, so that the symbol table choose the new one if the new atom has a greater canBeNull or a fallback atom. This shouldn't change the behavior except the case described below. A new undefined atom may have a new fallback atom attribute. By choosing the new atom, we can update the fallback atom during Core Linking. PE/COFF actually need that. For example, _lseek is an alias for __lseek on Windows. One of an object file in OLDNAMES.LIB has an undefined atom for _lseek with the fallback to __lseek. When the linker tries to resolve _read, it supposed to read the file from OLDNAMES.LIB and use the new fallback from the file. Currently LLD cannot handle such case because duplicate undefined atoms with the same attributes are ignored. Differential Revision: http://llvm-reviews.chandlerc.com/D2161 llvm-svn: 194777
-
Rui Ueyama authored
llvm-svn: 194776
-
Rui Ueyama authored
llvm-svn: 194768
-
Rui Ueyama authored
llvm-svn: 194757
-
Rui Ueyama authored
llvm-svn: 194754
-
Rui Ueyama authored
llvm-svn: 194746
-
- Nov 14, 2013
-
-
Rui Ueyama authored
Writing arguments after the redirection of input ("< somefile") seems a bit strange. Changes the order. llvm-svn: 194727
-
Rui Ueyama authored
llvm-svn: 194723
-
Rui Ueyama authored
llvm-svn: 194722
-
Rui Ueyama authored
llvm-svn: 194721
-
Rui Ueyama authored
llvm-svn: 194677
-
Rui Ueyama authored
llvm-svn: 194675
-
Rui Ueyama authored
llvm-svn: 194671
-
Rui Ueyama authored
llvm-svn: 194668
-
Rui Ueyama authored
YAML files tend to be very large compared to binary formats because of ASCII format inefficiency. And the YAML reader consumes an excessively large amount of memory when parsing a large file. It's very slow too. For example, I observed that 6MB executable became 120MB YAML file, and the YAML reader consumed more than 1.5GB memory to load it. The YAML reader even caused OOM error on 32 bit, causing the entire process to fail. This patch sets the limit on the YAML file size the linker will try to load in the RoundTripYAML test as a safeguard. llvm-svn: 194666
-
Michael J. Spencer authored
llvm-svn: 194643
-
Michael J. Spencer authored
This dependency needs to be cleaned up at some point. .directve handling needs the link.exe option parser. llvm-svn: 194642
-
Michael J. Spencer authored
llvm-svn: 194641
-
Rui Ueyama authored
llvm-svn: 194624
-
Rui Ueyama authored
llvm-svn: 194620
-
Rui Ueyama authored
llvm-svn: 194619
-
- Nov 13, 2013
-
-
Rui Ueyama authored
No functionality change. llvm-svn: 194560
-
Rui Ueyama authored
llvm-svn: 194556
-
Rui Ueyama authored
This reverts commit r194551 because it broke the buildbot. llvm-svn: 194552
-
Rui Ueyama authored
llvm-svn: 194551
-
Rui Ueyama authored
llvm-svn: 194550
-
Rui Ueyama authored
llvm-svn: 194545
-
Rui Ueyama authored
llvm-svn: 194539
-
- Nov 12, 2013
-
-
Rui Ueyama authored
llvm-svn: 194492
-
Alp Toker authored
llvm-svn: 194481
-
- Nov 11, 2013
-
-
Rui Ueyama authored
llvm-svn: 194364
-
Shankar Easwaran authored
no functionality change. llvm-svn: 194360
-
Shankar Easwaran authored
llvm-svn: 194359
-
- Nov 10, 2013
-
-
Rui Ueyama authored
The result of sizeof(SymbolTable<ELFT>::SymbolEntry) in DynamicSymbolTable <ELFT>::write() was different from the same expression in RelocationTable <ELFT>::write(), although the same template parameters were passed. They were 40 and 32, respectively. As a result, the same vector was treated as a vector of 40 byte values in some places and a vector of 32 values in other places. That caused an weird issue, resulting in collapse of the rela.dyn section. I suspect that this is a padding size calculation bug in MSVC 2012, but I may be wrong. Reordering the fields to eliminate padding seems to fix the issue. llvm-svn: 194349
-
- Nov 09, 2013
-
-
Rui Ueyama authored
llvm-svn: 194322
-
Nick Kledzik authored
llvm-svn: 194305
-
Nick Kledzik authored
llvm-svn: 194299
-
Nick Kledzik authored
llvm-svn: 194292
-
Nick Kledzik authored
llvm-svn: 194290
-
- Nov 08, 2013
-
-
Nick Kledzik authored
llvm-svn: 194280
-