summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Writer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove the old ELF linker.Rafael Espindola2016-02-281-23/+0
| | | | | | I think it is clear by now that the new linker is viable. llvm-svn: 262158
* ELF: Make createWriterELF's type consistent with other functions.Rui Ueyama2015-04-021-2/+2
| | | | | | | | Other createWriter<Arch> functions take <Arch>LinkingContext as arguments. Only createWriterELF was an exception. This patch makes it consistent with others. llvm-svn: 233878
* ELF: Remove TargetHandlerBase by merging it with TargetHandler.Rui Ueyama2015-04-011-1/+1
| | | | | | | | | | | | | | | | | | | In r233772, I removed an empty class, DefaultTargetHandler, from the class hierarchy by merging the class with TargetHandler. I then found that TargetHandler and its base class, TargetHandlerBase, are also almost the same. We need to go deeper. In this patch, I merged TargetHandlerBase with TargetHandler. The only difference between them is the existence (or absense) of a pure virtual function registerRelocationName(). I added that function to the (new) TargetHandler. One more thing is that TargetHandler was templated for no reason. I made it non-templated class. llvm-svn: 233773
* Fix five of the shared library build targetsGreg Fitzgerald2015-01-211-1/+1
| | | | | | | | | | | | | | | | | | Before this patch there was a cyclic dependency between lldCore and lldReaderWriter. Only lldConfig could be built as a shared library. * Moved Reader and Writer base classes into lldCore. * The following shared libraries can now be built: lldCore lldYAML lldNative lldPasses lldReaderWriter Differential Revision: http://reviews.llvm.org/D7105 From: Greg Fitzgerald <garious@gmail.com> llvm-svn: 226732
* [ELF] Add Readers for all the ELF subtargets.Shankar Easwaran2014-10-181-1/+0
| | | | | | | | | 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
* Fix format.Rui Ueyama2014-03-281-1/+1
| | | | llvm-svn: 204989
* [ELF] Create Target specific Writers.Shankar Easwaran2014-01-271-46/+2
| | | | llvm-svn: 200176
* [lld][LinkingContext][ELF] Allow different output file types.Shankar Easwaran2013-09-231-1/+1
| | | | | | | | | | This adds an option --output-filetype that can be set to either YAML/Native(case insensitive). The linker would create the outputs associated with the type specified by the user. Changes all the tests to use the new option. llvm-svn: 191183
* remove trailing whitespaceShankar Easwaran2013-08-221-4/+4
| | | | llvm-svn: 188965
* Rename TargetInfo -> LinkingContext.Rui Ueyama2013-08-061-1/+1
| | | | | | | | | 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-38/+48
| | | | | | | | | | | | | | | | | | | | | | | 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-1/+1
| | | | llvm-svn: 177079
* [ELF] Remove commentShankar Easwaran2013-03-051-14/+34
| | | | llvm-svn: 176482
* [lld][ELF] Add modified writerShankar Easwaran2013-03-031-0/+38
| | | | llvm-svn: 176425
* [ELF] rename Writer to ExecutableWriterShankar Easwaran2013-03-031-484/+0
| | | | llvm-svn: 176416
* [ELF][Writer] Add dynamic relocation tables.Michael J. Spencer2013-02-271-0/+39
| | | | | | | This adds separate PLT and dynamic relocation tables. It also fills in the dynamic table entries for them. llvm-svn: 176150
* [ELF][Writer] Fill in dynamic table entries.Michael J. Spencer2013-02-251-1/+54
| | | | llvm-svn: 176045
* [ELF][Hexagon] add _SDA_BASE_(absolute symbol pointing to start of quickdata)Shankar Easwaran2013-02-241-0/+3
| | | | llvm-svn: 175997
* [ELF][Hexagon]add typeZeroFillFastShankar Easwaran2013-02-241-1/+2
| | | | llvm-svn: 175983
* [ELF][Writer] Add hash table.Michael J. Spencer2013-02-231-0/+4
| | | | llvm-svn: 175972
* [ELF][Writer] Add dynamic string and symbol table.Michael J. Spencer2013-02-231-22/+28
| | | | llvm-svn: 175941
* sort quickdata for the hexagon targetShankar Easwaran2013-02-221-3/+6
| | | | llvm-svn: 175904
* add changes for typeDataFastShankar Easwaran2013-02-221-0/+1
| | | | llvm-svn: 175901
* [ELF][Writer] Add .interp section.Michael J. Spencer2013-02-201-0/+5
| | | | llvm-svn: 175657
* [ELF][Writer] Add dynamic table.Michael J. Spencer2013-02-201-0/+10
| | | | llvm-svn: 175654
* [ELF] Fix memory leak by deleting BumpPtr allocated objects.Michael J. Spencer2013-02-191-27/+28
| | | | llvm-svn: 175558
* [ELF][Writer] Refactor Section to not have atoms. Move atoms into AtomSection.Michael J. Spencer2013-02-141-4/+6
| | | | | | | | | The purpose of this change is to simplify creating non-atom sections. Previously _contentType, _sectionKind and _order were used for multiple purposes and collided in places. This moves all of the Atom specific logic down into AtomSection and makes Section just have raw Elf_Shdr flags. llvm-svn: 175207
* [ELF] Add more absolute atoms. Simplify how they are resolved.Michael J. Spencer2013-02-011-14/+22
| | | | llvm-svn: 174149
* [ELF] Use the target's LayoutHandler.Michael J. Spencer2013-01-301-1/+1
| | | | llvm-svn: 173966
* [ELF] Remove ReferenceKinds.Michael J. Spencer2013-01-301-5/+0
| | | | llvm-svn: 173912
* change DefaultLayout to TargetLayout inside member variablesShankar Easwaran2013-01-301-1/+1
| | | | llvm-svn: 173906
* add targethandler hooks from Writer and cleanupShankar Easwaran2013-01-301-18/+30
| | | | llvm-svn: 173904
* [ELF] Make AtomLayout more accessible.Michael J. Spencer2013-01-301-12/+12
| | | | | | This is needed to allow constant time access to the final layout of atoms. llvm-svn: 173874
* [ELF] Chop the ELF prefix off of most things.Michael J. Spencer2013-01-291-0/+341
llvm-svn: 173838
OpenPOWER on IntegriCloud