summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter
Commit message (Collapse)AuthorAgeFilesLines
...
* Populate entry point into ELF executable.Hemant Kulkarni2012-11-213-21/+49
| | | | llvm-svn: 168461
* Add program header emission to ELF writer. This patch also rearranges ↵Hemant Kulkarni2012-11-131-105/+424
| | | | | | sections for efficient memory utilization llvm-svn: 167874
* changes after mspencer reviews in phabricatorShankar Easwaran2012-11-131-7/+3
| | | | llvm-svn: 167871
* Fix style violations.Michael J. Spencer2012-11-132-55/+46
| | | | llvm-svn: 167869
* Adding support to resolve symbols with archive libraries in lldShankar Easwaran2012-11-133-26/+218
| | | | llvm-svn: 167854
* Add absolute symbol scope recognition in lld/CoreHemant Kulkarni2012-11-051-5/+7
| | | | llvm-svn: 167394
* rename dylibNamesToOrdinal now that it is an ivarNick Kledzik2012-11-011-6/+6
| | | | llvm-svn: 167254
* [ELF] Fix -Woverloaded-virtualMichael J. Spencer2012-11-011-1/+1
| | | | llvm-svn: 167246
* [MachO] Fix use after free.Michael J. Spencer2012-11-011-1/+1
| | | | llvm-svn: 167245
* [MachO] Fix uninitialized variables.Michael J. Spencer2012-11-011-1/+4
| | | | llvm-svn: 167244
* Fix cl brokeness.Michael J. Spencer2012-10-313-8/+8
| | | | | | | | | cl is not attempting to complete a templated class when used in this context. The conversion forces this to happen. Thanks to Richard Smith for figuring this out. llvm-svn: 167166
* Add missing include.Michael J. Spencer2012-10-311-0/+1
| | | | llvm-svn: 167165
* This patch changes the following:Sid Manning2012-10-256-124/+207
| | | | | | | | | | * Use conventional naming for KindHandlers. * Add X86 relocation routines. * Use std::function instead of function pointers in _fixupHandler map. * Change _fixupHandler map from std::map to llvm::DenseMap. * Add simple testcase for x86 relocations. llvm-svn: 166700
* This update does the following:Sid Manning2012-10-1810-25/+133
| | | | | | | | | | | * Moves enum Scope from DefinedAtom.h to Atom.h * Adds scope method to AbsoluteAtom class * Updates YAML to print scope of AbsoluteAtoms * Update Native Reader/Writer to handle this new, "attribute" * Adds testcase Reviewed and approved by Nick Kledzik llvm-svn: 166189
* * Add relocation reference support for Hexagon and PowerPC.Sid Manning2012-10-096-86/+370
| | | | | | | | | | | - Hexagon has many relocation types, this patch covers just a subset, more will be added. - PowerPC support was added so that we can verify mixed endian environments. * Add some basic test cases * Update ldd-core to accept -endian flag llvm-svn: 165477
* Fix incorrect setting of EI_DATASid Manning2012-10-051-1/+3
| | | | llvm-svn: 165310
* Added missing break in StockSectionChunk constructor.Hemant Kulkarni2012-10-031-3/+2
| | | | | | | | Removed architecture dependent .sbss section creation. Updated test case to show the change in section types and removal of a sbss section. llvm-svn: 165181
* * Return correct size and alignment for common symbols.Sid Manning2012-10-031-4/+4
| | | | llvm-svn: 165170
* Emit symbol tables.Hemant Kulkarni2012-10-011-273/+449
| | | | | | | Reorganize to derive all sections from SectionChunk. Construct section table header from SectionChunk. llvm-svn: 164981
* This change:Sid Manning2012-10-011-9/+29
| | | | | | | | | | * Updates ReaderELF.cpp contentType method to match ELF.h's logic and now handle typeData * Add -arch to ldd-core testdriver * Add testcase to check typeData * Update others to stay in sync with this change. llvm-svn: 164976
* Fix -Wcovered-switch-default warning.Michael J. Spencer2012-09-281-2/+0
| | | | llvm-svn: 164846
* Add case for typeConstant in SectionChunkSid Manning2012-09-261-1/+7
| | | | llvm-svn: 164732
* This patch makes use of recently added relocation reference data. The bulkSid Manning2012-09-251-2/+43
| | | | | | | | | | | | of this is derived from the Mach-O writer. Reviewed by: Nick Kledzik. * Adds loop to SectionChunk::write traverse references calling the writer's fixup handler, applyFixup. * Adds method, ELFWriter::buildAtomToAddressMap to that creates a mapping from an atom to its runtime address. * Adds method, ELFWriter::addressOfAtom to return the runtime address of the atom. llvm-svn: 164618
* Add ELFReference class - parse relocations needed by that class and update ↵Sid Manning2012-09-171-160/+386
| | | | | | DefinedAtom to use the class. Tweak coding style. Add testcase to check relocations. Change was signed-off-by: Michael Spencer llvm-svn: 164027
* ELF support for LLD writer. The writer at present emits ELF header and section Hemant Kulkarni2012-09-147-13/+1127
| | | | | | | | | | 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
* Fix warnings.Michael J. Spencer2012-09-105-26/+7
| | | | llvm-svn: 163573
* PR13467: Fix mach-o writer to handle case of zero stubs. Renumber ↵Nick Kledzik2012-07-301-0/+3
| | | | | | TestingHelpers kind values llvm-svn: 160982
* Fix warning from -Wshadow. Report errors back to caller rather than callingSid Manning2012-07-271-27/+20
| | | | | | llvm::report_fatal_error. llvm-svn: 160864
* Add a default constructor/destructor for ReaderOptionsPECOFFSid Manning2012-07-251-0/+6
| | | | llvm-svn: 160740
* Implement the ELF reader. The original implementation was by Hemant KulkarniSid Manning2012-07-251-7/+526
| | | | | | with subsequent changes to use lower level interfaces done by me. llvm-svn: 160732
* Minor edits to match style guidelines. No functionality changeMarshall Clow2012-07-171-6/+6
| | | | llvm-svn: 160370
* Unused var warning.Michael J. Spencer2012-06-211-1/+2
| | | | llvm-svn: 158944
* Fix MSVC compat. MSVC doesn't have bzero.Michael J. Spencer2012-06-171-2/+2
| | | | | | | | | | 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
* Add 'invalid' as a Reference Kind so that unknown/invalid kind strings can ↵Nick Kledzik2012-06-152-3/+24
| | | | | | return that fact to the caller for use in constructing an error message, rather that triggering an assertion. llvm-svn: 158547
* remove return statements after llvm_unreachable() as the compiler no longer ↵Nick Kledzik2012-06-152-13/+0
| | | | | | warns abot missing return values llvm-svn: 158544
* use llvm_unreachable() instead of assert(0) for invalid enum values in ↵Nick Kledzik2012-06-153-14/+15
| | | | | | switch statements llvm-svn: 158542
* Use ADT/StringSwitchNick Kledzik2012-06-151-73/+41
| | | | llvm-svn: 158541
* flesh out mach-o Reference KindsNick Kledzik2012-06-124-96/+218
| | | | llvm-svn: 158375
* Move implementation of WriterOptionsMachO to its own file. Reduced redundantNick Kledzik2012-06-1111-333/+1076
| | | | | | | | 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
* put the public function createReaderPECOFF() in the lld namespace and ↵Nick Kledzik2012-06-071-1/+6
| | | | | | everything else in is own namespace llvm-svn: 158135
* fix warnings found after cranking up warningsNick Kledzik2012-06-072-4/+6
| | | | llvm-svn: 158134
* abstract load commands to that WriterMachO can write 64-bit and 32-bit ↵Nick Kledzik2012-06-072-187/+401
| | | | | | mach-o files llvm-svn: 158133
* Major refactoring: Remove Platform concept. In its place there are Nick Kledzik2012-05-3128-0/+7398
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
OpenPOWER on IntegriCloud