[Support/ELF/AMDGPU] Add 32-bit lo/hi got and pc relative relocations
authorKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>
Fri, 14 Oct 2016 04:03:49 +0000 (04:03 +0000)
committerKonstantin Zhuravlyov <kzhuravl_dev@outlook.com>
Fri, 14 Oct 2016 04:03:49 +0000 (04:03 +0000)
commitee68fdadfe9665fafdc6d60e535879e2d1464f93
tree70974d56d9e21982419d875fbacac15ab0465566
parente1f094546d40c9f563b5a0140ac3c3077a669be9
[Support/ELF/AMDGPU] Add 32-bit lo/hi got and pc relative relocations

Added relocation names:
  - R_AMDGPU_GOTPCREL32_LO
  - R_AMDGPU_GOTPCREL32_HI
  - R_AMDGPU_REL32_LO
  - R_AMDGPU_REL32_HI

AMDGPU isa only supports 32-bit immediates. In order to access 64-bit address we need to generate 32-bit lo/hi relocations, and do the right math (separate patch). Currently we only generate one 32 bit relocation for lower bits for each access, losing higher bits. Hence we need relocations listed above.

Differential Revision: https://reviews.llvm.org/D25546

llvm-svn: 284191
llvm/docs/CodeGenerator.rst
llvm/include/llvm/Support/ELFRelocs/AMDGPU.def
llvm/test/Object/AMDGPU/elf64-relocs.yaml