mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
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
This commit is contained in:
parent
2952f10cd7
commit
0c857ef4df
@ -1,3 +1,7 @@
|
||||
2022-03-16 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* readelf.c (dump_relocations): Handle EM_AMDGPU.
|
||||
|
||||
2022-03-16 Simon Marchi <simon.marchi@efficios.com>
|
||||
|
||||
* Makefile.am (readelf_CFLAGS): New.
|
||||
|
@ -1930,6 +1930,9 @@ dump_relocations (Filedata * filedata,
|
||||
rtype = elf_loongarch_reloc_type (type);
|
||||
break;
|
||||
|
||||
case EM_AMDGPU:
|
||||
rtype = elf_amdgpu_reloc_type (type);
|
||||
break;
|
||||
}
|
||||
|
||||
if (rtype == NULL)
|
||||
|
@ -1,3 +1,7 @@
|
||||
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.
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user