1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/Object/AMDGPU/elf64-relocs.yaml
Konstantin Zhuravlyov 60d312012b [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
2016-10-14 04:03:49 +00:00

87 lines
2.6 KiB
YAML

# RUN: yaml2obj %s > %t
# RUN: llvm-readobj -r %t | FileCheck %s
# CHECK: Relocations [
# CHECK: Section (2) .rela.text {
# CHECK: 0x0 R_AMDGPU_NONE - 0x0
# CHECK: 0x2 R_AMDGPU_ABS32_LO - 0x0
# CHECK: 0x4 R_AMDGPU_ABS32_HI - 0x0
# CHECK: 0x6 R_AMDGPU_ABS64 - 0x0
# CHECK: 0x8 R_AMDGPU_REL32 - 0x0
# CHECK: 0x10 R_AMDGPU_REL64 - 0x0
# CHECK: 0x12 R_AMDGPU_ABS32 - 0x0
# CHECK: 0x14 R_AMDGPU_GOTPCREL - 0x0
# CHECK: 0x16 R_AMDGPU_GOTPCREL32_LO - 0x0
# CHECK: 0x18 R_AMDGPU_GOTPCREL32_HI - 0x0
# CHECK: 0x20 R_AMDGPU_REL32_LO - 0x0
# CHECK: 0x22 R_AMDGPU_REL32_HI - 0x0
# CHECK: }
# CHECK: ]
!ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Machine: EM_AMDGPU
Sections:
- Type: SHT_PROGBITS
Name: .text
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
AddressAlign: 0x08
Content: 0000000000000000
- Type: SHT_RELA
Name: .rela.text
Link: .symtab
Info: .text
AddressAlign: 0x08
Relocations:
- Offset: 0x0
Symbol: s0
Type: R_AMDGPU_NONE
- Offset: 0x2
Symbol: s1
Type: R_AMDGPU_ABS32_LO
- Offset: 0x4
Symbol: s2
Type: R_AMDGPU_ABS32_HI
- Offset: 0x6
Symbol: s3
Type: R_AMDGPU_ABS64
- Offset: 0x8
Symbol: s4
Type: R_AMDGPU_REL32
- Offset: 0x10
Symbol: s5
Type: R_AMDGPU_REL64
- Offset: 0x12
Symbol: s6
Type: R_AMDGPU_ABS32
- Offset: 0x14
Symbol: s7
Type: R_AMDGPU_GOTPCREL
- Offset: 0x16
Symbol: s8
Type: R_AMDGPU_GOTPCREL32_LO
- Offset: 0x18
Symbol: s9
Type: R_AMDGPU_GOTPCREL32_HI
- Offset: 0x20
Symbol: s10
Type: R_AMDGPU_REL32_LO
- Offset: 0x22
Symbol: s11
Type: R_AMDGPU_REL32_HI
Symbols:
Local:
- Name: .text
Type: STT_SECTION
Section: .text
Global:
- Name: main
Type: STT_FUNC
Section: .text
Size: 0x08