| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
value in place
llvm-svn: 210979
|
|
|
|
| |
llvm-svn: 210975
|
|
|
|
|
|
| |
Further to this, llvm::sys::swapByteOrder() will be added, acting in-place
llvm-svn: 210974
|
|
|
|
| |
llvm-svn: 210919
|
|
|
|
|
|
|
|
| |
This code was never being used and any use of it would look fairly strange.
For example, it would try to map a NativeReaderError::file_malformed to
std::errc::invalid_argument.
llvm-svn: 210913
|
|
|
|
| |
llvm-svn: 210878
|
|
|
|
| |
llvm-svn: 210831
|
|
|
|
| |
llvm-svn: 210820
|
|
|
|
| |
llvm-svn: 210801
|
|
|
|
|
|
| |
This will reduce the noise in a followup patch.
llvm-svn: 210800
|
|
|
|
| |
llvm-svn: 210785
|
|
|
|
| |
llvm-svn: 210781
|
|
|
|
| |
llvm-svn: 210741
|
|
|
|
| |
llvm-svn: 210732
|
|
|
|
| |
llvm-svn: 210730
|
|
|
|
|
|
|
|
| |
Because the files in Core actually depend on these files.
Differential Revision: http://reviews.llvm.org/D4000
llvm-svn: 210710
|
|
|
|
|
|
| |
We have to look for both std::make_error_code as well as our overloads.
llvm-svn: 210704
|
|
|
|
|
|
| |
This is an update for a llvm api change.
llvm-svn: 210689
|
|
|
|
|
|
| |
does not get an entry in the dynamic symbol table.
llvm-svn: 210648
|
|
|
|
| |
llvm-svn: 210629
|
|
|
|
|
|
| |
There is no std::_do_message and these classes override message anyway.
llvm-svn: 210626
|
|
|
|
|
|
|
|
|
| |
The previous commit uncovered a bug in the mach-o writer whereby two __text
sections were created. But the test case did not catch that. So I updated
the test case to run the linker a second time, reading the output of the
first pass.
llvm-svn: 210624
|
|
|
|
| |
llvm-svn: 210621
|
|
|
|
| |
llvm-svn: 210612
|
|
|
|
| |
llvm-svn: 210590
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 210532
|
|
|
|
|
|
| |
No functional changes.
llvm-svn: 210531
|
|
|
|
|
|
| |
is around non-archive.
llvm-svn: 210530
|
|
|
|
|
|
|
| |
In -r mode the sections use the table used to parse .o files. Otherwise
use final exectuable table. No functionality change.
llvm-svn: 210506
|
|
|
|
| |
llvm-svn: 210502
|
|
|
|
| |
llvm-svn: 210461
|
|
|
|
|
|
| |
R_MIPS_TLS_LDM etc.
llvm-svn: 210394
|
|
|
|
|
|
| |
This reverts accidental commit r210240.
llvm-svn: 210243
|
|
|
|
|
|
|
| |
isCoalescedAway(x) is faster than replacement(x) != x as the former
does not follow the replacement atom chain. Also it's easier to use.
llvm-svn: 210242
|
|
|
|
|
|
| |
Rather than outside of the handler function to make the code simple.
llvm-svn: 210241
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
COFF supports a feature similar to ELF's section groups. This
patch implements it.
In ELF, section groups are identified by their names, and they are
treated somewhat differently from regular symbols. In COFF, the
feature is realized in a more straightforward way. A section can
have an annotation saying "if Nth section is linked, link this
section too."
Implementing such feature is easy. We can add a reference from a
target atom to an original atom, so that if the target is linked,
the original atom is also linked. If not linked, both will be
dead-stripped. So they are treated as a group.
I added a new reference type, kindAssociate. It does nothing except
preventing referenced atoms from being dead-stripped.
No change to the Resolver is needed.
Reviewers: Bigcheese, shankarke, atanasyan
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D3946
llvm-svn: 210240
|
|
|
|
|
|
|
|
| |
This provides support for the autoconfing & make build style.
The format, style and implementation follows that used within the llvm and clang projects.
TODO: implement out-of-source documentation builds.
llvm-svn: 210177
|
|
|
|
|
|
|
|
|
|
|
| |
Previously FileArchive ctor comment said that only its subclasses
can be instantiated, but the ctor is actually public and is
instantiated by ArchiveReader.
Remove the wrong comment and reorder the member functions so that
public members appear before private ones.
llvm-svn: 210175
|
|
|
|
| |
llvm-svn: 210174
|
|
|
|
| |
llvm-svn: 210172
|
|
|
|
|
|
|
|
| |
In sections that are broken into atoms at symbols, if the first symbol in the
section is not at the start of the section, then make an anonymous atom for
the section content that is before the first symbol.
llvm-svn: 210142
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously each section kind had its own code to loop over the section and
parse it into atoms. This refactoring has two tables. The first maps sections
to ContentType. The second maps ContentType to information on how to find
the atom boundaries.
A few bugs in test cases were discovered as part of the refactoring.
No change in functionality intended.
llvm-svn: 210138
|
|
|
|
|
|
|
| |
Previously the parser always printed out an error message followed
by "Invalid file type" even if the file type is correct.
llvm-svn: 210093
|
|
|
|
|
|
|
|
| |
FileToMutable is what this class does, but this class (or, to be precise,
an instance of this class) is a wrapper of the other SimpleFile. It's odd
that the class was named like a function.
llvm-svn: 210089
|
|
|
|
| |
llvm-svn: 210087
|
|
|
|
| |
llvm-svn: 210086
|
|
|
|
| |
llvm-svn: 210071
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously section groups are doubly linked to their children.
That is, an atom representing a group has group-child references
to its group contents, and content atoms also have group-parent
references to the group atom. That relationship was invariant;
if X has a group-child edge to Y, Y must have a group-parent
edge to X.
However we were not using group-parent references at all. The
resolver only needs group-child edges.
This patch simplifies the section group by removing the unused
reverse edge. No functionality change intended.
Differential Revision: http://reviews.llvm.org/D3945
llvm-svn: 210066
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Layout-before edges are no longer used for layout, but they are
still there for dead-stripping. If we would just remove them
from code, LLD would wrongly remove live atoms that were
referenced by layout-befores.
This patch fixes the issue. Before dead-stripping, it scans all
atoms to construct a reverse map for layout-after edges. Dead-
stripping pass uses the map to traverse the graph.
Differential Revision: http://reviews.llvm.org/D3986
llvm-svn: 210057
|
|
|
|
| |
llvm-svn: 210015
|