- Nov 14, 2013
-
-
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
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: 194545
-
Rui Ueyama authored
llvm-svn: 194539
-
- Nov 12, 2013
-
-
Rui Ueyama authored
llvm-svn: 194492
-
- Nov 11, 2013
-
-
Rui Ueyama authored
llvm-svn: 194364
-
Shankar Easwaran authored
no functionality change. llvm-svn: 194360
-
- 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: 194290
-
- Nov 08, 2013
-
-
Michael J. Spencer authored
llvm-svn: 194278
-
- Nov 06, 2013
-
-
Nick Kledzik authored
llvm-svn: 194177
-
Nick Kledzik authored
llvm-svn: 194172
-
Nick Kledzik authored
llvm-svn: 194171
-
Nick Kledzik authored
This patch adds support for converting normalized mach-o to and from binary mach-o. It also changes WriterMachO (which previously directly wrote a mach-o binary given a set of Atoms) to instead do it in two steps. The first step uses normalizedFromAtoms() to convert Atoms to normalized mach-o, and the second step uses writeBinary() which to generate the mach-o binary file. llvm-svn: 194167
-
Nick Kledzik authored
llvm-svn: 194166
-
Rui Ueyama authored
These fields are for /align option. Section alignment can be set per-section basis with /section option too. In order to avoid name conflicts, rename the existing identifiers to become more specific. No functionality change. llvm-svn: 194160
-
Rui Ueyama authored
/section command line option is to set/reset attributes of the Characteristics field in the section header. You can set non-default values with this option. You can make .data section executable with this, for example. This patch implements the parser of the command line option. The code to use the parsed values will be committed in a separate patch. llvm-svn: 194133
-
Rui Ueyama authored
I'm not sure if it is really an alias for /nodefaultlib, but I can say that they are at least similar. Making it an alias would be better than ignoring it. llvm-svn: 194131
-
Rui Ueyama authored
llvm-svn: 194130
-
Rui Ueyama authored
/defaultlib options can be specified implicitly via the .drectve section, and it's pretty common that multiple object files add the same library, such as user32.lib, to the input. We shouldn't add the same library multiple times. llvm-svn: 194129
-
Rui Ueyama authored
llvm-svn: 194128
-
Rui Ueyama authored
We wrapped the linker internal file with a virtual archive file, so that the linker internal file was linked only when it's actually used. This was to avoid __ImageBase being included to the resulting executable. __ImageBase used to occupy four bytes when emitted to executable. And then it turned out that the implementation of __ImageBase was wrong -- it shouldn't have been a regular atom but an absolute atom. Absolute atoms point to some memory location, but they don't occupy disk space themselves. So it wouldn't increase executable size (except the symbol table.) That means that it's OK to link the linker internal file unconditionally. So this patch does that, removing the wrapper archive file. Doing this simplifies the code. llvm-svn: 194127
-
Rui Ueyama authored
msvcrt.lib contains "/disallowlib" command line option in its .drectve section. I couldn't spot any documentation for the option. Ignore it for now so that we can link the library without error. llvm-svn: 194114
-
Rui Ueyama authored
Errors in .drectve section were silently ignored. This patch fixes the issue. llvm-svn: 194110
-
- Nov 05, 2013
-
-
Rui Ueyama authored
llvm-svn: 194089
-
Rui Ueyama authored
llvm-svn: 194037
-
Rafael Espindola authored
It was never transporting any value in addition to the error_code. llvm-svn: 194028
-