summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/DefaultTargetHandler.h
Commit message (Collapse)AuthorAgeFilesLines
* ELF: Remove dead class that does nothing in class hierarchy.Rui Ueyama2015-03-311-38/+0
| | | | | | | | | | | | | | DefaultTargetHandler is the base class of all <Arch>TargetHandler classes, and it's the only derived class of TargetHandler class. TargetHandler and DefaultTargetHandler are actually the same. They define the same set of pure virtual functions. DefaultTargetHandler is a useless class in the class hierarchy -- it shouldn't have been added in the first place. This patch makes all <Arch>TargetHandler classes directly derive from TargetHandler and removes DefaultTargetHandler. llvm-svn: 233772
* [ELF] Add LinkingContext to the ELFReader.Shankar Easwaran2015-02-121-2/+2
| | | | | | | | | | | | | | | This adds the LinkingContext parameter to the ELFReader. Previously the flags in that were needed in the Context was passed to the ELFReader, this made it very hard to access data structures in the LinkingContext when reading an ELF file. This change makes the ELFReader more flexible so that required parameters can be grabbed directly from the LinkingContext. Future patches make use of the changes. There is no change in functionality though. llvm-svn: 228905
* [ELF] Remove TargetHandler and DefaultTargetHandler constructorsSimon Atanasyan2015-01-161-3/+0
| | | | | | | These classes contain only abstract virtual functions. Explicit constructors are redundant. llvm-svn: 226265
* [ELF] Make `TargetRelocationHandler` a regular non-template classSimon Atanasyan2015-01-161-1/+1
| | | | | | | This class defines a relocation handler interface. The interface does not depend on the template argument so the argument is redundant. llvm-svn: 226259
* [ELF] Remove duplicate code.Shankar Easwaran2014-10-211-9/+3
| | | | | | | The base class ELFObjectReader/ELFDSOReader implement the canParse functionaity with this change. llvm-svn: 220261
* [ELF] Add Readers for all the ELF subtargets.Shankar Easwaran2014-10-181-4/+2
| | | | | | | | | This would permit the ELF reader to check the architecture that is being selected by the linking process. This patch also sorts the include files according to LLVM conventions. llvm-svn: 220129
* [ELF] Make changes to all the targets supported currentlyShankar Easwaran2014-01-271-95/+1
| | | | | | | | X86_64,X86,PPC,Hexagon,Mips No change in functionality. llvm-svn: 200177
* [ELF] Create Target specific Writers.Shankar Easwaran2014-01-271-1/+57
| | | | llvm-svn: 200176
* [ELF] Add Target specific Readers.Shankar Easwaran2014-01-271-6/+10
| | | | | | No change in functionality. llvm-svn: 200175
* Linking of shared libraries for MIPS little-endian 32-bit target.Simon Atanasyan2013-12-151-0/+18
| | | | | | | | | | | | | | | | | | | | | The following are the most significant peculiarities of MIPS target: - MIPS ABI requires some special tags in the dynamic table. - GOT consists of two parts local and global. The local part contains entries refer locally visible symbols. The global part contains entries refer global symbols. - Entries in the .dynsym section which have corresponded entries in the GOT should be: * Emitted at the end of .dynsym section * Sorted accordingly to theirs GOT counterparts - There are "paired" relocations. One or more R_MIPS_HI16 and R_MIPS_GOT16 relocations should be followed by R_MIPS_LO16 relocation. To calculate result of R_MIPS_HI16 and R_MIPS_GOT16 relocations we need to combine addends from these relocations and paired R_MIPS_LO16 relocation. The patch reviewed by Michael Spencer, Shankar Easwaran, Rui Ueyama. http://llvm-reviews.chandlerc.com/D2156 llvm-svn: 197342
* Fix include guards.Rui Ueyama2013-11-151-2/+2
| | | | llvm-svn: 194776
* [lld][InputGraph] Change the Resolver to use inputGraphShankar Easwaran2013-10-071-1/+3
| | | | | | | | | | | | Changes :- a) Functionality in InputGraph to insert Input elements at any position b) Functionality in the Resolver to use nextFile c) Move the functionality of assigning file ordinals to InputGraph d) Changes all inputs to MemoryBuffers e) Remove LinkerInput, InputFiles, ReaderArchive llvm-svn: 192081
* [lld][ELF] Cleanup ELF writing, No change in functionalityShankar Easwaran2013-08-261-2/+2
| | | | | | | | | | The cleanup includes :- * Rename ambiguous Header class to ELFHeader * Convert Chunk contentype and kind to be a enumerated class * Remove functions that are not being used, avoids future confusion llvm-svn: 189209
* Rename TargetInfo -> LinkingContext.Rui Ueyama2013-08-061-4/+3
| | | | | | | | | Also change some local variable names: "ti" -> "context" and "_targetInfo" -> "_context". Differential Revision: http://llvm-reviews.chandlerc.com/D1301 llvm-svn: 187823
* This is my Driver refactoring patch. Nick Kledzik2013-04-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | The major changes are: 1) LinkerOptions has been merged into TargetInfo 2) LinkerInvocation has been merged into Driver 3) Drivers no longer convert arguments into an intermediate (core) argument list, but instead create a TargetInfo object and call setter methods on it. This is only how in-process linking would work. That is, you can programmatically set up a TargetInfo object which controls the linking. 4) Lots of tweaks to test suite to work with driver changes 5) Add the DarwinDriver 6) I heavily doxygen commented TargetInfo.h Things to do after this patch is committed: a) Consider renaming TargetInfo, given its new roll. b) Consider pulling the list of input files out of TargetInfo. This will enable in-process clients to create one TargetInfo the re-use it with different input file lists. c) Work out a way for Drivers to format the warnings and error done in core linking. llvm-svn: 178776
* [lld] remove trailing whitespaceShankar Easwaran2013-03-141-2/+2
| | | | llvm-svn: 177079
* [ELF] Use the target's LayoutHandler.Michael J. Spencer2013-01-301-5/+0
| | | | llvm-svn: 173966
* Whitespace.Michael J. Spencer2013-01-301-1/+0
| | | | llvm-svn: 173921
* [ELF] Add ELFTargetRelocationHandler.Michael J. Spencer2013-01-301-0/+4
| | | | llvm-svn: 173896
* [ELF] Chop the ELF prefix off of most things.Michael J. Spencer2013-01-291-0/+67
llvm-svn: 173838
OpenPOWER on IntegriCloud