summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF] NMAGIC support : Find the BSS section to setup the virtual address of ↵Shankar Easwaran2013-06-121-9/+6
| | | | | | _end. llvm-svn: 183816
* [ELF] TBSS section has to be special cased so that it doesnot occupy memory ↵Shankar Easwaran2013-06-122-2/+15
| | | | | | space llvm-svn: 183815
* Convert another use of sys::identifyFileType.Rafael Espindola2013-06-111-6/+6
| | | | | | No functionality change. llvm-svn: 183762
* 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
* [ELF] Refactor File.h.Rui Ueyama2013-06-101-211/+217
| | | | | | | | | | | | | | | - Split createAtom() in lib/ReaderWriter/ELF/File.h into small methods. - Added comments to code in other methods. No functionality changes. Reviewers: shankarke CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D921 llvm-svn: 183696
* Use the StringRef version of identifyFileType.Rafael Espindola2013-06-101-2/+1
| | | | llvm-svn: 183670
* Use early returns.Rafael Espindola2013-06-101-9/+12
| | | | | | No functionality change. llvm-svn: 183659
* Fix handling of files without a symbol table.Rafael Espindola2013-06-071-1/+5
| | | | | | | | This fixes a recent regression (r183338). Stripped elf files (like installed crtn.o for example), are not required to have a symbol table. Handle that correctly. llvm-svn: 183573
* Update for llvm's r183337.Rafael Espindola2013-06-051-1/+1
| | | | llvm-svn: 183338
* [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
* Parallel write.Michael J. Spencer2013-05-283-7/+9
| | | | llvm-svn: 182795
* [ELF] Make addressOfAtom thread safe.Michael J. Spencer2013-05-281-1/+2
| | | | | | The expression _atomToAddressMap[atom] may modify _atomToAddressMap. llvm-svn: 182793
* Instrument things.Michael J. Spencer2013-05-284-5/+24
| | | | llvm-svn: 182789
* [ELF][Reader] Kind in this context refers to File::Kind. Qualify with ↵Michael J. Spencer2013-05-281-2/+2
| | | | | | Reference::Kind. llvm-svn: 182787
* Fix indentation.Rui Ueyama2013-05-251-2/+6
| | | | llvm-svn: 182709
* Use new version of countLeadingZeros.Michael J. Spencer2013-05-251-1/+1
| | | | llvm-svn: 182697
* [lld][ELF] Inline header files into the one file using itShankar Easwaran2013-05-214-182/+130
| | | | llvm-svn: 182427
* [lld][ELF][x86_64,hexagon] Changed dynamic atoms to live in anonymous namespaceShankar Easwaran2013-05-202-74/+71
| | | | | | | | so that their names are hidden. This addresses comments raised by Sean/Rafael. llvm-svn: 182230
* [lld][ELF][All Archs] Addend is used by dynamic relocationsShankar Easwaran2013-05-176-12/+57
| | | | | | | | | | | | | | 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][ELF][X86_64] Reorganize X86_64 Target specific codeShankar Easwaran2013-05-177-206/+266
| | | | | | | | | | | This patch splits X86_64Target specific code so that the dynamic atoms and the Relocation handlers are in seperate files for easier maintenace. The files are sure to grow and this makes it easier to work with. * There is no change in functionality * llvm-svn: 182076
* [lld] Do not create a temporary pair.Rui Ueyama2013-05-161-27/+21
| | | | llvm-svn: 182033
* [lld] Fix inconsistent style and do cleanup.Rui Ueyama2013-05-161-19/+14
| | | | llvm-svn: 182031
* [lld] Fix compiler warning that shift count is too big on P64.Rui Ueyama2013-05-141-1/+1
| | | | llvm-svn: 181852
* [lld][ELF] set ordinals for mergeAtoms and fix testcaseShankar Easwaran2013-05-102-6/+9
| | | | llvm-svn: 181622
* [lld][ELF] fix build failureShankar Easwaran2013-05-071-1/+0
| | | | llvm-svn: 181325
* [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-6/+28
| | | | | | in the string table for static linking llvm-svn: 180691
* 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-052-24/+23
| | | | llvm-svn: 178918
* Correctly pass ownership of MemoryBuffers.Michael J. Spencer2013-04-052-24/+24
| | | | 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
* [ELF] fix atom orderShankar Easwaran2013-04-041-5/+12
| | | | llvm-svn: 178815
* This is my Driver refactoring patch. Nick Kledzik2013-04-0424-149/+280
| | | | | | | | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud