Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [ELF][Writer] Add .interp section. | Michael J. Spencer | 2013-02-20 | 3 | -1/+32 | |
| | | | | llvm-svn: 175657 | |||||
* | [ELF][Writer] Add dynamic table. | Michael J. Spencer | 2013-02-20 | 4 | -2/+56 | |
| | | | | llvm-svn: 175654 | |||||
* | rename fixupAddend to relocAddend | Shankar Easwaran | 2013-02-20 | 2 | -2/+2 | |
| | | | | llvm-svn: 175638 | |||||
* | functionality to handle global atoms in Merge sections | Shankar Easwaran | 2013-02-20 | 4 | -22/+51 | |
| | | | | llvm-svn: 175636 | |||||
* | [ELF] Fix memory leak by deleting BumpPtr allocated objects. | Michael J. Spencer | 2013-02-19 | 4 | -38/+40 | |
| | | | | llvm-svn: 175558 | |||||
* | Switch a vector<pair<const T &, const U &>> to a vector<pair<const T *, | Chandler Carruth | 2013-02-19 | 1 | -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. Spencer | 2013-02-14 | 3 | -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. Spencer | 2013-02-14 | 7 | -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 Easwaran | 2013-02-13 | 2 | -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 Easwaran | 2013-02-13 | 1 | -15/+21 | |
| | | | | | | helloworld with glibc on x86_64 llvm-svn: 175038 | |||||
* | add support for merging common strings | Shankar Easwaran | 2013-02-12 | 2 | -15/+256 | |
| | | | | llvm-svn: 174990 | |||||
* | [ELF] Add support for reading dynamic libraries. | Michael J. Spencer | 2013-02-11 | 5 | -73/+328 | |
| | | | | llvm-svn: 174916 | |||||
* | fix segment ordering of elf segments | Shankar Easwaran | 2013-02-07 | 1 | -12/+42 | |
| | | | | llvm-svn: 174659 | |||||
* | add changes for layoutafter/layoutbefore/ingroup/layoutpass and test cases | Shankar Easwaran | 2013-02-07 | 8 | -31/+92 | |
| | | | | llvm-svn: 174658 | |||||
* | [Driver] Replace Target with TargetInfo. Simplify LinkerInput. | Michael J. Spencer | 2013-02-07 | 1 | -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. Spencer | 2013-02-05 | 1 | -2/+4 | |
| | | | | llvm-svn: 174428 | |||||
* | [ELF][Layout] Provide a proper way to get the TLS segment size. | Michael J. Spencer | 2013-02-05 | 2 | -13/+13 | |
| | | | | llvm-svn: 174427 | |||||
* | [ELF] Implement GOTPCREL for defined atoms. | Michael J. Spencer | 2013-02-05 | 1 | -7/+23 | |
| | | | | llvm-svn: 174426 | |||||
* | [ELF] Replace local dynamic tls access with direct access. | Michael J. Spencer | 2013-02-05 | 2 | -3/+43 | |
| | | | | llvm-svn: 174425 | |||||
* | [ELF] Use LLVM_IS_UNALIGNED_ACCESS_FAST. | Michael J. Spencer | 2013-02-03 | 1 | -4/+16 | |
| | | | | llvm-svn: 174276 | |||||
* | [ELF][Reader] Improve performance by removing calls to malloc. | Michael J. Spencer | 2013-02-03 | 1 | -17/+49 | |
| | | | | llvm-svn: 174275 | |||||
* | [ELF] Fix uninitialized variable. | Michael J. Spencer | 2013-02-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 174274 | |||||
* | remove duplicate strings from the string table | Shankar Easwaran | 2013-02-01 | 1 | -7/+31 | |
| | | | | llvm-svn: 174200 | |||||
* | add alignment to .got/.got.plt/.plt sections & fix tests | Shankar Easwaran | 2013-02-01 | 2 | -0/+15 | |
| | | | | llvm-svn: 174199 | |||||
* | add proper copyright header | Shankar Easwaran | 2013-02-01 | 2 | -2/+2 | |
| | | | | llvm-svn: 174178 | |||||
* | [ELF][x86-64] Fix ifunc and add test. | Michael J. Spencer | 2013-02-01 | 2 | -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. Spencer | 2013-02-01 | 2 | -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. Spencer | 2013-02-01 | 8 | -27/+94 | |
| | | | | llvm-svn: 174154 | |||||
* | [ELF][x86-64] Add the _GLOBAL_OFFSET_TABLE_ Atom in the correct location. | Michael J. Spencer | 2013-02-01 | 2 | -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. Spencer | 2013-02-01 | 1 | -14/+22 | |
| | | | | llvm-svn: 174149 | |||||
* | add hexagon scatter bits and split hexgontargethandler to ↵ | Shankar Easwaran | 2013-02-01 | 7 | -104/+3748 | |
| | | | | | | hexagonrelocationhander llvm-svn: 174148 | |||||
* | [ELF][x86-64] Improve unknown relocation message. | Michael J. Spencer | 2013-01-31 | 1 | -2/+3 | |
| | | | | llvm-svn: 174092 | |||||
* | [ELF] Create atoms for progbits sections with no symbols but still have content. | Michael J. Spencer | 2013-01-31 | 1 | -0/+22 | |
| | | | | llvm-svn: 174091 | |||||
* | add support for assigning virtual addresses to TDATA/TBSS sections | Shankar Easwaran | 2013-01-31 | 3 | -8/+24 | |
| | | | | llvm-svn: 174065 | |||||
* | [ELF] Fix circular initialization bug. | Michael J. Spencer | 2013-01-30 | 1 | -2/+1 | |
| | | | | llvm-svn: 173968 | |||||
* | [ELF] Use the target's LayoutHandler. | Michael J. Spencer | 2013-01-30 | 8 | -9/+25 | |
| | | | | llvm-svn: 173966 | |||||
* | hexagon targetinfo changes for getting the relocation kind from string and ↵ | Shankar Easwaran | 2013-01-30 | 2 | -0/+220 | |
| | | | | | | vice versa llvm-svn: 173942 | |||||
* | simplify hexagon relocations handling | Shankar Easwaran | 2013-01-30 | 1 | -4/+5 | |
| | | | | llvm-svn: 173938 | |||||
* | [ELF][x86-64] Add TargetLayout. | Michael J. Spencer | 2013-01-30 | 2 | -1/+8 | |
| | | | | llvm-svn: 173922 | |||||
* | Whitespace. | Michael J. Spencer | 2013-01-30 | 3 | -2/+2 | |
| | | | | llvm-svn: 173921 | |||||
* | [ELF] Remove ReferenceKinds. | Michael J. Spencer | 2013-01-30 | 12 | -770/+11 | |
| | | | | llvm-svn: 173912 | |||||
* | [ELF] Use TargetRelocationHandler to apply relocations. | Michael J. Spencer | 2013-01-30 | 1 | -13/+5 | |
| | | | | llvm-svn: 173911 | |||||
* | [ELF] Add {Hexagon,PPC,X86}TargetHandler. | Michael J. Spencer | 2013-01-30 | 15 | -19/+416 | |
| | | | | llvm-svn: 173909 | |||||
* | change DefaultLayout to TargetLayout inside member variables | Shankar Easwaran | 2013-01-30 | 1 | -1/+1 | |
| | | | | llvm-svn: 173906 | |||||
* | add targethandler hooks from Writer and cleanup | Shankar Easwaran | 2013-01-30 | 9 | -175/+121 | |
| | | | | llvm-svn: 173904 | |||||
* | [ELF][x86-64] Add X86_64TargetRelocationHandler and friends. | Michael J. Spencer | 2013-01-30 | 4 | -7/+147 | |
| | | | | llvm-svn: 173897 | |||||
* | [ELF] Add ELFTargetRelocationHandler. | Michael J. Spencer | 2013-01-30 | 2 | -0/+17 | |
| | | | | llvm-svn: 173896 | |||||
* | [ELF] Make AtomLayout more accessible. | Michael J. Spencer | 2013-01-30 | 5 | -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. Spencer | 2013-01-29 | 27 | -434/+428 | |
| | | | | llvm-svn: 173838 | |||||
* | remove targetInfo and layout from ELFTargetLayout | Shankar Easwaran | 2013-01-29 | 1 | -5/+2 | |
| | | | | llvm-svn: 173824 |