- Nov 19, 2013
-
-
Rui Ueyama authored
llvm-svn: 195105
-
Rui Ueyama authored
llvm-svn: 195096
-
Rui Ueyama authored
llvm-svn: 195062
-
- Nov 18, 2013
-
-
Rui Ueyama authored
llvm-svn: 195051
-
Rui Ueyama authored
llvm-svn: 194988
-
Rui Ueyama authored
The maximum number of references the file with NativeReferenceIvarsV1 can contain is 65534. If a file larger than that is converted to Native format, the conversion will fail without any error message. This caused a subtle bug that the LLD would produce a broken executable only when input files contain too many references. This issue exists since the RoundTripNativeTest is introduced in r193585. Since then, it seems that nobody have linked any program having more than 65534 relocations with the LLD. Otherwise we would have found it earlier. llvm-svn: 194987
-
- Nov 17, 2013
-
-
Rui Ueyama authored
llvm-svn: 194982
-
- Nov 16, 2013
-
-
Rui Ueyama authored
No functionality change. llvm-svn: 194914
-
Rui Ueyama authored
llvm-svn: 194913
-
Rui Ueyama authored
llvm-svn: 194911
-
Rui Ueyama authored
llvm-svn: 194909
-
Rui Ueyama authored
llvm-svn: 194908
-
Rui Ueyama authored
end() was evaluated every time through a loop. This patch eliminates it. llvm-svn: 194894
-
Rui Ueyama authored
llvm-svn: 194890
-
Rui Ueyama authored
llvm-svn: 194887
-
Rui Ueyama authored
llvm-svn: 194877
-
- Nov 15, 2013
-
-
Rui Ueyama authored
llvm-svn: 194866
-
Rui Ueyama authored
This patch does not change the meaning of the program, but if something's wrong in the linker or the compiler and the control reaches to the gap of imported function table, it will stop immediately because of the presence of INT3. If NOP, it'd fall through to the next call instruction, which is usually a completely foreign function call. llvm-svn: 194860
-
Rui Ueyama authored
llvm-svn: 194851
-
Rui Ueyama authored
llvm-svn: 194847
-
Rui Ueyama authored
llvm-svn: 194793
-
Rui Ueyama authored
llvm-svn: 194791
-
Rui Ueyama authored
Also slightly reduces PECOFFLinkingContext's memory footprint (~128B). llvm-svn: 194787
-
Rui Ueyama authored
llvm-svn: 194784
-
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
-