summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/ELFTargetInfo.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename TargetInfo -> LinkingContext.Rui Ueyama2013-08-061-173/+0
| | | | | | | | | Also change some local variable names: "ti" -> "context" and "_targetInfo" -> "_context". Differential Revision: http://llvm-reviews.chandlerc.com/D1301 llvm-svn: 187823
* [ELF] add NMAGIC/OMAGIC supportShankar Easwaran2013-06-161-1/+2
| | | | llvm-svn: 184055
* Factor duplicated yamlReader creation.Rafael Espindola2013-06-111-2/+1
| | | | | | | | | | | The yaml reader is not specific to any file format. This patch moves it to TargetInfo and makes validate a non virtual interface so that it can be constructed from a single location. The same method will be used to create a reader for llvm bitcode files. llvm-svn: 183740
* Use early returns.Rafael Espindola2013-06-101-9/+12
| | | | | | No functionality change. llvm-svn: 183659
* [lld][elf] Add --dynamic-linker option to the ELF linker.Shankar Easwaran2013-05-291-5/+5
| | | | | | | | | Users can override the default value of the dynamic linker to be set to the one that appears in the command line. The path can even be empty!. Added a test for the option. llvm-svn: 182889
* Instrument things.Michael J. Spencer2013-05-281-0/+1
| | | | llvm-svn: 182789
* [lld][ELF][All Archs] Addend is used by dynamic relocationsShankar Easwaran2013-05-171-2/+5
| | | | | | | | | | | | | | only if they are relative. This removes the FIXME when the relocations are being emitted and checks if the relocation is relative and only then populates the addend information. I couldnt add a testcase for this as llvm-readobj lacks functionality of printing dynamic relocations. When the functionality is added, remove the commented lines from elf/ifunc.test to test functionality. llvm-svn: 182077
* [lld] Fix inconsistent style and do cleanup.Rui Ueyama2013-05-161-19/+14
| | | | llvm-svn: 182031
* [ELF] Initialize readers and writers on creation.Michael J. Spencer2013-05-071-28/+18
| | | | | | | This makes the target handler a constructor argument because the constructor of OutputELFWriter relies on it being initialized. llvm-svn: 181280
* This adds functionality for undefined atoms from dynamic libraries to be addedShankar Easwaran2013-04-111-1/+2
| | | | | | | | | | | | to the list of undefined atoms. The processing of undefined atoms from dynamic libraries is controlled by use-shlib-undefines command line option. This patch also adds additional command line arguments to allow/disallow unresolved symbols from shared libraries and mimics GNU ld behavior. llvm-svn: 179257
* Revert "Correctly pass ownership of MemoryBuffers."Michael J. Spencer2013-04-051-18/+18
| | | | llvm-svn: 178918
* Correctly pass ownership of MemoryBuffers.Michael J. Spencer2013-04-051-19/+18
| | | | llvm-svn: 178914
* This fixes a SIGSEGV failure in ReaderArchive while trying to trace whatShankar Easwaran2013-04-051-8/+25
| | | | | | | | | | | InputFile is being pulled from the Archive library to resolve a symbol. The buffer which was being used was already being handed over to the MemoryBuffer object and was being accessed after the hand over. Moving it before the buffer is handed over. llvm-svn: 178838
* This is my Driver refactoring patch. Nick Kledzik2013-04-041-53/+95
| | | | | | | | | | | | | | | | | | | | | | | 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
* [ELF][Reader] Add debug message to print all inputs the linker actually read.Michael J. Spencer2013-03-201-0/+1
| | | | llvm-svn: 177564
* Add basic linker script parsing.Michael J. Spencer2013-03-011-4/+20
| | | | llvm-svn: 176309
* [Core,Driver,ELF] Differentiate static and dynamic executables.Michael J. Spencer2013-02-141-1/+4
| | | | | | | This also adds a simple relocation change for dynamic executables to x86-64 ELF. llvm-svn: 175208
* add changes for layoutafter/layoutbefore/ingroup/layoutpass and test casesShankar Easwaran2013-02-071-0/+5
| | | | llvm-svn: 174658
* [Driver] Replace Target with TargetInfo. Simplify LinkerInput.Michael J. Spencer2013-02-071-0/+19
| | | | | | | | This removes Target and moves the functionality it had over to TargetInfo. This also simplifies LinkerInput by removing the InputKind. This will be handled elsewhere. llvm-svn: 174589
* [ELF] Chop the ELF prefix off of most things.Michael J. Spencer2013-01-291-6/+6
| | | | llvm-svn: 173838
* [ELF] Fix header sort order.Michael J. Spencer2013-01-291-3/+3
| | | | llvm-svn: 173822
* [ELF] Use entry point from LinkerOptions.Michael J. Spencer2013-01-281-0/+7
| | | | | | Patch by Ahmed Bougacha! llvm-svn: 173655
* add elf targethandlerShankar Easwaran2013-01-251-26/+9
| | | | llvm-svn: 173430
* Move everything over to TargetInfo.Michael J. Spencer2013-01-231-3/+10
| | | | | | | | 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
* Add {,ELF,MachO}TargetInfo.Michael J. Spencer2013-01-221-0/+81
llvm-svn: 173117
OpenPOWER on IntegriCloud