| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 196200
|
|
|
|
| |
llvm-svn: 196196
|
|
|
|
| |
llvm-svn: 196185
|
|
|
|
| |
llvm-svn: 196092
|
|
|
|
| |
llvm-svn: 196056
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
|
| |
The current mapping for /section one character options is really bogus.
Map to the correct flags.
llvm-svn: 195774
|
|
|
|
|
|
| |
Comment from Rui Ueyema.
llvm-svn: 195598
|
|
|
|
| |
llvm-svn: 195597
|
|
|
|
|
|
| |
This is needed before any of the search paths are searched for.
llvm-svn: 195596
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
No change in functionality.
llvm-svn: 195582
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This is the first step towards DLL creation support. Resource-only DLLs
don't have entry point address.
llvm-svn: 195510
|
|
|
|
| |
llvm-svn: 195393
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 195289
|
|
|
|
| |
llvm-svn: 195284
|
|
|
|
| |
llvm-svn: 195282
|
|
|
|
| |
llvm-svn: 195281
|
|
|
|
|
|
|
| |
So that the LLD won't print error message saying that it couldn't find
/implib or /safeseh files.
llvm-svn: 195276
|
|
|
|
| |
llvm-svn: 195105
|
|
|
|
|
|
| |
Also slightly reduces PECOFFLinkingContext's memory footprint (~128B).
llvm-svn: 194787
|
|
|
|
| |
llvm-svn: 194757
|
|
|
|
| |
llvm-svn: 194641
|
|
|
|
| |
llvm-svn: 194556
|
|
|
|
|
|
| |
This reverts commit r194551 because it broke the buildbot.
llvm-svn: 194552
|
|
|
|
| |
llvm-svn: 194551
|
|
|
|
| |
llvm-svn: 194545
|
|
|
|
|
|
| |
no functionality change.
llvm-svn: 194360
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 194130
|
|
|
|
|
|
|
|
| |
/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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Errors in .drectve section were silently ignored. This patch fixes the issue.
llvm-svn: 194110
|
|
|
|
| |
llvm-svn: 194089
|
|
|
|
| |
llvm-svn: 194037
|
|
|
|
|
|
| |
It was never transporting any value in addition to the error_code.
llvm-svn: 194028
|
|
|
|
| |
llvm-svn: 193885
|
|
|
|
| |
llvm-svn: 193883
|
|
|
|
| |
llvm-svn: 193797
|
|
|
|
| |
llvm-svn: 193712
|
|
|
|
| |
llvm-svn: 193646
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable this for the following flavors
a) core
b) gnu
c) darwin
Its disabled for the flavor PECOFF. Convenient markers are added with FIXME
comments in the Driver that would be removed and code removed from each flavor.
llvm-svn: 193585
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
intended for debugging and diagnostic output), just inspect the spelling
to check for specific prefixes in drectve section flags.
In addition to being significantly cheaper and not relying on
a debugging interface, this also avoids creating a temporary string and
binding it to StringRef variable. We then went on to access it after the
memory had been deallocated.
This bug too was caught by ASan. I love ASan so much. =]
llvm-svn: 193487
|
|
|
|
|
|
|
|
| |
/merge:<from>=<to> option makes the linker to combine "from" section to "to"
section. This patch is to parse the option. The actual feature will be
implemented in a subsequent patch.
llvm-svn: 193454
|