summaryrefslogtreecommitdiff
path: root/lld/lib/Core/NativeReader.cpp
AgeCommit message (Collapse)Author
2012-05-31Major refactoring: Remove Platform concept. In its place there are Nick Kledzik
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-04-08Rename referencesBegin() to begin() so that C++11 range based for loops can ↵Nick Kledzik
be used llvm-svn: 154301
2012-04-07First implementation of Darwin Platform. It is rich enough to generateNick Kledzik
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-03Remove trailing whitespace.Michael J. Spencer
llvm-svn: 153964
2012-04-03Steal LLVM.h from Clang. This brings in very commonly used LLVM ADT/SupportMichael J. Spencer
types into the lld namespace. llvm-svn: 153963
2012-03-29Replace all uses of NULL with nullptr.Michael J. Spencer
llvm-svn: 153677
2012-03-29llvm::OwningPtr -> std::unique_ptr.Michael J. Spencer
llvm-svn: 153620
2012-03-28Rearange header order to match llvm style. This exposed some missing types.Michael J. Spencer
Also fix some Platform.h includes that somehow got missed last time. llvm-svn: 153590
2012-03-15Add Pass to instantiate GOT entriesNick Kledzik
llvm-svn: 152874
2012-03-08Sources now require C++11 to build.Nick Kledzik
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-02-22Add support for SharedLibraryAtoms (proxy atoms for exported symbols from a Nick Kledzik
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-15(no commit message)Nick Kledzik
llvm-svn: 150539
2012-02-07Add support for UndefinedAtom in yaml and native format. Add test cases ↵Nick Kledzik
with undefined atoms llvm-svn: 149962
2012-01-31Cleanup system_error extensions.Michael J. Spencer
llvm-svn: 149432
2012-01-31Fix use after free.Michael J. Spencer
llvm-svn: 149429
2012-01-31Flexible array members are not in C++03, and MSVC doesn't support them.Michael J. Spencer
llvm-svn: 149426
2012-01-16First chunk of native object file reader/writer. The lld-core tool now ↵Nick Kledzik
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