summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/WriterELF.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [ELF] Chop the ELF prefix off of most things.Michael J. Spencer2013-01-291-341/+0
| | | | llvm-svn: 173838
* [ELF] Fix header sort order.Michael J. Spencer2013-01-291-1/+3
| | | | llvm-svn: 173822
* [ELF] Add support for IFUNC.Michael J. Spencer2013-01-291-35/+43
| | | | | | | | This sadly doesn't have a test for the final output because llvm-objdump can't dump relocations that don't belong to a section :( llvm-svn: 173808
* [ELF] Give Chunk a ELFTargetInfo.Michael J. Spencer2013-01-291-9/+9
| | | | llvm-svn: 173743
* [ELF] Remove OwningPtr from the Chunk::write interface.Michael J. Spencer2013-01-291-3/+3
| | | | llvm-svn: 173741
* [ELF] Use entry point from LinkerOptions.Michael J. Spencer2013-01-281-2/+2
| | | | | | Patch by Ahmed Bougacha! llvm-svn: 173655
* add elf targethandlerShankar Easwaran2013-01-251-1/+1
| | | | llvm-svn: 173430
* Move everything over to TargetInfo.Michael J. Spencer2013-01-231-26/+28
| | | | | | | | I really would have liked to split this patch up, but it would greatly complicate the lld-core and lld drivers having to deal with both {Reader,Writer}Option and TargetInfo. llvm-svn: 173217
* no functionality changes(split WriterELF into multiple files)Shankar Easwaran2013-01-211-1882/+1
| | | | llvm-svn: 173082
* [ELF] Update for LLVM Object/ELF changes.Michael J. Spencer2013-01-151-319/+185
| | | | llvm-svn: 172516
* [ELF] Replace [...] x_{begin,end}() with range<[...]> x().Michael J. Spencer2013-01-151-170/+112
| | | | llvm-svn: 172513
* [ELF] Fix use of LLVM RTTI.Michael J. Spencer2013-01-151-51/+29
| | | | llvm-svn: 172511
* remove const from FindByNameShankar Easwaran2013-01-151-1/+1
| | | | llvm-svn: 172507
* Fix shadowed variable warningNick Kledzik2013-01-141-3/+3
| | | | llvm-svn: 172482
* [ELF] Fix comment.Michael J. Spencer2013-01-111-1/+1
| | | | llvm-svn: 172266
* [ELF] Add AtomLayout instead of using pair<Atom, pair<uint64_t, uint64_t>>.Michael J. Spencer2013-01-111-19/+26
| | | | llvm-svn: 172265
* [ELF] Use the correct cast.Michael J. Spencer2013-01-111-2/+1
| | | | llvm-svn: 172264
* [ELF] Simplify assert.Michael J. Spencer2013-01-111-4/+2
| | | | llvm-svn: 172255
* better implementation for findOutputSectionShankar Easwaran2013-01-111-16/+6
| | | | llvm-svn: 172236
* [ELF] Add support for __init_array_{start,end}.Michael J. Spencer2013-01-101-1/+42
| | | | | | With this change c++ global constructors and destructors work. llvm-svn: 172133
* [ELF] Fixed -Wunused in -asserts mode.Michael J. Spencer2013-01-101-5/+4
| | | | llvm-svn: 172131
* style changesShankar Easwaran2013-01-101-8/+8
| | | | llvm-svn: 172080
* support for adding linker defined symbolsShankar Easwaran2013-01-101-47/+207
| | | | llvm-svn: 172040
* [ELF] Properly handle constant data.Michael J. Spencer2013-01-071-0/+4
| | | | | | With this hello world works with dietlibc on x86-64 Linux. llvm-svn: 171711
* [ELF] Emit the file header and program headers at the beginning of the first ↵Michael J. Spencer2013-01-071-38/+44
| | | | | | | | | | segment. This is required for the loader to correctly set AT_PHDR. With this lld can correctly link against dietlibc and get to main. llvm-svn: 171709
* [ELF] Change Segment to hold Chunks instead of Sections. No functionality ↵Michael J. Spencer2013-01-071-4/+7
| | | | | | change. llvm-svn: 171708
* [ELF] Remove dead variable.Michael J. Spencer2013-01-071-2/+0
| | | | llvm-svn: 171707
* [ELF] Emit zeroFill as STT_OBJECT in the final executable. ld does this.Michael J. Spencer2013-01-071-1/+1
| | | | llvm-svn: 171704
* [ELF] Update to llvm change.Michael J. Spencer2013-01-061-1/+1
| | | | llvm-svn: 171652
* Avoid MSVCRT assertion on comparing phdr iteratorsReid Kleckner2013-01-051-1/+3
| | | | llvm-svn: 171591
* [ELF][Writer] Don't infinite loop.Michael J. Spencer2013-01-051-1/+1
| | | | | | | This will be tested by a following committ that runs the linker with no inputs. llvm-svn: 171576
* [ELF] Handle misaligned ELF files properly.Michael J. Spencer2013-01-041-389/+471
| | | | llvm-svn: 171526
* add Changes to ELF Writer to layout sections/segments in the output executableShankar Easwaran2012-12-271-1188/+1878
| | | | llvm-svn: 171135
* Populate entry point into ELF executable.Hemant Kulkarni2012-11-211-19/+44
| | | | 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
* [ELF] Fix -Woverloaded-virtualMichael J. Spencer2012-11-011-1/+1
| | | | llvm-svn: 167246
* This update does the following:Sid Manning2012-10-181-5/+19
| | | | | | | | | | | * 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-091-1/+2
| | | | | | | | | | | - 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
* 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
* 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
* ELF support for LLD writer. The writer at present emits ELF header and section Hemant Kulkarni2012-09-141-8/+835
| | | | | | | | | | 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
* Major refactoring: Remove Platform concept. In its place there are Nick Kledzik2012-05-311-0/+35
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