| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 192509
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are aliases for --start-group/--end-group options represented
by -( and -) respectively in the command line.
This change adds and improves the test for the alias options to be
tested.
Looks like users use this option widely than explicitly using
--start-group/--end-group.
llvm-svn: 192470
|
|
|
|
| |
llvm-svn: 192427
|
|
|
|
| |
llvm-svn: 192424
|
|
|
|
|
|
|
|
|
| |
allowRemainingUndefines() is already checked in Resolver::resolve(), so we
don't need to check it again after returning from it. It's actually not only
superfluous but buggy because a failure of resolve() does not always mean that
there is a remaining undefines.
llvm-svn: 192423
|
|
|
|
| |
llvm-svn: 192422
|
|
|
|
|
|
| |
This eliminates _elements's size check from the loop.
llvm-svn: 192418
|
|
|
|
| |
llvm-svn: 192416
|
|
|
|
|
|
|
| |
This patch also handles errors other than no_more_files error. They were silently
ignored.
llvm-svn: 192415
|
|
|
|
| |
llvm-svn: 192414
|
|
|
|
|
|
|
| |
This also reverts the LayoutPass to use std::sort as all files
have an ordinal now.
llvm-svn: 192409
|
|
|
|
| |
llvm-svn: 192401
|
|
|
|
| |
llvm-svn: 192369
|
|
|
|
|
|
|
|
| |
-- so that command line options to specify new input files, such as
/defaultlib:foo, is handled properly. Such options were ignored before
this patch.
llvm-svn: 192342
|
|
|
|
|
|
|
|
|
| |
A file with .objtxt extension is parsed in readFile(), but because we did not
propagate that information to the calling side, calling side would try to parse
it again. This patch will fix the issue by adding an extra parameter to
readFile().
llvm-svn: 192311
|
|
|
|
| |
llvm-svn: 192310
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes code in various places which was setting the File Ordinals.
This is because the file ordinals are assigned by the way files are resolved.
There was no other way than making the getNextFileAndOrdinal be set const and
change the _nextOrdinal to mutable.
There are so many places in code, that you would need to cleanup to make
LinkingContext non-const!
llvm-svn: 192280
|
|
|
|
| |
llvm-svn: 192277
|
|
|
|
|
|
|
|
|
|
| |
This associates resolveState to FileNodes. The control node derive
their resolution state from the inputElements that are contained in
it.
This makes --start-group/--end-group to work with ELF linking.
llvm-svn: 192269
|
|
|
|
| |
llvm-svn: 192261
|
|
|
|
| |
llvm-svn: 192260
|
|
|
|
|
|
|
|
|
| |
Output to llvm::err() is not guaranteed to be thread-safe, so it needs
to be guarded with a lock.
Differential Revision: http://llvm-reviews.chandlerc.com/D1862
llvm-svn: 192250
|
|
|
|
| |
llvm-svn: 192249
|
|
|
|
| |
llvm-svn: 192183
|
|
|
|
| |
llvm-svn: 192170
|
|
|
|
| |
llvm-svn: 192169
|
|
|
|
|
|
| |
Differential Revision: http://llvm-reviews.chandlerc.com/D1853
llvm-svn: 192167
|
|
|
|
| |
llvm-svn: 192163
|
|
|
|
| |
llvm-svn: 192154
|
|
|
|
| |
llvm-svn: 192149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The original code with enum "_" is intended to emulate scoped enums.
Now we have real scoped enums, so use it.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1852
llvm-svn: 192148
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the first step in how I plan to get mach-o object files support into
lld. We need to be able to test the mach-o Reader and Write on systems without
a mach-o tools. Therefore, we want to support a textual way (YAML) to represent
mach-o files.
MachONormalizedFile.h defines an in-memory abstraction of the content of mach-o
files. The in-memory data structures are always native endianess and always
use 64-bit sizes. That internal data structure can then be converted to or
from three different formats: 1) yaml (text) encoded mach-o, 2) binary mach-o
files, 3) lld Atoms.
This patch defines the internal model and uses YAML I/O to implement the
conversion to and from the model to yaml. The next patch will implement
the conversion from normalized to binary mach-o.
This patch includes unit tests to validate the yaml conversion APIs.
llvm-svn: 192147
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes :-
a) Functionality in InputGraph to insert Input elements at any position
b) Functionality in the Resolver to use nextFile
c) Move the functionality of assigning file ordinals to InputGraph
d) Changes all inputs to MemoryBuffers
e) Remove LinkerInput, InputFiles, ReaderArchive
llvm-svn: 192081
|
|
|
|
| |
llvm-svn: 191924
|
|
|
|
| |
llvm-svn: 191867
|
|
|
|
|
|
|
| |
Found this with asan. Code assumes that find doesn't return end, thus if
both atoms didn't have followon roots it would still compare their positions.
llvm-svn: 191865
|
|
|
|
| |
llvm-svn: 191594
|
|
|
|
| |
llvm-svn: 191583
|
|
|
|
|
|
| |
Stop using some locally defined mach-o constants.
llvm-svn: 191581
|
|
|
|
|
|
|
|
| |
This will eventually need to be refactored to better handle COPY relocations,
as other relocations can also generate them. I'm not yet sure the exact
circumstances in which they are needed yet.
llvm-svn: 191567
|
|
|
|
| |
llvm-svn: 191566
|
|
|
|
| |
llvm-svn: 191469
|
|
|
|
| |
llvm-svn: 191467
|
|
|
|
| |
llvm-svn: 191466
|
|
|
|
| |
llvm-svn: 191403
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 191320
|
|
|
|
| |
llvm-svn: 191317
|
|
|
|
| |
llvm-svn: 191276
|
|
|
|
|
|
|
|
| |
/PDBALTPATH:<path> is an option to embed a different path for the PDB file to
the binary than the actual PDB file location. Because we don't support PDB
file, we'll just ignore the option for now.
llvm-svn: 191273
|