diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2022-03-16 09:01:54 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2022-03-16 09:01:54 -0400 |
commit | 0c857ef4dfc083b6f5ef2d32182b8db24c5f8d55 (patch) | |
tree | f977a4ae1afb186840ae1492f2dce8f58cd23124 /include | |
parent | 2952f10cd79af4645222f124f28c7928287d8113 (diff) | |
download | gdb-0c857ef4dfc083b6f5ef2d32182b8db24c5f8d55.zip gdb-0c857ef4dfc083b6f5ef2d32182b8db24c5f8d55.tar.gz gdb-0c857ef4dfc083b6f5ef2d32182b8db24c5f8d55.tar.bz2 |
binutils/readelf: handle AMDGPU relocation types
Make readelf recognize AMDGPU relocation types, as documented here:
https://llvm.org/docs/AMDGPUUsage.html#amdgpu-relocation-records
The user-visible change looks like:
-000000000004 000400000001 unrecognized: 1 0000000000000000 SCRATCH_RSRC_DWORD0
-00000000000c 000500000001 unrecognized: 1 0000000000000000 SCRATCH_RSRC_DWORD1
-000000000014 000600000007 unrecognized: 7 0000000000000000 global_var0
-00000000001c 000700000008 unrecognized: 8 0000000000000000 global_var1
-000000000024 000800000009 unrecognized: 9 0000000000000000 global_var2
-00000000002c 00090000000a unrecognized: a 0000000000000000 global_var3
-000000000034 000a0000000b unrecognized: b 0000000000000000 global_var4
+000000000004 000400000001 R_AMDGPU_ABS32_LO 0000000000000000 SCRATCH_RSRC_DWORD0
+00000000000c 000500000001 R_AMDGPU_ABS32_LO 0000000000000000 SCRATCH_RSRC_DWORD1
+000000000014 000600000007 R_AMDGPU_GOTPCREL 0000000000000000 global_var0
+00000000001c 000700000008 R_AMDGPU_GOTPCREL 0000000000000000 global_var1
+000000000024 000800000009 R_AMDGPU_GOTPCREL 0000000000000000 global_var2
+00000000002c 00090000000a R_AMDGPU_REL32_LO 0000000000000000 global_var3
+000000000034 000a0000000b R_AMDGPU_REL32_HI 0000000000000000 global_var4
binutils/ChangeLog:
* readelf.c (dump_relocations): Handle EM_AMDGPU.
include/ChangeLog:
* elf/amdgpu.h: Add relocation values.
Change-Id: I2ed4589f4cd37ea11ad2e0cb38d4b682271e1334
Diffstat (limited to 'include')
-rw-r--r-- | include/ChangeLog | 4 | ||||
-rw-r--r-- | include/elf/amdgpu.h | 21 |
2 files changed, 25 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 64aeb12..8219462 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,5 +1,9 @@ 2022-03-16 Simon Marchi <simon.marchi@efficios.com> + * elf/amdgpu.h: Add relocation values. + +2022-03-16 Simon Marchi <simon.marchi@efficios.com> + * elf/amdgcn.h (NT_AMDGPU_METADATA): New. 2022-03-16 Simon Marchi <simon.marchi@efficios.com> diff --git a/include/elf/amdgpu.h b/include/elf/amdgpu.h index e3c90dc..140e899 100644 --- a/include/elf/amdgpu.h +++ b/include/elf/amdgpu.h @@ -20,6 +20,8 @@ #ifndef _ELF_AMDGPU_H #define _ELF_AMDGPU_H +#include "elf/reloc-macros.h" + /* e_ident[EI_ABIVERSION] values, when e_ident[EI_OSABI] is ELFOSABI_AMDGPU_HSA. */ @@ -91,4 +93,23 @@ #define NT_AMDGPU_METADATA 32 +/* Relocations. */ + +START_RELOC_NUMBERS (elf_amdgpu_reloc_type) + RELOC_NUMBER (R_AMDGPU_NONE, 0) + RELOC_NUMBER (R_AMDGPU_ABS32_LO, 1) + RELOC_NUMBER (R_AMDGPU_ABS32_HI, 2) + RELOC_NUMBER (R_AMDGPU_ABS64, 3) + RELOC_NUMBER (R_AMDGPU_REL32, 4) + RELOC_NUMBER (R_AMDGPU_REL64, 5) + RELOC_NUMBER (R_AMDGPU_ABS32, 6) + RELOC_NUMBER (R_AMDGPU_GOTPCREL, 7) + RELOC_NUMBER (R_AMDGPU_GOTPCREL32_LO, 8) + RELOC_NUMBER (R_AMDGPU_GOTPCREL32_HI, 9) + RELOC_NUMBER (R_AMDGPU_REL32_LO, 10) + RELOC_NUMBER (R_AMDGPU_REL32_HI, 11) + RELOC_NUMBER (R_AMDGPU_RELATIVE64, 13) + RELOC_NUMBER (R_AMDGPU_REL16, 16) +END_RELOC_NUMBERS (R_AMDGPU_max) + #endif /* _ELF_AMDGPU_H */ |