| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The major changes are:
1) LinkerOptions has been merged into TargetInfo
2) LinkerInvocation has been merged into Driver
3) Drivers no longer convert arguments into an intermediate (core) argument
list, but instead create a TargetInfo object and call setter methods on
it. This is only how in-process linking would work. That is, you can
programmatically set up a TargetInfo object which controls the linking.
4) Lots of tweaks to test suite to work with driver changes
5) Add the DarwinDriver
6) I heavily doxygen commented TargetInfo.h
Things to do after this patch is committed:
a) Consider renaming TargetInfo, given its new roll.
b) Consider pulling the list of input files out of TargetInfo. This will
enable in-process clients to create one TargetInfo the re-use it with
different input file lists.
c) Work out a way for Drivers to format the warnings and error done in
core linking.
llvm-svn: 178776
|
| |
|
|
|
|
|
|
|
|
| |
ArrayRef<uint8_t>::equals(); lowers to a byte compare loop :(.
TODO: Figure out if we are getting hash collisions, or just have a lot of equal
content. Also test if crypto hashing the content instead of full compare is
better.
llvm-svn: 177588
|
| |
|
|
| |
llvm-svn: 177079
|
| |
|
|
| |
llvm-svn: 176309
|
| |
|
|
| |
llvm-svn: 175983
|
| |
|
|
| |
llvm-svn: 175901
|
| |
|
|
| |
llvm-svn: 174277
|
| |
|
|
|
|
| |
canBeNullNever.
llvm-svn: 174107
|
| |
|
|
| |
llvm-svn: 173300
|
| |
|
|
|
|
| |
It owns and manages passes.
llvm-svn: 173287
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 173192
|
| |
|
|
| |
llvm-svn: 173117
|
| |
|
|
|
|
| |
constants and string literals which the linker should coalesce.
llvm-svn: 172495
|
| |
|
|
|
|
|
|
|
|
| |
Since most content types (e.g. typeCode) have a
preferred Permission, add a function to do that mapping.
Then hook up to YAML Reader and Writer such that
the 'permissions:' key does not need to be specified unless
overriding what the content type prefers.
llvm-svn: 171929
|
| |
|
|
| |
llvm-svn: 171916
|
| |
|
|
|
|
|
|
| |
and adds a new file ReaderWriterYAML.cpp that uses YAML I/O.
Lots of tweaks to test suite for slightly different YAML encoding.
llvm-svn: 171592
|
| |
|
|
| |
llvm-svn: 171531
|
| |
|
|
| |
llvm-svn: 171528
|
| |
|
|
| |
llvm-svn: 169306
|
| |
|
|
| |
llvm-svn: 167394
|
| |
|
|
|
|
| |
switch statements
llvm-svn: 158542
|
| |
|
|
|
|
|
|
| |
now Reader and Writer subclasses for each file format. Each Reader and
Writer subclass defines an "options" class which controls how that Reader
or Writer operates.
llvm-svn: 157774
|
| |
|
|
| |
llvm-svn: 157253
|
| |
|
|
| |
llvm-svn: 156143
|
| |
|
|
|
|
|
|
| |
recursive descent functions into one table driven parser. Add proper
error recovery and reporting. Add lots of test cases with semantics errors
and verify error messages.
llvm-svn: 156136
|
| |
|
|
| |
llvm-svn: 155847
|
| |
|
|
| |
llvm-svn: 155846
|
| |
|
|
|
|
|
|
|
| |
Add SharedLibraryFile and ArchiveLibraryFile subclasses of File.
Add command line options to lld-core to set various ResolverOptions settings
and added lots of test cases to verify the options work.
llvm-svn: 155183
|
| |
|
|
|
|
|
|
|
|
| |
class. Change Resolver to no longer use Platform. Core linking
now issues errors directly. We need to factor that out later.
Rework how Darwin executable writer finds "main" atom. It now
adds to core linking an Atom which has a Reference to "main".
llvm-svn: 155060
|
| |
|
|
|
|
| |
be used
llvm-svn: 154302
|
| |
|
|
|
|
| |
be used
llvm-svn: 154301
|
| |
|
|
| |
llvm-svn: 154277
|
| |
|
|
| |
llvm-svn: 154274
|
| |
|
|
| |
llvm-svn: 154246
|
| |
|
|
|
|
|
|
|
|
| |
a hello world executable from atoms. There is still much to be flushed out.
Added one test case, test/darwin/hello-world.objtxt, which exercises the
darwin platform.
Added -platform option to lld-core tool to dynamically select platform.
llvm-svn: 154242
|
| |
|
|
| |
llvm-svn: 153964
|
| |
|
|
|
|
| |
types into the lld namespace.
llvm-svn: 153963
|
| |
|
|
| |
llvm-svn: 153912
|
| |
|
|
| |
llvm-svn: 153677
|
| |
|
|
| |
llvm-svn: 153620
|
| |
|
|
|
|
| |
Also fix some Platform.h includes that somehow got missed last time.
llvm-svn: 153590
|
| |
|
|
| |
llvm-svn: 152874
|
| |
|
|
| |
llvm-svn: 152565
|
| |
|
|
| |
llvm-svn: 152389
|
| |
|
|
| |
llvm-svn: 152388
|
| |
|
|
| |
llvm-svn: 152387
|
| |
|
|
| |
llvm-svn: 152386
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add first linker pass (StubsPass) which looks for calls to shared library
symbols and replaces them with calls to a StubAtom. On ELF system, a "stub"
is a PLT entry. Added a simple test case.
Pass a Platform object to YAML reader and writer for converting fixup kinds
between names and values.
Change output of Resolver to be a File object instead of a vector of Atoms.
Thus, passes operate on a File instead of just Atoms.
Rework how to walk through a File's Atoms. Now iterator based instead of
a method that visits each atom.
llvm-svn: 152269
|
| |
|
|
|
|
|
|
| |
shared library) and AbsoluteAtoms (proxy atoms for absolute address (e.g. ROM)).
Redesign weak importing as can-be-null-at-runtime and can-be-null-at-build-time.
Add lots of test cases for all the above.
llvm-svn: 151204
|
| |
|
|
| |
llvm-svn: 150547
|