Davide Italiano
318ca22914
[ELF2/AArch64] Add comment and change name to match the one of the ABI.
...
Fix style while I'm here.
llvm-svn: 249198
2015-10-02 22:13:51 +00:00
Davide Italiano
1f31a2c11c
[ELF2/AArch64] Add support for R_AARCH64_ADR_PREL_PG_H121
...
llvm-svn: 249195
2015-10-02 22:00:42 +00:00
Rafael Espindola
3c412e14cc
Expand a comment a bit.
...
llvm-svn: 248894
2015-09-30 12:30:58 +00:00
Rui Ueyama
5ba3ac4f10
Simplify switch statements. NFC.
...
llvm-svn: 248871
2015-09-30 01:40:08 +00:00
Rui Ueyama
e3fbc89c44
ELF2: Do not use host pointer size to calculate x86_64 relocation addresses.
...
Previous code had a potential portability issue because intptr_t is
not guaranteed to be 64 bit.
llvm-svn: 248856
2015-09-29 23:25:21 +00:00
Rafael Espindola
9a0db7cbef
Fix typo.
...
llvm-svn: 248855
2015-09-29 23:23:53 +00:00
Rafael Espindola
3ef3a4c9ff
Start adding support for static programs using dynamic libraries.
...
This is just enough for a hello world using a dynamic glibc.
llvm-svn: 248854
2015-09-29 23:22:16 +00:00
Rui Ueyama
1500a90093
ELF2: Do not create ArrayRefs and use const arrays instead. NFC.
...
llvm-svn: 248844
2015-09-29 23:00:47 +00:00
Rafael Espindola
8acb95c7ab
Add support for R_386_GOT32.
...
llvm-svn: 248799
2015-09-29 14:42:37 +00:00
Rafael Espindola
6d7fcdb518
Add R_386_GOTPC support.
...
llvm-svn: 248793
2015-09-29 13:36:32 +00:00
Simon Atanasyan
49829a1bfe
[ELF2] Add initial MIPS support
...
Besides a trivial MIPS support the patch introduces new TargetInfo class
member getDefaultEntry() to override default name of the entry symbol.
MIPS uses __start for that.
Differential Revision: http://reviews.llvm.org/D13227
llvm-svn: 248779
2015-09-29 05:34:03 +00:00
Davide Italiano
1d750a6fc3
[ELF2/AArch64] Support for R_AARCH64_ADR_PREL_LO21 relocation.
...
llvm-svn: 248679
2015-09-27 08:45:38 +00:00
Davide Italiano
cde9336717
[ELF2] Add initial AArch64 support.
...
Differential Revision: http://reviews.llvm.org/D13167
llvm-svn: 248641
2015-09-26 00:32:04 +00:00
Rafael Espindola
0872ea3954
Simplify with some ideas from COFF:
...
* add using namespace llvm::support::endian.
* create a add32le static helper.
Thanks to Rui for the suggestion.
llvm-svn: 248491
2015-09-24 14:16:02 +00:00
Rafael Espindola
cdfecffd80
Add support for relocating R_X86_64_GOTPCREL.
...
llvm-svn: 248425
2015-09-23 20:08:25 +00:00
Rafael Espindola
7f07442bb6
Move the last remaining hard coded relocations to Target.
...
Unfortunately the i386 and x86_64 relocation have the same numerical value
and it is a probably a bit much to add got support for another architecture
just to test this.
llvm-svn: 248326
2015-09-22 21:35:51 +00:00
Rafael Espindola
1d6063e804
Stub out ARM and PPC targets so that we can use a switch to create them.
...
llvm-svn: 248324
2015-09-22 21:24:52 +00:00
Rafael Espindola
3efa4e982e
Add a token ppc64 reloc just to have a test showing that we handle BE.
...
llvm-svn: 248321
2015-09-22 21:12:55 +00:00
Rafael Espindola
c40108858d
Move relocation processing to Target.
...
I will add a couple of ppc64 relocs in the next patches.
llvm-svn: 248319
2015-09-22 20:54:08 +00:00
Rafael Espindola
8c21fad1e8
Fix a merge problem.
...
r248289 got lots when I moved code to Target.cpp. Sorry about that.
llvm-svn: 248317
2015-09-22 20:06:19 +00:00
Rafael Espindola
01205f79a4
Start adding target abstractions.
...
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
2015-09-22 18:19:46 +00:00