Sid Manning
261eec5fa5
[ELF][HEXAGON] Add support for GOT relocations.
...
The GOT is referenced through the symbol _GLOBAL_OFFSET_TABLE_ .
The relocation added calculates the offset into the global offset table for
the entry of a symbol. In order to get the correct TargetVA I needed to
create an new relocation expression, HEXAGON_GOT. It does
Sym.getGotVA() - In.GotPlt->getVA().
Differential Revision: https://reviews.llvm.org/D52744
llvm-svn: 343784
2018-10-04 14:54:17 +00:00
Sid Manning
490429d069
[ELF] [HEXAGON] Add support for PLT_B22_PCREL and HEX_32_PCREL
...
Update testcase.
Differential Revision: https://reviews.llvm.org/D52734
llvm-svn: 343515
2018-10-01 18:27:26 +00:00
Sid Manning
fc50e63a2a
[ELF][HEXAGON] Add support for dynamic libraries
...
Write out the PLT header and stub.
Hexagon uses RELA relocations.
Differential Revision: https://reviews.llvm.org/D52317
llvm-svn: 343320
2018-09-28 14:09:16 +00:00
George Rimar
95aae4c59d
[ELF] - Do not fail on R_*_NONE relocations when parsing the debug info.
...
This is https://bugs.llvm.org//show_bug.cgi?id=38919 .
Currently, LLD may report "unsupported relocation target while parsing debug info"
when parsing the debug information.
At the same time LLD does that for zeroed R_X86_64_NONE relocations,
which obviously has "invalid" targets.
The nature of R_*_NONE relocation assumes them should be ignored.
This patch teaches LLD to stop reporting the debug information parsing errors for them.
Differential revision: https://reviews.llvm.org/D52408
llvm-svn: 343078
2018-09-26 08:11:34 +00:00
Sid Manning
6d0e4fce1a
[ELF][HEXAGON] Set DefaultMaxPageSize to 64K
...
Update testcase to reflect the change.
llvm-svn: 342662
2018-09-20 16:32:19 +00:00
Sid Manning
569a56d6a0
[ELF][HEXAGON] Add R_HEX_11/10/9_X support
...
Differential Revision: https://reviews.llvm.org/D51225
llvm-svn: 340739
2018-08-27 12:55:28 +00:00
Sid Manning
2c3d4b37b6
[ELF][HEXAGON] Add R_HEX_B13_PCREL relocation support
...
Differential Revision: https://reviews.llvm.org/D51166
llvm-svn: 340693
2018-08-25 23:16:37 +00:00
Sid Manning
6d0415e098
[ELF][HEXAGON] Add R_HEX_B9_PCREL and R_HEX_B9_PCREL_X relocation support
...
Differential Revision: https://reviews.llvm.org/D51045
llvm-svn: 340692
2018-08-25 21:25:35 +00:00
Sid Manning
564e65a4c0
[ELF][HEXAGON] Add R_HEX_16_X relocation
...
This relocation has only 6-bits the remaining are in the extender.
Differential Revision: https://reviews.llvm.org/D50603
llvm-svn: 340413
2018-08-22 15:25:15 +00:00
Rui Ueyama
4c7d6beb37
Remove unnecessary applyMask() application.
...
applyMask(0xffffffff, x) is an identity function.
llvm-svn: 340152
2018-08-20 06:33:29 +00:00
Sid Manning
5b0141c49e
[ELF][HEXAGON] Add R_HEX_32 support
...
Differential Revision: https://reviews.llvm.org/D50657
llvm-svn: 339677
2018-08-14 13:52:38 +00:00
Sid Manning
07e541a892
[ELF][HEXAGON] Add R_HEX_8_X relocation
...
Differential Revision: https://reviews.llvm.org/D50577
llvm-svn: 339477
2018-08-10 21:48:40 +00:00
Sid Manning
c53078a1e3
[ELF][HEXAGON] Add R_HEX_HI16/R_HEX_LO16 relocations
...
Differential Revision: https://reviews.llvm.org/D50520
llvm-svn: 339371
2018-08-09 20:04:53 +00:00
Sid Manning
17858207a0
Add R_HEX_6_X relocation support
...
This is a larger patch. This relocation has irregular immediate
masks that require a lookup to find the correct mask.
Differential Revision: https://reviews.llvm.org/D50450
llvm-svn: 339332
2018-08-09 12:00:10 +00:00
Sid Manning
bff6719450
[ELF][HEXAGON] Add R_HEX_32_6_X and R_HEX_12_X
...
And add a test.
llvm-svn: 338213
2018-07-29 11:59:38 +00:00
Sid Manning
3241724536
[ELF][HEXAGON] Add R_HEX_B15_PCREL_X relocation
...
Update testcase
Differential Revision: https://reviews.llvm.org/D49567
llvm-svn: 337829
2018-07-24 15:08:13 +00:00
Sid Manning
690b544f41
[ELF][HEXAGON] Add support for R_HEX_B15_PCREL
...
Add support and update the testcase.
Differential Revision: https://reviews.llvm.org/D49394
llvm-svn: 337494
2018-07-19 20:27:43 +00:00
Sid Manning
bdd71f358d
Add support for R_HEX_B32_PCREL_X, R_HEX_B22_PCREL_X relocations
...
A couple more basic relocations plus testcase.
Differential Revision: https://reviews.llvm.org/D47791
llvm-svn: 337484
2018-07-19 19:10:56 +00:00
Rui Ueyama
1ebde333e8
Remove needless bitwise-AND.
...
Because applyMask ignores upper bits, we don't need to mask them.
llvm-svn: 334647
2018-06-13 19:58:33 +00:00
Rui Ueyama
3cc4a0825b
Make a function non-member because it doesn't depend on any class.
...
llvm-svn: 334646
2018-06-13 19:50:10 +00:00
Rui Ueyama
803ffdbc7b
Apply clang-format.
...
llvm-svn: 334645
2018-06-13 19:49:58 +00:00
Sid Manning
95b0c2e1e3
Add Hexagon Support
...
Differential Revision: https://reviews.llvm.org/D47791
llvm-svn: 334637
2018-06-13 18:45:25 +00:00