summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF
Commit message (Collapse)AuthorAgeFilesLines
...
* [ELF][Writer] Add .interp section.Michael J. Spencer2013-02-203-1/+32
| | | | llvm-svn: 175657
* [ELF][Writer] Add dynamic table.Michael J. Spencer2013-02-204-2/+56
| | | | llvm-svn: 175654
* rename fixupAddend to relocAddendShankar Easwaran2013-02-202-2/+2
| | | | llvm-svn: 175638
* functionality to handle global atoms in Merge sectionsShankar Easwaran2013-02-204-22/+51
| | | | llvm-svn: 175636
* [ELF] Fix memory leak by deleting BumpPtr allocated objects.Michael J. Spencer2013-02-194-38/+40
| | | | llvm-svn: 175558
* Switch a vector<pair<const T &, const U &>> to a vector<pair<const T *,Chandler Carruth2013-02-191-7/+7
| | | | | | | | | | | const U *>>. Even in C++11 it doesn't seem this is valid as vector's emplace support requires move assignment, and there is no way to move assign a reference. The real motivation however is that this fixes the build of lld with libstdc++ 4.6. llvm-svn: 175481
* [Core,Driver,ELF] Differentiate static and dynamic executables.Michael J. Spencer2013-02-143-57/+107
| | | | | | | This also adds a simple relocation change for dynamic executables to x86-64 ELF. llvm-svn: 175208
* [ELF][Writer] Refactor Section to not have atoms. Move atoms into AtomSection.Michael J. Spencer2013-02-147-273/+236
| | | | | | | | | 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
* fix the mergeable string atom, when the target points to a symbol which is ↵Shankar Easwaran2013-02-132-6/+15
| | | | | | at a relative offset from the start of the .rodata section llvm-svn: 175039
* add merge strings option, this temporarily fixes the problem bringing up ↵Shankar Easwaran2013-02-131-15/+21
| | | | | | helloworld with glibc on x86_64 llvm-svn: 175038
* add support for merging common stringsShankar Easwaran2013-02-122-15/+256
| | | | llvm-svn: 174990
* [ELF] Add support for reading dynamic libraries.Michael J. Spencer2013-02-115-73/+328
| | | | llvm-svn: 174916
* fix segment ordering of elf segmentsShankar Easwaran2013-02-071-12/+42
| | | | llvm-svn: 174659
* add changes for layoutafter/layoutbefore/ingroup/layoutpass and test casesShankar Easwaran2013-02-078-31/+92
| | | | 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][x86-64] Handle PLT32 relocations to IFUNC.Michael J. Spencer2013-02-051-2/+4
| | | | llvm-svn: 174428
* [ELF][Layout] Provide a proper way to get the TLS segment size.Michael J. Spencer2013-02-052-13/+13
| | | | llvm-svn: 174427
* [ELF] Implement GOTPCREL for defined atoms.Michael J. Spencer2013-02-051-7/+23
| | | | llvm-svn: 174426
* [ELF] Replace local dynamic tls access with direct access.Michael J. Spencer2013-02-052-3/+43
| | | | llvm-svn: 174425
* [ELF] Use LLVM_IS_UNALIGNED_ACCESS_FAST.Michael J. Spencer2013-02-031-4/+16
| | | | llvm-svn: 174276
* [ELF][Reader] Improve performance by removing calls to malloc.Michael J. Spencer2013-02-031-17/+49
| | | | llvm-svn: 174275
* [ELF] Fix uninitialized variable.Michael J. Spencer2013-02-031-1/+1
| | | | llvm-svn: 174274
* remove duplicate strings from the string tableShankar Easwaran2013-02-011-7/+31
| | | | llvm-svn: 174200
* add alignment to .got/.got.plt/.plt sections & fix testsShankar Easwaran2013-02-012-0/+15
| | | | llvm-svn: 174199
* add proper copyright headerShankar Easwaran2013-02-012-2/+2
| | | | llvm-svn: 174178
* [ELF][x86-64] Fix ifunc and add test.Michael J. Spencer2013-02-012-2/+2
| | | | | | | | | In an previous commit I managed to completely disable the IRELATIVE relocation writing code. I also used the wrong addend for the static relocation. Fix both these issues and add a test. This test is quite brittle because there's no way to do arithmetic on variables in FileCheck. llvm-svn: 174161
* [ELF][x86-64] Implement static relocation model for TLS.Michael J. Spencer2013-02-012-43/+176
| | | | | | This implements the static relocation model for GOT accesses to TLS. llvm-svn: 174155
* [ELF][x86-84] Add static TLS support.Michael J. Spencer2013-02-018-27/+94
| | | | llvm-svn: 174154
* [ELF][x86-64] Add the _GLOBAL_OFFSET_TABLE_ Atom in the correct location.Michael J. Spencer2013-02-012-3/+42
| | | | | | Now we link against glibc without --noinhibit-exec. llvm-svn: 174150
* [ELF] Add more absolute atoms. Simplify how they are resolved.Michael J. Spencer2013-02-011-14/+22
| | | | llvm-svn: 174149
* add hexagon scatter bits and split hexgontargethandler to ↵Shankar Easwaran2013-02-017-104/+3748
| | | | | | hexagonrelocationhander llvm-svn: 174148
* [ELF][x86-64] Improve unknown relocation message.Michael J. Spencer2013-01-311-2/+3
| | | | llvm-svn: 174092
* [ELF] Create atoms for progbits sections with no symbols but still have content.Michael J. Spencer2013-01-311-0/+22
| | | | llvm-svn: 174091
* add support for assigning virtual addresses to TDATA/TBSS sectionsShankar Easwaran2013-01-313-8/+24
| | | | llvm-svn: 174065
* [ELF] Fix circular initialization bug.Michael J. Spencer2013-01-301-2/+1
| | | | llvm-svn: 173968
* [ELF] Use the target's LayoutHandler.Michael J. Spencer2013-01-308-9/+25
| | | | llvm-svn: 173966
* hexagon targetinfo changes for getting the relocation kind from string and ↵Shankar Easwaran2013-01-302-0/+220
| | | | | | vice versa llvm-svn: 173942
* simplify hexagon relocations handlingShankar Easwaran2013-01-301-4/+5
| | | | llvm-svn: 173938
* [ELF][x86-64] Add TargetLayout.Michael J. Spencer2013-01-302-1/+8
| | | | llvm-svn: 173922
* Whitespace.Michael J. Spencer2013-01-303-2/+2
| | | | llvm-svn: 173921
* [ELF] Remove ReferenceKinds.Michael J. Spencer2013-01-3012-770/+11
| | | | llvm-svn: 173912
* [ELF] Use TargetRelocationHandler to apply relocations.Michael J. Spencer2013-01-301-13/+5
| | | | llvm-svn: 173911
* [ELF] Add {Hexagon,PPC,X86}TargetHandler.Michael J. Spencer2013-01-3015-19/+416
| | | | llvm-svn: 173909
* change DefaultLayout to TargetLayout inside member variablesShankar Easwaran2013-01-301-1/+1
| | | | llvm-svn: 173906
* add targethandler hooks from Writer and cleanupShankar Easwaran2013-01-309-175/+121
| | | | llvm-svn: 173904
* [ELF][x86-64] Add X86_64TargetRelocationHandler and friends.Michael J. Spencer2013-01-304-7/+147
| | | | llvm-svn: 173897
* [ELF] Add ELFTargetRelocationHandler.Michael J. Spencer2013-01-302-0/+17
| | | | llvm-svn: 173896
* [ELF] Make AtomLayout more accessible.Michael J. Spencer2013-01-305-79/+66
| | | | | | 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-2927-434/+428
| | | | llvm-svn: 173838
* remove targetInfo and layout from ELFTargetLayoutShankar Easwaran2013-01-291-5/+2
| | | | llvm-svn: 173824
OpenPOWER on IntegriCloud