Hemant Kulkarni
927bbc2871
ELF support for LLD writer. The writer at present emits ELF header and section
...
table header. Skeleton code for ReferenceKinds.
Credits:
Doxygen by Michael Spencer.
Origianl implementation from Macho by Sidney Manning.
Templatization, implementation of section header chunks, string table, ELF header by Hemant Kulkarni.
llvm-svn: 163906
2012-09-14 16:11:34 +00:00
Michael J. Spencer
69ed53ab5f
Fix warnings.
...
llvm-svn: 163573
2012-09-10 23:46:58 +00:00
Nick Kledzik
7243b89459
PR13467: Fix mach-o writer to handle case of zero stubs. Renumber TestingHelpers kind values
...
llvm-svn: 160982
2012-07-30 20:10:46 +00:00
Sid Manning
429a4bc172
Fix warning from -Wshadow. Report errors back to caller rather than calling
...
llvm::report_fatal_error.
llvm-svn: 160864
2012-07-27 14:52:18 +00:00
Sid Manning
ad58efd69a
Add a default constructor/destructor for ReaderOptionsPECOFF
...
llvm-svn: 160740
2012-07-25 17:16:46 +00:00
Sid Manning
1a60141f99
Implement the ELF reader. The original implementation was by Hemant Kulkarni
...
with subsequent changes to use lower level interfaces done by me.
llvm-svn: 160732
2012-07-25 16:27:21 +00:00
Marshall Clow
f33f0bbdcf
Minor edits to match style guidelines. No functionality change
...
llvm-svn: 160370
2012-07-17 16:18:04 +00:00
Michael J. Spencer
efcf099db5
Unused var warning.
...
llvm-svn: 158944
2012-06-21 22:41:46 +00:00
Michael J. Spencer
aedfa6a36b
Fix MSVC compat. MSVC doesn't have bzero.
...
Although the code is not valid to begin with. It is trying to do a raw memory
copy of a non standard-layout type. nameoffset is not guaranteed to directly
follow cmdsize.
This should be properly fixed.
llvm-svn: 158612
2012-06-17 01:18:44 +00:00
Nick Kledzik
7145cf6846
Add 'invalid' as a Reference Kind so that unknown/invalid kind strings can return that fact to the caller for use in constructing an error message, rather that triggering an assertion.
...
llvm-svn: 158547
2012-06-15 21:26:18 +00:00
Nick Kledzik
21f5d4d629
remove return statements after llvm_unreachable() as the compiler no longer warns abot missing return values
...
llvm-svn: 158544
2012-06-15 21:04:32 +00:00
Nick Kledzik
751eb3d2b3
use llvm_unreachable() instead of assert(0) for invalid enum values in switch statements
...
llvm-svn: 158542
2012-06-15 20:37:24 +00:00
Nick Kledzik
d6a27324f9
Use ADT/StringSwitch
...
llvm-svn: 158541
2012-06-15 20:29:27 +00:00
Nick Kledzik
c890ae41e2
flesh out mach-o Reference Kinds
...
llvm-svn: 158375
2012-06-12 23:01:30 +00:00
Nick Kledzik
40b68559e8
Move implementation of WriterOptionsMachO to its own file. Reduced redundant
...
ivars in WriterOptionsMachO instead have its methods compute ivar interactions.
Refactor mach-o Reference Kinds and introduce abstract class KindHandler.
Split up StubAtoms.hpp by architecture. Add support for 32-bit x86 stubs.
llvm-svn: 158336
2012-06-11 22:53:15 +00:00
Nick Kledzik
5fb2e4dabe
put the public function createReaderPECOFF() in the lld namespace and everything else in is own namespace
...
llvm-svn: 158135
2012-06-07 02:23:48 +00:00
Nick Kledzik
98211f6d19
fix warnings found after cranking up warnings
...
llvm-svn: 158134
2012-06-07 01:53:39 +00:00
Nick Kledzik
40b8655082
abstract load commands to that WriterMachO can write 64-bit and 32-bit mach-o files
...
llvm-svn: 158133
2012-06-07 01:45:39 +00:00
Nick Kledzik
abb6981f68
Major refactoring: Remove Platform concept. In its place there are
...
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-05-31 22:34:00 +00:00