bfd, binutils: add gfx11 amdgpu architectures

Teach bfd and readelf about some recent gfx11 architectures.  This code
is taken from the rocgdb 5.7.x branch [1].

[1] https://github.com/rocm-Developer-Tools/rocgdb/tree/rocm-5.7.x

bfd/ChangeLog:

	* archures.c (bfd_mach_amdgcn_gfx1100, bfd_mach_amdgcn_gfx1101,
	bfd_mach_amdgcn_gfx1102): New.
	* bfd-in2.h (bfd_mach_amdgcn_gfx1100, bfd_mach_amdgcn_gfx1101,
	bfd_mach_amdgcn_gfx1102): New.
	* cpu-amdgcn.c (arch_info_struct): Add entries for
	bfd_mach_amdgcn_gfx1100, bfd_mach_amdgcn_gfx1101,
	bfd_mach_amdgcn_gfx1102.

binutils/ChangeLog:

	* readelf.c (decode_AMDGPU_machine_flags): Handle gfx1100,
	gfx1101, gfx1102.

include/ChangeLog:

	* elf/amdgpu.h (EF_AMDGPU_MACH_AMDGCN_GFX1100,
	EF_AMDGPU_MACH_AMDGCN_GFX1101,
	EF_AMDGPU_MACH_AMDGCN_GFX1102): New.

Change-Id: I95a8a62942e359781a1c9fa2079950fbcf2a78b8
Co-Authored-By: Laurent Morichetti <laurent.morichetti@amd.com>
Cc: Lancelot Six <lancelot.six@amd.com>
This commit is contained in:
Simon Marchi 2023-11-10 13:20:22 -05:00
parent 364081efa5
commit a7a0cb6c92
8 changed files with 37 additions and 1 deletions

View File

@ -1,3 +1,13 @@
2023-11-10 Simon Marchi <simon.marchi@efficios.com>
* archures.c (bfd_mach_amdgcn_gfx1100, bfd_mach_amdgcn_gfx1101,
bfd_mach_amdgcn_gfx1102): New.
* bfd-in2.h (bfd_mach_amdgcn_gfx1100, bfd_mach_amdgcn_gfx1101,
bfd_mach_amdgcn_gfx1102): New.
* cpu-amdgcn.c (arch_info_struct): Add entries for
bfd_mach_amdgcn_gfx1100, bfd_mach_amdgcn_gfx1101,
bfd_mach_amdgcn_gfx1102.
2023-11-10 Nick Clifton <nickc@redhat.com>
* elf.c (assign_file_positions_except_relocs): Turn warnings about

View File

@ -575,6 +575,9 @@ DESCRIPTION
.#define bfd_mach_amdgcn_gfx1030 0x036
.#define bfd_mach_amdgcn_gfx1031 0x037
.#define bfd_mach_amdgcn_gfx1032 0x038
.#define bfd_mach_amdgcn_gfx1100 0x041
.#define bfd_mach_amdgcn_gfx1101 0x046
.#define bfd_mach_amdgcn_gfx1102 0x047
. bfd_arch_last
. };
*/

View File

@ -1831,6 +1831,9 @@ enum bfd_architecture
#define bfd_mach_amdgcn_gfx1030 0x036
#define bfd_mach_amdgcn_gfx1031 0x037
#define bfd_mach_amdgcn_gfx1032 0x038
#define bfd_mach_amdgcn_gfx1100 0x041
#define bfd_mach_amdgcn_gfx1101 0x046
#define bfd_mach_amdgcn_gfx1102 0x047
bfd_arch_last
};

View File

@ -52,7 +52,10 @@ static const bfd_arch_info_type arch_info_struct[] =
N (bfd_mach_amdgcn_gfx1012, "amdgcn:gfx1012", false, NN (7)),
N (bfd_mach_amdgcn_gfx1030, "amdgcn:gfx1030", false, NN (8)),
N (bfd_mach_amdgcn_gfx1031, "amdgcn:gfx1031", false, NN (9)),
N (bfd_mach_amdgcn_gfx1032, "amdgcn:gfx1032", false, NULL)
N (bfd_mach_amdgcn_gfx1032, "amdgcn:gfx1032", false, NN (10)),
N (bfd_mach_amdgcn_gfx1100, "amdgcn:gfx1100", false, NN (11)),
N (bfd_mach_amdgcn_gfx1101, "amdgcn:gfx1101", false, NN (12)),
N (bfd_mach_amdgcn_gfx1102, "amdgcn:gfx1102", false, NULL)
};
const bfd_arch_info_type bfd_amdgcn_arch =

View File

@ -1,3 +1,8 @@
2023-11-10 Simon Marchi <simon.marchi@efficios.com>
* readelf.c (decode_AMDGPU_machine_flags): Handle gfx1100,
gfx1101, gfx1102.
2023-11-10 Vsevolod Alekseyev <sevaa@sprynet.com>
PR 30880

View File

@ -4552,6 +4552,9 @@ decode_AMDGPU_machine_flags (char *out, unsigned int e_flags, Filedata *filedata
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1031, "gfx1031")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1032, "gfx1032")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1033, "gfx1033")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1100, "gfx1100")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1101, "gfx1101")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1102, "gfx1102")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX602, "gfx602")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX705, "gfx705")
AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX805, "gfx805")

View File

@ -1,3 +1,9 @@
2023-11-10 Simon Marchi <simon.marchi@efficios.com>
* elf/amdgpu.h (EF_AMDGPU_MACH_AMDGCN_GFX1100,
EF_AMDGPU_MACH_AMDGCN_GFX1101,
EF_AMDGPU_MACH_AMDGCN_GFX1102): New.
2023-11-10 Nick Clifton <nickc@redhat.com>
* bfdlink.h (struct bfd_link_info): Update descriptions of the

View File

@ -67,8 +67,11 @@
#define EF_AMDGPU_MACH_AMDGCN_GFX1034 0x03e
#define EF_AMDGPU_MACH_AMDGCN_GFX90A 0x03f
#define EF_AMDGPU_MACH_AMDGCN_GFX940 0x040
#define EF_AMDGPU_MACH_AMDGCN_GFX1100 0x041
#define EF_AMDGPU_MACH_AMDGCN_GFX1013 0x042
#define EF_AMDGPU_MACH_AMDGCN_GFX1036 0x045
#define EF_AMDGPU_MACH_AMDGCN_GFX1101 0x046
#define EF_AMDGPU_MACH_AMDGCN_GFX1102 0x047
/* Code object v3 machine flags. */