Commit Graph

68 Commits

Author SHA1 Message Date
Rui Ueyama
08d9520f89 Fix docs-lld-html build.
llvm-svn: 234644
2015-04-10 21:37:42 +00:00
Rui Ueyama
aa7b304ea7 Remove the Native file format.
The Native file format was designed to be the fastest on-memory or
on-disk file format for object files. The problem is that no one
is working on that. No LLVM tools can produce object files in
the Native, thus the feature of supporting the format is useless
in the linker.

This patch removes the Native file support. We can add it back
if we really want it in future.

llvm-svn: 234641
2015-04-10 21:23:51 +00:00
Rui Ueyama
adafac6549 Update design.rst to remove a mention about round-trip tests.
llvm-svn: 234534
2015-04-09 20:43:38 +00:00
Rui Ueyama
24f2d2a9d5 Remove Makefiles.
Most developers prefer to not have them, and we agreed to
remove them from LLD.
http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-March/083368.html

llvm-svn: 233313
2015-03-26 20:09:47 +00:00
Greg Fitzgerald
4b6a7e355b Fix five of the shared library build targets
Before this patch there was a cyclic dependency between lldCore and
lldReaderWriter.  Only lldConfig could be built as a shared library.

* Moved Reader and Writer base classes into lldCore.
* The following shared libraries can now be built:
     lldCore
     lldYAML
     lldNative
     lldPasses
     lldReaderWriter

Differential Revision: http://reviews.llvm.org/D7105

From: Greg Fitzgerald <garious@gmail.com>
llvm-svn: 226732
2015-01-21 22:54:56 +00:00
Greg Fitzgerald
8a1887f1f1 [ELF] Minimal implementation for ARM static linking
The code is able to statically link the simplest case of:

  int main() { return 0; }

* Only works with ARM code - no Thumb code, no interwork (-marm -mno-thumb-interwork)
* musl libc built with no interwork and no Thumb code

Differential Revision: http://reviews.llvm.org/D6716

From: Denis Protivensky <dprotivensky@accesssoftek.com>
llvm-svn: 226643
2015-01-21 07:35:48 +00:00
Rui Ueyama
df230b21e3 Re-commit r225674: Convert other drivers to use WrapperNode.
The original commit had an issue with Mac OS dylib files. It didn't
handle fat binary dylib files correctly. This patch includes a fix.
A test for that case has already been committed in r225764.

llvm-svn: 226123
2015-01-15 04:34:31 +00:00
Rui Ueyama
cfb2534ef8 Revert "Convert other drivers to use WrapperNode" and subsequent commits.
r225764 broke a basic functionality on Mac OS. This change reverts
r225764, r225766, r225767, r225769, r225814, r225816, r225829, and r225832.

llvm-svn: 225859
2015-01-14 00:21:34 +00:00
Rui Ueyama
e8ecb2b144 Convert other drivers to use WrapperNode.
llvm-svn: 225764
2015-01-13 04:33:07 +00:00
Nico Weber
9b839f8ced Tweak lld's checkout instructions.
llvm-svn: 224778
2014-12-23 18:52:41 +00:00
Ed Maste
aaa317a1eb lld self-hosts on FreeBSD too
llvm-svn: 224448
2014-12-17 19:14:57 +00:00
Simon Atanasyan
e747a44fe8 Update current LLD status for MIPS target.
llvm-svn: 217372
2014-09-08 14:56:20 +00:00
Chad Rosier
69e2881070 [AArch64] Initial ELF/AArch64 Support
This patch adds the initial ELF/AArch64 support to lld. Only a basic "Hello
World" app has been successfully tested for both dynamic and static compiling.

Differential Revision: http://reviews.llvm.org/D4778
Patch by Daniel Stewart <stewartd@codeaurora.org>!

llvm-svn: 215544
2014-08-13 13:16:38 +00:00
Dan Liew
7f1a97bda0 Fix missing favicon.ico warning (Sphinx 1.2.2). The comments next to
``html_favicon`` seem to conflict with [what it in the sphinx
docs](http://sphinx-doc.org/config.html#confval-html_favicon).

So I've copied the comments from there to conf.py and changed its
value appropriately to remove the missing favicon.ico warning.

llvm-svn: 214971
2014-08-06 14:37:00 +00:00
Dan Liew
ce5377afa0 Fix sphinx warning.
llvm-svn: 214968
2014-08-06 14:11:47 +00:00
Rui Ueyama
9aee050a0c Remove group-parent references.
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
2014-06-03 03:07:49 +00:00
Reid Kleckner
f00daf15f0 Add support for building Sphinx documentation when being built inside LLVM source tree and using CMake.
Patch by Dan Liew <daniel.liew@imperial.ac.uk>!

llvm-svn: 206662
2014-04-18 21:59:05 +00:00
Shankar Easwaran
7ac2a3df64 [core] add SectionGroup support
Review : http://llvm-reviews.chandlerc.com/D3182

llvm-svn: 204830
2014-03-26 16:37:13 +00:00
Rui Ueyama
6ab29444b0 [docs][Windows] Document how to build using Ninja.
llvm-svn: 203756
2014-03-13 05:48:46 +00:00
Rui Ueyama
21f97ddb58 [docs] Document how to build LLD as a win64 app.
llvm-svn: 203736
2014-03-12 23:40:18 +00:00
Rui Ueyama
dcd25e31a7 [docs] Add a note on how to build LLD on Windows.
llvm-svn: 203613
2014-03-11 22:40:43 +00:00
Michael J. Spencer
e1de2a39df [docs] Add list of missing GNU ld command line options.
llvm-svn: 203491
2014-03-10 21:25:43 +00:00
Michael J. Spencer
95a90099fa [docs] Add missing features for the x86-64 ELF backend.
llvm-svn: 203313
2014-03-07 23:54:27 +00:00
Michael J. Spencer
1dd276672f [docs] Update current status.
llvm-svn: 203188
2014-03-07 01:42:19 +00:00
Rui Ueyama
3e37326166 Add a document about Windows support.
llvm-svn: 203017
2014-03-05 22:35:32 +00:00
Rui Ueyama
b63570ecb6 Fix broken link.
llvm-svn: 203004
2014-03-05 20:39:57 +00:00
Rui Ueyama
746c915c9d Visual Studio 11 = VS2012
llvm-svn: 203003
2014-03-05 20:36:07 +00:00
Chandler Carruth
d40922989a Fix a typo spotted by Anton.
llvm-svn: 202638
2014-03-02 13:00:23 +00:00
Chandler Carruth
03b4e3a8cb [C++11] Update LLD documentation to just refer to the LLVM documentation
for C++11 issues.

llvm-svn: 202623
2014-03-02 09:17:09 +00:00
Shankar Easwaran
3d8de47f76 Fix trailing whitespace.
llvm-svn: 200182
2014-01-27 03:09:26 +00:00
NAKAMURA Takumi
d40d387fb1 Update the copyright credits -- Happy new year 2014!
FIXME: Dragonegg may be updated at non-trivial changes.
llvm-svn: 198274
2014-01-01 08:27:31 +00:00
Rui Ueyama
e68abc630e Update supported compiler list. Patch by Mikael Lyngvig!
llvm-svn: 196055
2013-12-02 01:22:17 +00:00
Joerg Sonnenberger
a82566b86e Update documentation.
llvm-svn: 190255
2013-09-07 18:01:39 +00:00
Rui Ueyama
352e7308c0 Rename ti -> ctx.
This should have been done in r187823 when I renamed LinkingContext
from TargetInfo. I missed a few files.

llvm-svn: 189298
2013-08-27 00:04:42 +00:00
Rui Ueyama
0ca149fce9 Rename TargetInfo -> LinkingContext.
Also change some local variable names: "ti" -> "context" and
"_targetInfo" -> "_context".

Differential Revision: http://llvm-reviews.chandlerc.com/D1301

llvm-svn: 187823
2013-08-06 22:31:59 +00:00
Rui Ueyama
0227be6b0e [lld] Fix typo in document.
llvm-svn: 181652
2013-05-11 00:26:26 +00:00
Rui Ueyama
eaadec3a39 [lld] Document about how to enable debug output.
llvm-svn: 181640
2013-05-10 22:19:28 +00:00
Nick Kledzik
c314b46e71 This is my Driver refactoring patch.
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
2013-04-04 18:59:24 +00:00
Michael J. Spencer
ac4f444e39 [docs] lld self hosts.
llvm-svn: 174592
2013-02-07 07:26:45 +00:00
Alex Rosenberg
b65e88863e Spelling and grammar corrections.
llvm-svn: 174268
2013-02-03 07:05:26 +00:00
Michael J. Spencer
18950a174e [Docs] Update status :)
llvm-svn: 174162
2013-02-01 09:20:24 +00:00
Michael J. Spencer
359e09d4f5 [docs] Document lld's usage of C++11 features.
llvm-svn: 172972
2013-01-20 10:39:17 +00:00
Michael J. Spencer
ed1950719b [docs] Add driver documentation.
This gives an overview of the driver and explains how to add options and driver flavors.

llvm-svn: 172502
2013-01-15 02:00:59 +00:00
Michael J. Spencer
31dffbb659 [docs] Update status.
llvm-svn: 172501
2013-01-15 02:00:48 +00:00
NAKAMURA Takumi
43632a26a5 Update the copyright coredits -- Happy new year 2013!
llvm-svn: 171342
2013-01-01 10:00:19 +00:00
Marshall Clow
341f496538 Added description of Atom types from Nick's email
llvm-svn: 160468
2012-07-18 23:20:40 +00:00
Nick Kledzik
920ceddf80 Fix Sphinx warning. Patch by Sean Silva
llvm-svn: 158678
2012-06-18 20:24:47 +00:00
Nick Kledzik
28854f56db Wordsmithing from patch from Sean Silva
llvm-svn: 158584
2012-06-16 00:52:17 +00:00
Nick Kledzik
b47d6ca3a5 Wrote initial doc on how to create a Reader
llvm-svn: 158374
2012-06-12 22:43:35 +00:00
Nick Kledzik
abb6981f68 Major refactoring: Remove Platform concept. In its place there are
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
2012-05-31 22:34:00 +00:00