summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core/YamlKeyValues.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Major refactoring: Remove Platform concept. In its place there are Nick Kledzik2012-05-311-432/+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-104/+95
| | | | | | | | 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-47/+20
| | | | llvm-svn: 155847
* Add way to represent static archives in yaml test cases.Nick Kledzik2012-04-201-0/+31
| | | | | | | | | 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
* Factor out core linking options from Platform in a new ResolverOptionsNick Kledzik2012-04-181-0/+2
| | | | | | | | | | 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
* Remove trailing whitespace.Michael J. Spencer2012-04-031-1/+1
| | | | llvm-svn: 153964
* Replace all uses of NULL with nullptr.Michael J. Spencer2012-03-291-27/+29
| | | | llvm-svn: 153677
* Rearange header order to match llvm style. This exposed some missing types.Michael J. Spencer2012-03-281-2/+2
| | | | | | 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/+1
| | | | llvm-svn: 152874
* Sources now require C++11 to build.Nick Kledzik2012-03-081-0/+1
| | | | | | | | | | | | | | | | | 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-10/+29
| | | | | | | | 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-18/+7
| | | | llvm-svn: 150539
* Add support for UndefinedAtom in yaml and native format. Add test cases ↵Nick Kledzik2012-02-071-82/+101
| | | | | | with undefined atoms llvm-svn: 149962
* A couple of big refactorings: 1) Move most attributes of Atom down to ↵Nick Kledzik2012-01-111-115/+189
| | | | | | 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
* Support more Atom attributes. Add more test cases to lld-coreNick Kledzik2012-01-041-0/+330
llvm-svn: 147571
OpenPOWER on IntegriCloud