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