summaryrefslogtreecommitdiffstats
path: root/lld/lib/Core/YamlWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Major refactoring: Remove Platform concept. In its place there are Nick Kledzik2012-05-311-463/+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
* Remove some compilation warnings.Filipe Cabecinhas2012-05-221-1/+1
| | | | llvm-svn: 157253
* Rework how YAMLReader is layered on top of YAMLParser. Turn hand writtenNick Kledzik2012-05-031-84/+57
| | | | | | | | 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
* Factor out core linking options from Platform in a new ResolverOptionsNick Kledzik2012-04-181-2/+3
| | | | | | | | | | 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 definedAtomsBegin() and co. so that C++11 range based for loops can ↵Nick Kledzik2012-04-091-35/+18
| | | | | | be used llvm-svn: 154302
* Rename referencesBegin() to begin() so that C++11 range based for loops can ↵Nick Kledzik2012-04-081-6/+2
| | | | | | be used llvm-svn: 154301
* Remove trailing whitespace.Michael J. Spencer2012-04-031-102/+102
| | | | llvm-svn: 153964
* Steal LLVM.h from Clang. This brings in very commonly used LLVM ADT/SupportMichael J. Spencer2012-04-031-10/+9
| | | | | | types into the lld namespace. llvm-svn: 153963
* Replace all uses of NULL with nullptr.Michael J. Spencer2012-03-291-1/+1
| | | | llvm-svn: 153677
* Rearange header order to match llvm style. This exposed some missing types.Michael J. Spencer2012-03-281-7/+4
| | | | | | 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/+3
| | | | llvm-svn: 152874
* Fix MSVC incompatibilities.Michael J. Spencer2012-03-091-19/+16
| | | | llvm-svn: 152389
* Sources now require C++11 to build.Nick Kledzik2012-03-081-127/+161
| | | | | | | | | | | | | | | | | 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-19/+110
| | | | | | | | 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-23/+178
| | | | llvm-svn: 150539
* Add support for UndefinedAtom in yaml and native format. Add test cases ↵Nick Kledzik2012-02-071-5/+32
| | | | | | with undefined atoms llvm-svn: 149962
* First chunk of native object file reader/writer. The lld-core tool now ↵Nick Kledzik2012-01-161-1/+1
| | | | | | reads YAML file, links, writes that out as native object format, then reads that native file, then writes the YAML to stdout. Thus the test suite tests both YAML reading/writing as well as native object file reading/writing. llvm-svn: 148256
* A couple of big refactorings: 1) Move most attributes of Atom down to ↵Nick Kledzik2012-01-111-22/+26
| | | | | | 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-1/+26
| | | | llvm-svn: 147799
* Support more Atom attributes. Add more test cases to lld-coreNick Kledzik2012-01-041-55/+120
| | | | llvm-svn: 147571
* Add more merging/coalescing test cases and make core linking work for themNick Kledzik2011-12-221-7/+20
| | | | llvm-svn: 147130
* Refactor and comment Atom attributes. Replace combine() with internalName() ↵Nick Kledzik2011-12-201-1/+1
| | | | | | and mergeDuplicates() llvm-svn: 146958
* Initial commit. Code by Nick Kledzik. Cleanups and build system by me.Michael J. Spencer2011-12-181-0/+100
llvm-svn: 146844
OpenPOWER on IntegriCloud