- Dec 04, 2013
-
-
Rui Ueyama authored
If /functionpadmin is specified, the linker is supposed to make room at the beginning of each function, so that self-modifying program would easily hotpatch existing functions. Since I'm not sure if this feature is really used, I'll make LLD to ignore the option for now. llvm-svn: 196363
-
- Dec 03, 2013
-
-
Rui Ueyama authored
llvm-svn: 196200
-
Rui Ueyama authored
llvm-svn: 196196
-
Rui Ueyama authored
llvm-svn: 196185
-
- Dec 02, 2013
-
-
Rui Ueyama authored
llvm-svn: 196092
-
Alp Toker authored
llvm-svn: 196056
-
- Dec 01, 2013
-
-
Rui Ueyama authored
/DEBUG option is to make the linker to emit debug information to the resulting executable. It's not for enable debugging of the linker itself. llvm-svn: 196040
-
- Nov 27, 2013
-
-
Rui Ueyama authored
/MERGE option is a bit complicated for many reasons. Firstly, it takes both positive and negative arguments. That means we have to have one of three distinctive values (set, clear or unchange) for each permission bit. In this patch we represent the three values using two bitmasks. Secondly, the permissions specified by the parameter is bitwise or-ed with the default permissions of a section. There is an exception for that rule; if one of READ, WRITE or EXECUTE bit is specified, unspecified bits need to be cleared. (So if you specify only WRITE for example, the resulting section will not have WRITE nor EXECUTE bits.) Lastly, multiple /merge options are allowed. llvm-svn: 195882
-
- Nov 26, 2013
-
-
Rui Ueyama authored
The current mapping for /section one character options is really bogus. Map to the correct flags. llvm-svn: 195774
-
- Nov 25, 2013
-
-
Shankar Easwaran authored
Comment from Rui Ueyema. llvm-svn: 195598
-
Shankar Easwaran authored
llvm-svn: 195597
-
Shankar Easwaran authored
This is needed before any of the search paths are searched for. llvm-svn: 195596
-
Shankar Easwaran authored
Looks like -L paths are not positional. They need to be added to a list of search paths and those needs to be searched when lld looks for a library. llvm-svn: 195594
-
Shankar Easwaran authored
This adds LinkerScript support by creating a type Script which is of type FileNode in the InputGraph. Once the LinkerScript Parser converts the LinkerScript into a sequence of command, the commands are handled by the equivalent LinkerScript node for the current Flavor/Target. For ELF, a ELFGNULdScript gets created which converts the commands to ELF nodes and ELF control nodes(ELFGroup for handling Group nodes). Since the Inputfile type has to be determined in the Driver, the Driver needs to determine the complete path of the file that needs to be processed by the Linker. Due to this, few tests have been removed since the Driver uses paths that doesnot exist. llvm-svn: 195583
-
- Nov 24, 2013
-
-
Shankar Easwaran authored
No change in functionality. llvm-svn: 195582
-
- Nov 23, 2013
-
-
Shankar Easwaran authored
Hidden nodes could be a result of expansion, where a flavor might decide to keep the node that we want to expand but discard it from being processed by the resolver. Verifies with unittests. llvm-svn: 195516
-
- Nov 22, 2013
-
-
Rui Ueyama authored
This is the first step towards DLL creation support. Resource-only DLLs don't have entry point address. llvm-svn: 195510
-
Rui Ueyama authored
llvm-svn: 195393
-
- Nov 21, 2013
-
-
Rui Ueyama authored
It's allowed to specify library files *before* object files in the command line. Object files seems to be processed first, and then their undefined symbols are resolved from the libraries. This patch implements the compatible behavior. llvm-svn: 195295
-
Rui Ueyama authored
llvm-svn: 195289
-
Rui Ueyama authored
llvm-svn: 195284
-
Rui Ueyama authored
llvm-svn: 195282
-
Rui Ueyama authored
llvm-svn: 195281
-
- Nov 20, 2013
-
-
Rui Ueyama authored
So that the LLD won't print error message saying that it couldn't find /implib or /safeseh files. llvm-svn: 195276
-
- Nov 19, 2013
-
-
Rui Ueyama authored
llvm-svn: 195105
-
- Nov 15, 2013
-
-
Rui Ueyama authored
Also slightly reduces PECOFFLinkingContext's memory footprint (~128B). llvm-svn: 194787
-
Rui Ueyama authored
llvm-svn: 194757
-
- Nov 14, 2013
-
-
Michael J. Spencer authored
llvm-svn: 194641
-
- Nov 13, 2013
-
-
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
-
- Nov 11, 2013
-
-
Shankar Easwaran authored
no functionality change. llvm-svn: 194360
-
- Nov 06, 2013
-
-
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
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
-