summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core/YamlReader.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Major refactoring: Remove Platform concept. In its place there are Nick Kledzik2012-05-311-1243/+0
| | | | | | | | 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
* Rework how YAMLReader is layered on top of YAMLParser. Turn hand writtenNick Kledzik2012-05-031-396/+690
| | | | | | | | 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
* Convert the YAMLReader to use LLVM/Support/YAMLParser.Michael J. Spencer2012-04-301-635/+487
| | | | llvm-svn: 155847
* Remove whitespace.Michael J. Spencer2012-04-301-8/+8
| | | | llvm-svn: 155846
* Add way to represent static archives in yaml test cases.Nick Kledzik2012-04-201-10/+97
| | | | | | | | | 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
* Remove definedAtomsBegin() and co. so that C++11 range based for loops can ↵Nick Kledzik2012-04-091-2/+3
| | | | | | be used llvm-svn: 154302
* Rename referencesBegin() to begin() so that C++11 range based for loops can ↵Nick Kledzik2012-04-081-2/+2
| | | | | | be used llvm-svn: 154301
* First implementation of Darwin Platform. It is rich enough to generateNick Kledzik2012-04-071-2/+9
| | | | | | | | | | 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
* Remove trailing whitespace.Michael J. Spencer2012-04-031-47/+47
| | | | llvm-svn: 153964
* Steal LLVM.h from Clang. This brings in very commonly used LLVM ADT/SupportMichael J. Spencer2012-04-031-28/+27
| | | | | | types into the lld namespace. llvm-svn: 153963
* Replace all uses of NULL with nullptr.Michael J. Spencer2012-03-291-27/+27
| | | | llvm-svn: 153677
* Rearange header order to match llvm style. This exposed some missing types.Michael J. Spencer2012-03-281-9/+6
| | | | | | Also fix some Platform.h includes that somehow got missed last time. llvm-svn: 153590
* Add Pass to instantiate GOT entriesNick Kledzik2012-03-151-0/+4
| | | | llvm-svn: 152874
* Audit uses of StringRef::getAsInteger.Michael J. Spencer2012-03-121-21/+8
| | | | llvm-svn: 152565
* Fix MSVC incompatibilities.Michael J. Spencer2012-03-091-5/+20
| | | | llvm-svn: 152389
* Sources now require C++11 to build.Nick Kledzik2012-03-081-70/+71
| | | | | | | | | | | | | | | | | 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
* Add support for SharedLibraryAtoms (proxy atoms for exported symbols from a Nick Kledzik2012-02-221-37/+146
| | | | | | | | 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
* (no commit message)Nick Kledzik2012-02-151-77/+188
| | | | llvm-svn: 150539
* Add support for UndefinedAtom in yaml and native format. Add test cases ↵Nick Kledzik2012-02-071-0/+43
| | | | | | with undefined atoms llvm-svn: 149962
* Cleanup system_error extensions.Michael J. Spencer2012-01-311-39/+5
| | | | llvm-svn: 149432
* A couple of big refactorings: 1) Move most attributes of Atom down to ↵Nick Kledzik2012-01-111-117/+190
| | | | | | DefinedAtom, so only atoms representing definitions need to implement them. 2) Remove definitionTentative, definitionWeak, mergeDuplicates, and autoHide. Replace with merge and interposable attributes. 3) Make all methods on Atom be virtual so that future object file readers can lazily generated attributes llvm-svn: 147903
* add initial support for coalescing by content (c-strings) with test caseNick Kledzik2012-01-091-23/+66
| | | | llvm-svn: 147799
* Support more Atom attributes. Add more test cases to lld-coreNick Kledzik2012-01-041-91/+150
| | | | llvm-svn: 147571
* Add more merging/coalescing test cases and make core linking work for themNick Kledzik2011-12-221-5/+25
| | | | llvm-svn: 147130
* Cleaned up Atom attribues some more. Added lots of doxygen commentsNick Kledzik2011-12-211-21/+25
| | | | llvm-svn: 147105
* Refactor and comment Atom attributes. Replace combine() with internalName() ↵Nick Kledzik2011-12-201-13/+10
| | | | | | and mergeDuplicates() llvm-svn: 146958
* add parseObjectTextFileOrSTDIN() utilityNick Kledzik2011-12-201-0/+15
| | | | llvm-svn: 146931
* Initial commit. Code by Nick Kledzik. Cleanups and build system by me.Michael J. Spencer2011-12-181-0/+559
llvm-svn: 146844
OpenPOWER on IntegriCloud