| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch inverts the return value of these functions, so that they return
"true" on success and "false" on failure. The meaning of boolean return value
was mixed in LLD; for example, InputGraph::validate() returns true on success.
With this patch they'll become consistent.
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1748
llvm-svn: 191341
|
|
|
|
| |
llvm-svn: 191207
|
|
|
|
|
|
|
|
|
|
| |
This adds an option --output-filetype that can be set to either
YAML/Native(case insensitive). The linker would create the outputs
associated with the type specified by the user.
Changes all the tests to use the new option.
llvm-svn: 191183
|
|
|
|
|
|
|
|
| |
Cleanup structure members that are not being used.
Also clang-format it.
llvm-svn: 191038
|
|
|
|
|
|
|
|
|
| |
This also makes it support debugging executables built with lld.
Initial patch done by Bigcheese. This is only a revised patch to
have the functionality in the Writer.
llvm-svn: 191032
|
|
|
|
|
|
|
|
|
| |
This sets the sectionChoice property for DefinedAtoms. The output section name
is derived by the property of the atom. This also decreases native file size.
Adds a test.
llvm-svn: 190840
|
|
|
|
| |
llvm-svn: 190758
|
|
|
|
| |
llvm-svn: 190753
|
|
|
|
|
|
| |
NetBSD need it.
llvm-svn: 190752
|
|
|
|
|
|
|
|
|
|
|
|
| |
This handles multiple weak symbols which appear back to back. This fix is needed
which otherwise will lead to symbols getting initialized to arbitrary values.
There was a constructor/destructor test that really triggered this to be fixed
on X86_64.
Adds a test.
llvm-svn: 190658
|
|
|
|
|
|
| |
The first section in the output was not aligned to the alignment of the section.
llvm-svn: 190610
|
|
|
|
|
|
|
| |
This associates rodata and sections which just have the SHF_ALLOC flag
to be set to typeConstant.
llvm-svn: 190609
|
|
|
|
| |
llvm-svn: 190302
|
|
|
|
|
|
| |
reference. Move readFile logic into FileNode::createLinkerInput.
llvm-svn: 190253
|
|
|
|
|
|
|
| |
Writable note sections if they exist should not appear before text
they belong in the data segment
llvm-svn: 190024
|
|
|
|
|
|
|
|
|
|
| |
It looks like there is a possibility of seeing RO/RW note sections
and we would need to create an appropriate RO/RW segment associated
with them.
Adds a test too.
llvm-svn: 189907
|
|
|
|
|
|
|
|
| |
Emit note sections if the input contains a note section.
Also emit a note segment.
llvm-svn: 189896
|
|
|
|
| |
llvm-svn: 189890
|
|
|
|
| |
llvm-svn: 189876
|
|
|
|
| |
llvm-svn: 189874
|
|
|
|
| |
llvm-svn: 189873
|
|
|
|
|
|
| |
This adds init/fini support for Hexagon.
llvm-svn: 189872
|
|
|
|
|
|
|
|
|
|
| |
This changes the interface of createLinkerInput to use ErrorOr, so that
errors from the linker can be captured.
Also adds a convenience function for error strings to be returned from
file nodes.
llvm-svn: 189871
|
|
|
|
| |
llvm-svn: 189847
|
|
|
|
| |
llvm-svn: 189826
|
|
|
|
|
|
| |
dependencies should remain weak, not get promoted to undef or dropped.
llvm-svn: 189793
|
|
|
|
|
|
|
|
| |
This creates .init_array/.fini_array section for X86_64 ELF
targets and executes init/fini functions specified by the
-init/-fini options respectively.
llvm-svn: 189719
|
|
|
|
|
|
|
|
|
|
|
|
| |
available in YAML
This adds an API to the LinkingContext for flavors to add Internal files
containing atoms that need to appear in the YAML output as well, when -emit-yaml
switch is used.
Flavors can add more internal files for other options that are needed.
llvm-svn: 189718
|
|
|
|
|
|
|
| |
This should have been done in r187823 when I renamed LinkingContext
from TargetInfo. I missed a few files.
llvm-svn: 189298
|
|
|
|
|
|
|
|
|
|
| |
The cleanup includes :-
* Rename ambiguous Header class to ELFHeader
* Convert Chunk contentype and kind to be a enumerated class
* Remove functions that are not being used, avoids future confusion
llvm-svn: 189209
|
|
|
|
|
|
|
|
| |
This change processes fini_array section in addition to processing
init_array sections. This also makes functions registered at compile
time for initialization and finalization to be run during execution
llvm-svn: 189196
|
|
|
|
|
|
|
|
| |
There may be relocations that may be pointing to the section
even if the section sizes are 0. We shouldnot ignore them
for that regard.
llvm-svn: 189139
|
|
|
|
|
|
|
| |
There is no change in functionality, this uses the defined way to access
the relocation section that belongs to a particular section.
llvm-svn: 189138
|
|
|
|
|
|
|
|
|
|
|
| |
typeTLV content type is used by Darwin to represent thread local
storage. A new contentType has to be made to represent ELF
thread local storage data. These have been set to
- typeThreadZeroFill (represents TBSS storage)
- typeThreadData (represents TDATA storage)
llvm-svn: 189137
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BSS atoms dont take any file space in the Input file. They are associated
with a contentType(typeZeroFill). Similiar zero fill types also exist which
have the same meaning in terms of occupying file space in the Input.
These atoms have to be handled seperately when writing to the
lld's intermediate file or the lld test infrastructure.
Also adds a test.
llvm-svn: 189136
|
|
|
|
| |
llvm-svn: 188981
|
|
|
|
| |
llvm-svn: 188965
|
|
|
|
| |
llvm-svn: 188958
|
|
|
|
| |
llvm-svn: 188021
|
|
|
|
|
|
|
|
|
| |
Also change some local variable names: "ti" -> "context" and
"_targetInfo" -> "_context".
Differential Revision: http://llvm-reviews.chandlerc.com/D1301
llvm-svn: 187823
|
|
|
|
|
|
|
|
|
|
| |
This renames variable name to reflect initial undefined symbols that are
defined by the linker -u option.
This doesnot change any functionality in lld, and updates code to reflect
Nick's comment.
llvm-svn: 184682
|
|
|
|
| |
llvm-svn: 184589
|
|
|
|
| |
llvm-svn: 184266
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds functionality to add more sections like .gcc_except_table,
.data.rel.local, .data.rel.ro into the default section map, so that they are
all merged into appropriate output sections.
This also makes c++ static binaries comparable to what you get with the default
linker.
Adds a test for testing the functionality.
llvm-svn: 184071
|
|
|
|
|
|
|
|
|
|
|
|
| |
non-ELF writers.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D977
llvm-svn: 184061
|
|
|
|
| |
llvm-svn: 184058
|
|
|
|
| |
llvm-svn: 184055
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Architecture specific code should reside in architecture specific directory
not in Atom. Looks like there are no efforts being made at this moment to
support ARM, so let's remove it for now.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D959
llvm-svn: 183877
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: shankarke
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D961
llvm-svn: 183850
|
|
|
|
|
|
| |
Segfaults.
llvm-svn: 183817
|