summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/ELF/ARM/ARMTargetHandler.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove the old ELF linker.Rafael Espindola2016-02-281-32/+0
| | | | | | I think it is clear by now that the new linker is viable. llvm-svn: 262158
* [ARM] Add skeleton implementation of DSO linkingDenis Protivensky2015-05-211-0/+3
| | | | llvm-svn: 237881
* ELF: Use less templates for ELF types.Rui Ueyama2015-04-141-3/+2
| | | | | | | These classes are templated but actually instantiated for only one ELF type. llvm-svn: 234830
* ELF: Define ELF{32,64}{LE,BE} types and use them everywhere.Rui Ueyama2015-04-141-3/+3
| | | | llvm-svn: 234823
* ELF: Move registerRelocationNames() from TargetHandler to ↵Rui Ueyama2015-04-021-12/+0
| | | | | | | | | | | | | | | | | | | | | <Arch>ELFLinkingContext. registerRelocationNames() function is called to register all known ELF relocation types to the central registry. Since we have separate LinkingContext class for each ELF machine type, we need to call the function for each LinkingContext. However, the function belonged to TargetHandler instead of LinkingContext. So we needed to do ctx.getTargetHandler().registerRelocationNames(). This patch removes that redundant getTargetHandler call by moving the function from TargetHandler to LinkingContext. Conceptually this patch is small, but in reality it's not that small. It's because the same code is copied to each architecture. Most of this patch is just repetition. We need to merge them, but that cannot be done in this patch. llvm-svn: 233883
* ELF: x86, x86-64, ARM, AArch64: Remove architecture name prefixes from class ↵Rui Ueyama2015-04-021-5/+4
| | | | | | members. llvm-svn: 233873
* ELF: Remove <Arch>TargetHandler::kindString.Rui Ueyama2015-04-011-7/+7
| | | | | | | | | | | | | <Arch>TargetHandler::kindString is a static member variable containg a list of names of relocation types. The member is used only by one function, registerRelocationNames, so they don't have to be a static member. This patch makes the visibility of the data narrower by making them file-scoped variables in small files. llvm-svn: 233867
* Rename ELFLinkingContext instances "ctx" intead of "context".Rui Ueyama2015-03-271-7/+6
| | | | llvm-svn: 233344
* Use llvm::make_unique.Rui Ueyama2015-03-261-2/+2
| | | | llvm-svn: 233319
* [ARM] Implement static (initial exec) TLS modelDenis Protivensky2015-03-191-1/+2
| | | | | | | | This includes handling of R_ARM_TLS_IE32 and R_ARM_TLS_LE32 relocs. Differential Revision: http://reviews.llvm.org/D8353 llvm-svn: 232708
* [ELF] Minimal implementation for ARM static linkingGreg Fitzgerald2015-01-211-0/+43
The code is able to statically link the simplest case of: int main() { return 0; } * Only works with ARM code - no Thumb code, no interwork (-marm -mno-thumb-interwork) * musl libc built with no interwork and no Thumb code Differential Revision: http://reviews.llvm.org/D6716 From: Denis Protivensky <dprotivensky@accesssoftek.com> llvm-svn: 226643
OpenPOWER on IntegriCloud