summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter
Commit message (Collapse)AuthorAgeFilesLines
...
* [lld][ELF] split ELF reader into multiple functions for readability (no ↵Shankar Easwaran2013-05-071-114/+190
| | | | | | change in functionality) llvm-svn: 181288
* [ELF] Initialize readers and writers on creation.Michael J. Spencer2013-05-075-44/+22
| | | | | | | This makes the target handler a constructor argument because the constructor of OutputELFWriter relies on it being initialized. llvm-svn: 181280
* [lld][ELF] fix header comment typosTim Northover2013-05-062-2/+2
| | | | llvm-svn: 181188
* [lld][ELF] reduce the number of symbols emitted in the symbol tableShankar Easwaran2013-05-012-6/+10
| | | | llvm-svn: 180872
* [lld][ELF] continue on finding a section with no symbols, tests already presentShankar Easwaran2013-04-301-0/+1
| | | | llvm-svn: 180769
* [lld][ELF] (no testable functionality change) resize the number of entries ↵Shankar Easwaran2013-04-292-5/+7
| | | | | | in the string table for static linking llvm-svn: 180692
* [lld][ELF] (no testable functionality change) resize the number of entries ↵Shankar Easwaran2013-04-292-6/+28
| | | | | | in the string table for static linking llvm-svn: 180691
* Moved llvm_unreachable out of switch blocks to avoid the "control reaches ↵Andy Gibbs2013-04-161-2/+4
| | | | | | end of non-void function" warning. llvm-svn: 179590
* This adds functionality for undefined atoms from dynamic libraries to be addedShankar Easwaran2013-04-113-19/+26
| | | | | | | | | | | | 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-0510-47/+44
| | | | llvm-svn: 178918
* Correctly pass ownership of MemoryBuffers.Michael J. Spencer2013-04-0510-50/+49
| | | | llvm-svn: 178914
* Fix uninitialized variables. Found by ubsan.Michael J. Spencer2013-04-051-1/+1
| | | | llvm-svn: 178913
* This fixes a SIGSEGV failure in ReaderArchive while trying to trace whatShankar Easwaran2013-04-052-10/+27
| | | | | | | | | | | 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
* [ELF] fix atom orderShankar Easwaran2013-04-041-5/+12
| | | | llvm-svn: 178815
* This is my Driver refactoring patch. Nick Kledzik2013-04-0439-294/+996
| | | | | | | | | | | | | | | | | | | | | | | 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
* Update for API change for handling mips64el.Rafael Espindola2013-04-032-8/+18
| | | | llvm-svn: 178695
* [ELF][Hexagon] fix few relocations and add testShankar Easwaran2013-04-012-34/+45
| | | | llvm-svn: 178495
* [ELF][Hexagon] Create .got.plt entries with the appropriate alignmentShankar Easwaran2013-04-013-6/+14
| | | | llvm-svn: 178467
* [ELF] Set the symbol type for undefined atoms properlyShankar Easwaran2013-04-011-1/+4
| | | | llvm-svn: 178466
* [ELF] Add dynamic hash table and get simple dynamic libraries working with ↵Shankar Easwaran2013-03-295-49/+237
| | | | | | Hexagon llvm-svn: 178323
* [ELF] Cache contentType and permissions.Michael J. Spencer2013-03-282-18/+31
| | | | llvm-svn: 178269
* [ELF][Hexagon] remove duplicated codeShankar Easwaran2013-03-261-59/+27
| | | | llvm-svn: 178027
* [ELF] no change in functionality, add functions to symbol table so that they ↵Shankar Easwaran2013-03-261-69/+112
| | | | | | can be overridden by derived classes llvm-svn: 177990
* [ELF][Hexagon] add GOTREL/GOT relocationsShankar Easwaran2013-03-264-4/+56
| | | | llvm-svn: 177970
* [ELF] order rela.dyn/rela.plt properlyShankar Easwaran2013-03-261-2/+6
| | | | llvm-svn: 177969
* [ELF] fix dynamic symbol table entries and update testsShankar Easwaran2013-03-251-6/+8
| | | | llvm-svn: 177875
* [ELF][Reader] Add debug message to print all inputs the linker actually read.Michael J. Spencer2013-03-201-0/+1
| | | | llvm-svn: 177564
* [ELF][Reader][Perf] Only do loookup once.Michael J. Spencer2013-03-201-2/+3
| | | | llvm-svn: 177563
* [ELF][Reader] Refactor how relocations are read. Improves performance.Michael J. Spencer2013-03-201-20/+23
| | | | | | | | This changes from reading each relocation individually for each section to just storing the range of relocations. It also counts the relocations to preallocate the _references array. llvm-svn: 177562
* [ELF][Reader] Remove static ordinal.Michael J. Spencer2013-03-201-4/+1
| | | | llvm-svn: 177561
* memcpy instead of copy_n. Faster than copy_n on MSVC :(.Michael J. Spencer2013-03-201-1/+1
| | | | llvm-svn: 177557
* Devirtualize Reference::kind.Michael J. Spencer2013-03-203-32/+17
| | | | | | Improves performance. llvm-svn: 177556
* Devirtualize File::kind.Michael J. Spencer2013-03-205-10/+7
| | | | | | This is the standard way of implementing LLVM RTTI. llvm-svn: 177555
* Set ordinals correctly.Michael J. Spencer2013-03-203-8/+3
| | | | | | | This actually doesn't change behavior with the current LinkerInvocation, but it's needed when you make reading parallel. llvm-svn: 177554
* [ELF][Hexagon] Add Hexagon dynamic relocationsShankar Easwaran2013-03-203-8/+152
| | | | llvm-svn: 177484
* [ELF] Interp section is only needed in dynamic executablesShankar Easwaran2013-03-202-9/+14
| | | | llvm-svn: 177483
* [ELF] Order .got.plt properlyShankar Easwaran2013-03-201-1/+4
| | | | llvm-svn: 177482
* Add virtual destructors to fix -Wnon-virtual-dtor warningsAlexey Samsonov2013-03-191-0/+4
| | | | llvm-svn: 177392
* [lld] remove trailing whitespaceShankar Easwaran2013-03-1430-356/+356
| | | | llvm-svn: 177079
* [ELF][X86_64][Hexagon] order plt/got entries properly and fix testShankar Easwaran2013-03-132-13/+35
| | | | llvm-svn: 176970
* [ELF][Writer] Let std::vector handle allocating space instead of reserving ↵Michael J. Spencer2013-03-131-6/+0
| | | | | | tiny portions. llvm-svn: 176916
* [ELF] Set values for bss_start and end symbols properly, If there are two ↵Shankar Easwaran2013-03-112-5/+11
| | | | | | load segments with RW permissions, bss_start and end may get set inappropriate llvm-svn: 176795
* [Writer][ELF] Use correct data types for sizes. Fixes integer overflow bug.Michael J. Spencer2013-03-091-3/+3
| | | | | | This only happens when the section header count is > 1024. llvm-svn: 176747
* [ELF] Create baseclass for all ELF writersShankar Easwaran2013-03-083-587/+389
| | | | llvm-svn: 176724
* [ELF] Order weak symbols properlyShankar Easwaran2013-03-061-19/+59
| | | | llvm-svn: 176583
* Fix -Wdocumentation warning: use a correct Doxygen comment markerDmitri Gribenko2013-03-051-6/+6
| | | | llvm-svn: 176494
* [ELF] Set symbol type to STT_SECTION, so that objdump.bfd doesnot get ↵Shankar Easwaran2013-03-051-1/+7
| | | | | | confused when disassembling output llvm-svn: 176489
* [ELF] add dynamic library supportShankar Easwaran2013-03-051-7/+29
| | | | llvm-svn: 176483
* [ELF] Remove commentShankar Easwaran2013-03-054-17/+395
| | | | llvm-svn: 176482
* [ELF] no functionality change, update dynamicTable functionalityShankar Easwaran2013-03-042-71/+82
| | | | llvm-svn: 176430
OpenPOWER on IntegriCloud