Commit Graph

61 Commits

Author SHA1 Message Date
Nick Kledzik 467209b1d4 Remove definedAtomsBegin() and co. so that C++11 range based for loops can be used
llvm-svn: 154302
2012-04-09 00:58:21 +00:00
Nick Kledzik 062a98cff0 Rename referencesBegin() to begin() so that C++11 range based for loops can be used
llvm-svn: 154301
2012-04-08 23:52:13 +00:00
Michael J. Spencer d73a53f158 [docs] Add more open projects.
llvm-svn: 154277
2012-04-08 03:47:49 +00:00
Michael J. Spencer 00d9e87cac [docs] Add documentation todos.
llvm-svn: 154276
2012-04-08 02:06:15 +00:00
Michael J. Spencer d01c8fe7a5 [docs] Make the index page ReST based instead of html based.
llvm-svn: 154275
2012-04-08 02:06:04 +00:00
Michael J. Spencer f9bc125c5a [docs] Add open projects page that includes the TODO.txt files.
llvm-svn: 154274
2012-04-07 23:10:01 +00:00
Nick Kledzik 5a1528f49d Add to-do lists
llvm-svn: 154246
2012-04-07 01:54:17 +00:00
Nick Kledzik b334be1ed2 First implementation of Darwin Platform. It is rich enough to generate
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
2012-04-07 01:31:00 +00:00
Daniel Dunbar e84f5ca2ea [docs] Note that 'make.bat' provides the same interface as the Makefile for
Windows users.

llvm-svn: 154229
2012-04-06 23:55:50 +00:00
Daniel Dunbar eaa88c8f71 [docs] Start a development guide, and write an introduction to Sphinx based
documentation.

llvm-svn: 154228
2012-04-06 23:47:34 +00:00
Michael J. Spencer 6f71434a3b [docs] Don't duplicate the intro and fix wording.
llvm-svn: 154227
2012-04-06 23:44:58 +00:00
Daniel Dunbar 1eafbaad32 [docs] Remove old HTML docs.
llvm-svn: 154217
2012-04-06 22:27:01 +00:00
Daniel Dunbar feee554e3b [docs] Test commit.
llvm-svn: 154213
2012-04-06 22:06:07 +00:00
Daniel Dunbar 462217eab3 docs: Add the standard LLVM favicon.
llvm-svn: 154212
2012-04-06 21:49:53 +00:00
Daniel Dunbar 5969411316 docs: Import existing www content into Sphinx.
llvm-svn: 154207
2012-04-06 21:02:24 +00:00
Daniel Dunbar 5fcd1034f0 docs: Sketch Sphinx based docs structure.
- This uses the llvm-theme developed by Michael Spencer and the base structure
   (front-facing index page) I use for LNT.

llvm-svn: 154206
2012-04-06 21:02:20 +00:00
Michael J. Spencer 765792d5d1 Remove trailing whitespace.
llvm-svn: 153964
2012-04-03 18:40:27 +00:00
Michael J. Spencer e6203a57b5 Steal LLVM.h from Clang. This brings in very commonly used LLVM ADT/Support
types into the lld namespace.

llvm-svn: 153963
2012-04-03 18:39:40 +00:00
Michael J. Spencer b495562b5d Use the LLVM RTTI library.
llvm-svn: 153912
2012-04-02 23:56:36 +00:00
Michael J. Spencer c9d2506a76 Replace all uses of NULL with nullptr.
llvm-svn: 153677
2012-03-29 19:39:14 +00:00
Michael J. Spencer d58cf03cff llvm::OwningPtr -> std::unique_ptr.
llvm-svn: 153620
2012-03-29 00:49:50 +00:00
Michael J. Spencer 8700f80d8d Rearange headers in lld-core.
llvm-svn: 153619
2012-03-29 00:49:30 +00:00
Michael J. Spencer 42f2c5a2e6 Add ArrayRef header. Patch by Marshall Clow.
llvm-svn: 153618
2012-03-29 00:49:19 +00:00
Michael J. Spencer cfd029fd91 Rearange header order to match llvm style. This exposed some missing types.
Also fix some Platform.h includes that somehow got missed last time.

llvm-svn: 153590
2012-03-28 19:04:02 +00:00
Michael J. Spencer 87c2994e24 Move Platform.h to Core as Core depends on Platform.h, and the Platform
library depends on Core. This breaks that cycle.

llvm-svn: 153589
2012-03-28 18:49:17 +00:00
Michael J. Spencer 510b6f28b2 Disable /Za on Windows. It breaks C++11 ;/.
llvm-svn: 153588
2012-03-28 18:48:47 +00:00
Michael J. Spencer a9a2572cca Test website auto-update.
llvm-svn: 153102
2012-03-20 18:22:49 +00:00
Nick Kledzik a144a1d736 Add more details about file formats. Fix whitespace.
llvm-svn: 152939
2012-03-16 20:03:05 +00:00
Nick Kledzik f4e2c73fa7 Add Pass to instantiate GOT entries
llvm-svn: 152874
2012-03-15 23:36:24 +00:00
Nick Kledzik 9bff918b9d fix typos
llvm-svn: 152674
2012-03-13 21:52:55 +00:00
Nick Kledzik b1e8a53e0b Added first round of documentation
llvm-svn: 152591
2012-03-13 00:10:27 +00:00
Michael J. Spencer 166b090a46 Audit uses of StringRef::getAsInteger.
llvm-svn: 152565
2012-03-12 18:13:36 +00:00
Michael J. Spencer e753cbc685 Fix MSVC incompatibilities.
llvm-svn: 152389
2012-03-09 05:27:43 +00:00
Michael J. Spencer b5ef4df359 StringRef is not null terminated.
llvm-svn: 152388
2012-03-09 05:27:20 +00:00
Michael J. Spencer 9f91f958b1 Use llvm/Support/DataTypes instead of stdint.h
llvm-svn: 152387
2012-03-09 05:27:11 +00:00
Michael J. Spencer 4ff3c79998 Use nullptr instead of NULL, and remove use of VLA.
llvm-svn: 152386
2012-03-09 05:26:55 +00:00
Benjamin Kramer 398ecd6200 Use the old -std=c++0x flag for compatibility with pre-2011 versions of GCC.
llvm-svn: 152355
2012-03-09 00:23:07 +00:00
Nick Kledzik 1a6615dc88 Sources now require C++11 to build.
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
2012-03-08 00:18:30 +00:00
Nick Kledzik 6bc04c6904 Add support for SharedLibraryAtoms (proxy atoms for exported symbols from a
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
2012-02-22 21:56:59 +00:00
Nick Kledzik af18a2b29f use llvm::DenseMap instead of std::map
llvm-svn: 150547
2012-02-15 00:50:07 +00:00
Nick Kledzik 49d6cc8457 (no commit message)
llvm-svn: 150539
2012-02-15 00:38:09 +00:00
Nick Kledzik 23384e84af Add support for UndefinedAtom in yaml and native format. Add test cases with undefined atoms
llvm-svn: 149962
2012-02-07 02:59:54 +00:00
Michael J. Spencer 7aba8957c1 Cleanup system_error extensions.
llvm-svn: 149432
2012-01-31 21:47:13 +00:00
Michael J. Spencer aa37613305 Don't delete the temp file until after we finish reading from it.
llvm-svn: 149431
2012-01-31 21:46:52 +00:00
Michael J. Spencer 8c36f458fa &vectorval[0] is UB when vectorval.size() == 0.
llvm-svn: 149430
2012-01-31 21:46:41 +00:00
Michael J. Spencer 4e45ebb92c Fix use after free.
llvm-svn: 149429
2012-01-31 21:46:29 +00:00
Michael J. Spencer 8526e64bef Add pretty stack tracing and llvm_shutdown.
llvm-svn: 149428
2012-01-31 21:46:17 +00:00
Michael J. Spencer 846fe662ba If cont.size() is 0, the expression &_contentPool[result] has undefined
behaivior because it indexes past the end of _contentPool.

llvm-svn: 149427
2012-01-31 21:46:05 +00:00
Michael J. Spencer b2bd733593 Flexible array members are not in C++03, and MSVC doesn't support them.
llvm-svn: 149426
2012-01-31 21:45:53 +00:00
Michael J. Spencer 73e3e3c7b9 NULL requires including cstddef. Just use 0.
llvm-svn: 149425
2012-01-31 21:45:26 +00:00