summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/Mips
Commit message (Collapse)AuthorAgeFilesLines
...
* [Mips] Re-order include headers.Simon Atanasyan2014-04-291-3/+1
| | | | llvm-svn: 207495
* [Mips] Implement emitting of R_MIPS_REL32 relocations:Simon Atanasyan2014-04-297-25/+269
| | | | | | | | | | | | | 1. Re-implement PLT entries and dynamic relocations emitting to keep PLT and relocations table in a consistent state. 2. Initialize st_value and st_other fields for dynamic symbols table entry if this entry corresponds to an external function which address is taken in a non-PIC executable. In that case the st_value field holds an address of the function's PLT entry. Also set STO_MIPS_PLT bit in the st_other field. llvm-svn: 207494
* [Mips] 80 column.Simon Atanasyan2014-04-291-2/+6
| | | | llvm-svn: 207493
* [Mips] Convert MipsDynamicSymbolTable to the class template.Simon Atanasyan2014-04-283-10/+14
| | | | llvm-svn: 207435
* [Mips] Add the 'const' qualifier to the couple RelocationPass classSimon Atanasyan2014-04-281-4/+4
| | | | | | member functions. llvm-svn: 207434
* [Mips] Emit PLT entries for more static relocations.Simon Atanasyan2014-04-161-6/+18
| | | | llvm-svn: 206358
* [ELF] Regroup code creates ELF relocations references ELFReference intoSimon Atanasyan2014-04-122-71/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a couple of new virtual functions. Follow-up to the rL203408. Two virtual functions `createRelocationReference()` responsible for creation of `ELFReference` have been replaced by a couple of new virtual functions `createRelocationReferences()` (plural). Each former function creates a //single// ELFReference for a specified `Elf_Rela` or `Elf_Rel` relocation records. The new functions responsible for creation of //all// relocation references for provided symbol. For all targets except MIPS there are no functional changes. MIPS ABI has a notion of //paired// relocations. An effective addend of such relocations are calculated using addends of both pair's members. Each `R_MIPS_HI16` and `R_MIPS_GOT16` (for local symbols) relocations must have an associated `R_MIPS_LO16` entry immediately following it in the list of relocations. Immediately does not mean "next record" in relocations section but "next record referenced the same symbol". Moreover a single `R_MIPS_LO16` relocation can be paired with multiple preceding `R_MIPS_HI16/R_MIPS_GOT16` relocations. The paired relocation can have offsets belong to the different symbols. That is why we need to have access to list of all relocations during construction of `ELFReference` for MIPS target. The patch reviewed by Shankar Easwaran. llvm-svn: 206102
* [Mips] Factor out MIPS relocation addend reading to the separateSimon Atanasyan2014-04-111-8/+12
| | | | | | | | function. No functional changes. llvm-svn: 206023
* [Mips] R_MIPS_PC32 relocation support.Simon Atanasyan2014-04-114-0/+12
| | | | llvm-svn: 206018
* [ELF] Add "override" and remove "virtual".Rui Ueyama2014-03-281-2/+2
| | | | llvm-svn: 205056
* Make anonymous namespace as small as possible.Rui Ueyama2014-03-272-27/+22
| | | | llvm-svn: 204982
* [Mips] Fix formatting.Simon Atanasyan2014-03-241-1/+1
| | | | llvm-svn: 204607
* [Mips] Sort R_MIPS_LO16 / R_MIPS_HI16 / R_MIPS_GOT16 before findingSimon Atanasyan2014-03-241-9/+29
| | | | | | pairs and calculate AHL addend. llvm-svn: 204606
* [Mips] Emit LA25 MIPS stubs to call pic code from non-pic routines.Simon Atanasyan2014-03-212-22/+137
| | | | llvm-svn: 204503
* [Mips] Fix source code formatting. No functional changes.Simon Atanasyan2014-03-211-11/+11
| | | | llvm-svn: 204472
* [Mips] Reduce the number of 'const' casts.Simon Atanasyan2014-03-201-14/+14
| | | | llvm-svn: 204355
* [Mips] Join two for loops over defined atoms into the single one.Simon Atanasyan2014-03-201-4/+3
| | | | llvm-svn: 204354
* [Mips] Remove the dead code.Simon Atanasyan2014-03-201-4/+0
| | | | llvm-svn: 204353
* [Mips] Remove unused member function argument.Simon Atanasyan2014-03-201-4/+3
| | | | llvm-svn: 204352
* [Mips] Remove unused function.Simon Atanasyan2014-03-191-7/+0
| | | | llvm-svn: 204248
* [Mips] Fix handling of R_MIPS_GOT16 relocation and building local partSimon Atanasyan2014-03-195-9/+29
| | | | | | | | | of GOT. * Read addend for R_MIPS_GOT16 relocation. * Put only high 16 bits of symbol + addend into GOT entries for locally visible symbols. llvm-svn: 204247
* [Mips] Handle R_MIPS_GOT16 relocation for external and local symbols inSimon Atanasyan2014-03-194-9/+0
| | | | | | a uniform way. llvm-svn: 204246
* [Mips] Factor out the code creates GOT entry atoms into the twoSimon Atanasyan2014-03-191-16/+36
| | | | | | | functions. The first one is for local GOT entries. The second one is for global GOT entries. llvm-svn: 204245
* [Mips] Add 'const' qualifier to the function.Simon Atanasyan2014-03-191-2/+2
| | | | llvm-svn: 204244
* [Mips] Move AHL addends calculation to the RelocationPass class.Simon Atanasyan2014-03-193-67/+46
| | | | llvm-svn: 204243
* [Mips] Move RelocationPass class member function definitions out of theSimon Atanasyan2014-03-191-197/+215
| | | | | | class. llvm-svn: 204242
* [Mips] Fix addendum reading for R_MIPS_26 relocation.Simon Atanasyan2014-03-091-1/+1
| | | | llvm-svn: 203412
* [Mips] Fix addendum reading for R_MIPS_32 relocation.Simon Atanasyan2014-03-091-3/+13
| | | | llvm-svn: 203411
* [Mips] Fix addendum reading for R_MIPS_HI16 / R_MIPS_LO16 relocations.Simon Atanasyan2014-03-091-0/+17
| | | | llvm-svn: 203410
* [Mips] Create ELF object reader for MIPS target.Simon Atanasyan2014-03-093-0/+119
| | | | llvm-svn: 203409
* [Mips] Remove redundant 'mips' prefix from names of MipsELFWriter classSimon Atanasyan2014-03-091-15/+14
| | | | | | fields. llvm-svn: 203406
* [Mips] Reduce the code indentation.Simon Atanasyan2014-03-091-15/+16
| | | | llvm-svn: 203405
* [Mips] Change unused return type from 'bool' to 'void'.Simon Atanasyan2014-03-091-2/+1
| | | | llvm-svn: 203404
* [Mips] Remove unnecessary LLVM_ATTRIBUTE_UNUSED attribute.Simon Atanasyan2014-03-091-1/+1
| | | | llvm-svn: 203403
* [Mips] Do not inherit MipsDynamicLibraryWriter and MipsExecutableWriterSimon Atanasyan2014-03-093-12/+11
| | | | | | from MipsELFWriter class. MipsELFWriter is just a helper. llvm-svn: 203402
* [Mips] Mark class by 'final' keyword.Simon Atanasyan2014-03-091-3/+3
| | | | llvm-svn: 203401
* [Mips] Remove redundant 'mips' prefix from names of MipsTargetHandlerSimon Atanasyan2014-03-092-19/+18
| | | | | | and MipsDynamicSymbolTable classes fields. llvm-svn: 203400
* [Mips] Remove redundant call to the unique_ptr::get() method followedSimon Atanasyan2014-03-092-5/+5
| | | | | | by the returned pointer dereferencing. llvm-svn: 203399
* [Mips] Remove unused class field.Simon Atanasyan2014-03-092-5/+3
| | | | llvm-svn: 203398
* [Mips] Removed extra space. Thanks to dexonsmith's eagle eye.Simon Atanasyan2014-03-071-1/+1
| | | | llvm-svn: 203201
* [Mips] Replace "virtual" by "override" in member function declarationsSimon Atanasyan2014-03-068-38/+38
| | | | | | where it is appropriate. llvm-svn: 203102
* [C++11] Switch from LLVM_FINAL to just "final" now that all of LLVM isChandler Carruth2014-03-023-4/+4
| | | | | | requiring MSVC 2012 or newer. llvm-svn: 202626
* [Mips] Remove non-ASCII symbol from the comment.Simon Atanasyan2014-02-261-1/+1
| | | | llvm-svn: 202290
* [Mips] Split reloc26 function into two parts - for processing local andSimon Atanasyan2014-02-261-7/+11
| | | | | | external relocations. llvm-svn: 202289
* [Mips] Use a correct number of bits when apply result of calculated relocation.Simon Atanasyan2014-02-261-11/+12
| | | | llvm-svn: 202288
* [Mips] Exit from the class method as soon as possible.Simon Atanasyan2014-02-261-3/+4
| | | | llvm-svn: 202287
* [Mips] Simplify the code. Replace redundant 'switch' operator by the single ↵Simon Atanasyan2014-02-111-7/+1
| | | | | | 'if' one. llvm-svn: 201131
* [Mips] Handle R_MIPS_COPY relocation.Simon Atanasyan2014-02-114-0/+57
| | | | llvm-svn: 201129
* [Mips] In case of executable file linking MIPS ABI requires to add evenSimon Atanasyan2014-02-033-0/+23
| | | | | | | undefined symbols to '.dynsym' if these symbols have corresponding entries in a global part of GOT. llvm-svn: 200716
* [Mips] Unify #include guard names.Simon Atanasyan2014-02-039-22/+23
| | | | llvm-svn: 200715
OpenPOWER on IntegriCloud