summaryrefslogtreecommitdiffstats
path: root/lld/ELF/OutputSections.h
Commit message (Collapse)AuthorAgeFilesLines
...
* Include hidden and internal symbols in the regular symbol table.Rafael Espindola2015-10-051-1/+2
| | | | | | | This matches the behavior of bfd ld and gold. It is also convenient for testing other changes. llvm-svn: 249323
* [ELF2] Add DT_INIT and DT_FINI dynamic table entriesIgor Kudrin2015-10-051-1/+5
| | | | | | | | | | | | | | The entries are added if there are "_init" or "_fini" entries in the symbol table respectively. According to the behavior of ld, entries are inserted even for undefined symbols. Symbol names can be overridden by using -init and -fini command line switches. If used, these switches neither add new symbol table entries nor require those symbols to be resolved. Differential Revision: http://reviews.llvm.org/D13385 llvm-svn: 249297
* Add static initialization/finalization array support.Rafael Espindola2015-10-021-1/+5
| | | | | | | This adds entries in the dynamic table for .init_array, .fini_array and .preinit_array. llvm-svn: 249175
* [ELF2] Fix mixed-Endian handling in DynamicSection<ELFT>::writeToHal Finkel2015-10-021-0/+1
| | | | | | | | | | | | | | Using the "raw" Elf64_Dyn or Elf32_Dyn structures in DynamicSection<ELFT>::writeTo does not correctly handle mixed-Endian situations. Instead, use the corresponding llvm::object::* structures which have Endian-converting members (like the rest of the code). This fixes all currently-failing elf2 tests when running on big-Endian PPC64/Linux (I've added a big-Endian test case which should fail on little-Endian machines in the same way that test/elf2/shared.s failed on big-Endian machines prior to this change). llvm-svn: 249150
* ELF2: Add DT_REL{,A}ENT and DT_SYMENT.Rui Ueyama2015-09-301-0/+3
| | | | | | | | According to the ELF specification, these dynamic array entries are mandatory. http://reviews.llvm.org/D13303 llvm-svn: 248952
* ELF2: Split SymbolTableSection<ELFT>::writeTo into two smaller functions.Rui Ueyama2015-09-301-0/+3
| | | | | | Also added brief comments. llvm-svn: 248864
* [ELF2] Don't inline function and define it in OutputSection.cpp. NFC.Davide Italiano2015-09-261-8/+1
| | | | | | Reported/Requested by: Rafael Espindola llvm-svn: 248643
* Add support for creating the symbols __init_array_start and __init_array_end.Rafael Espindola2015-09-251-1/+1
| | | | llvm-svn: 248604
* Move more logic to getSymVA to avoid code duplication.Rafael Espindola2015-09-251-1/+2
| | | | llvm-svn: 248599
* Move a few methods out of line. NFC.Rafael Espindola2015-09-251-68/+8
| | | | llvm-svn: 248586
* [ELF2] Make buildbot happy again.Davide Italiano2015-09-251-1/+1
| | | | llvm-svn: 248560
* [ELF2] Use static non-member function when it suffices.Davide Italiano2015-09-251-2/+10
| | | | | | Pointed out by Rui Ueyama. llvm-svn: 248559
* [ELF2] Add support for -discard-none.Davide Italiano2015-09-241-0/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D13083 llvm-svn: 248499
* Create the .bss section early so that we don't have to set it after the fact.Rafael Espindola2015-09-231-8/+8
| | | | llvm-svn: 248412
* [elf2] Pass BSSSec to the relocation handling code differently. Don't store ↵Michael J. Spencer2015-09-231-0/+2
| | | | | | it in the symbol. llvm-svn: 248393
* [ELF2] Constify getStrTabSec().Davide Italiano2015-09-231-1/+1
| | | | llvm-svn: 248360
* Implement --export-dynamic.Rafael Espindola2015-09-221-0/+1
| | | | llvm-svn: 248347
* Start adding target abstractions.Rafael Espindola2015-09-221-3/+0
| | | | | | | | | | This is just enough to get PLT working on 32 bit x86. The idea behind using a virtual interface is that it should be easy to convert any of the functions to template parameters if any turns out to be performance critical. llvm-svn: 248308
* Remove the Chunk terminology from ELF.Rafael Espindola2015-09-221-6/+6
| | | | llvm-svn: 248229
* Make InputSection able to relocate itself.Rafael Espindola2015-09-211-11/+0
| | | | | | This matches the organization used in COFF. llvm-svn: 248215
* Move OutputSectionBase and derived classes out of Writer.cpp.Rafael Espindola2015-09-211-0/+396
The file was getting a bit too big and OutputSection is a central enough concept in ELF linking to justify its own file. llvm-svn: 248214
OpenPOWER on IntegriCloud