[PATCH] bfd,binutils: add support for gfx1103
Lancelot SIX
Lancelot.Six@amd.com
Thu Aug 6 10:51:28 GMT 2026
Hi,
FYI, this looks good to me, and is consistent with what we need in GDB
to support this architecture.
However, I only have a GDB AMDGPU backend maintainer hat, and I do not
think it extends to binutils. Should we consider having a binutils
maintainer for the AMDGPU support who could help review / approve such
changes?
Best,
Lancelot.
On 27/07/2026 14:51, Shahab Vahedi wrote:
> Add ELF header definition for gfx1103.
> ---
> bfd/archures.c | 1 +
> bfd/bfd-in2.h | 1 +
> bfd/cpu-amdgcn.c | 27 ++++++++++++++-------------
> binutils/readelf.c | 1 +
> include/elf/amdgpu.h | 1 +
> 5 files changed, 18 insertions(+), 13 deletions(-)
>
> diff --git a/bfd/archures.c b/bfd/archures.c
> index 0e919246673..18472b820bc 100644
> --- a/bfd/archures.c
> +++ b/bfd/archures.c
> @@ -581,6 +581,7 @@ DESCRIPTION
> .#define bfd_mach_amdgcn_gfx1100 0x041
> .#define bfd_mach_amdgcn_gfx1101 0x046
> .#define bfd_mach_amdgcn_gfx1102 0x047
> +.#define bfd_mach_amdgcn_gfx1103 0x044
> .#define bfd_mach_amdgcn_gfx1150 0x043
> .#define bfd_mach_amdgcn_gfx1151 0x04a
> .#define bfd_mach_amdgcn_gfx1152 0x055
> diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
> index e49d67316f3..233c1cf70fd 100644
> --- a/bfd/bfd-in2.h
> +++ b/bfd/bfd-in2.h
> @@ -1838,6 +1838,7 @@ enum bfd_architecture
> #define bfd_mach_amdgcn_gfx1100 0x041
> #define bfd_mach_amdgcn_gfx1101 0x046
> #define bfd_mach_amdgcn_gfx1102 0x047
> +#define bfd_mach_amdgcn_gfx1103 0x044
> #define bfd_mach_amdgcn_gfx1150 0x043
> #define bfd_mach_amdgcn_gfx1151 0x04a
> #define bfd_mach_amdgcn_gfx1152 0x055
> diff --git a/bfd/cpu-amdgcn.c b/bfd/cpu-amdgcn.c
> index a1c691a51b1..811e8391115 100644
> --- a/bfd/cpu-amdgcn.c
> +++ b/bfd/cpu-amdgcn.c
> @@ -58,19 +58,20 @@ static const bfd_arch_info_type arch_info_struct[] =
> N (bfd_mach_amdgcn_gfx1100, "amdgcn:gfx1100", false, NN (13)),
> N (bfd_mach_amdgcn_gfx1101, "amdgcn:gfx1101", false, NN (14)),
> N (bfd_mach_amdgcn_gfx1102, "amdgcn:gfx1102", false, NN (15)),
> - N (bfd_mach_amdgcn_gfx1150, "amdgcn:gfx1150", false, NN (16)),
> - N (bfd_mach_amdgcn_gfx1151, "amdgcn:gfx1151", false, NN (17)),
> - N (bfd_mach_amdgcn_gfx1152, "amdgcn:gfx1152", false, NN (18)),
> - N (bfd_mach_amdgcn_gfx1153, "amdgcn:gfx1153", false, NN (19)),
> - N (bfd_mach_amdgcn_gfx1200, "amdgcn:gfx1200", false, NN (20)),
> - N (bfd_mach_amdgcn_gfx1201, "amdgcn:gfx1201", false, NN (21)),
> - N (bfd_mach_amdgcn_gfx1250, "amdgcn:gfx1250", false, NN (22)),
> - N (bfd_mach_amdgcn_gfx9_generic, "amdgcn:gfx9-generic", false, NN (23)),
> - N (bfd_mach_amdgcn_gfx9_4_generic, "amdgcn:gfx9-4-generic", false, NN (24)),
> - N (bfd_mach_amdgcn_gfx10_1_generic, "amdgcn:gfx10-1-generic", false, NN (25)),
> - N (bfd_mach_amdgcn_gfx10_3_generic, "amdgcn:gfx10-3-generic", false, NN (26)),
> - N (bfd_mach_amdgcn_gfx11_generic, "amdgcn:gfx11-generic", false, NN (27)),
> - N (bfd_mach_amdgcn_gfx12_generic, "amdgcn:gfx12-generic", false, NN (28)),
> + N (bfd_mach_amdgcn_gfx1103, "amdgcn:gfx1103", false, NN (16)),
> + N (bfd_mach_amdgcn_gfx1150, "amdgcn:gfx1150", false, NN (17)),
> + N (bfd_mach_amdgcn_gfx1151, "amdgcn:gfx1151", false, NN (18)),
> + N (bfd_mach_amdgcn_gfx1152, "amdgcn:gfx1152", false, NN (19)),
> + N (bfd_mach_amdgcn_gfx1153, "amdgcn:gfx1153", false, NN (20)),
> + N (bfd_mach_amdgcn_gfx1200, "amdgcn:gfx1200", false, NN (21)),
> + N (bfd_mach_amdgcn_gfx1201, "amdgcn:gfx1201", false, NN (22)),
> + N (bfd_mach_amdgcn_gfx1250, "amdgcn:gfx1250", false, NN (23)),
> + N (bfd_mach_amdgcn_gfx9_generic, "amdgcn:gfx9-generic", false, NN (24)),
> + N (bfd_mach_amdgcn_gfx9_4_generic, "amdgcn:gfx9-4-generic", false, NN (25)),
> + N (bfd_mach_amdgcn_gfx10_1_generic, "amdgcn:gfx10-1-generic", false, NN (26)),
> + N (bfd_mach_amdgcn_gfx10_3_generic, "amdgcn:gfx10-3-generic", false, NN (27)),
> + N (bfd_mach_amdgcn_gfx11_generic, "amdgcn:gfx11-generic", false, NN (28)),
> + N (bfd_mach_amdgcn_gfx12_generic, "amdgcn:gfx12-generic", false, NN (29)),
> N (bfd_mach_amdgcn_gfx12_5_generic, "amdgcn:gfx12-5-generic", false, NULL),
> };
>
> diff --git a/binutils/readelf.c b/binutils/readelf.c
> index a52fe2b8d63..8f1bc677002 100644
> --- a/binutils/readelf.c
> +++ b/binutils/readelf.c
> @@ -5303,6 +5303,7 @@ decode_AMDGPU_machine_flags (char *out, unsigned int e_flags, Filedata *filedata
> 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_GFX1103, "gfx1103")
> AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1150, "gfx1150")
> AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1151, "gfx1151")
> AMDGPU_CASE (EF_AMDGPU_MACH_AMDGCN_GFX1152, "gfx1152")
> diff --git a/include/elf/amdgpu.h b/include/elf/amdgpu.h
> index 60f11697364..d43a61bf9d5 100644
> --- a/include/elf/amdgpu.h
> +++ b/include/elf/amdgpu.h
> @@ -77,6 +77,7 @@
> #define EF_AMDGPU_MACH_AMDGCN_GFX1100 0x041
> #define EF_AMDGPU_MACH_AMDGCN_GFX1013 0x042
> #define EF_AMDGPU_MACH_AMDGCN_GFX1150 0x043
> +#define EF_AMDGPU_MACH_AMDGCN_GFX1103 0x044
> #define EF_AMDGPU_MACH_AMDGCN_GFX1036 0x045
> #define EF_AMDGPU_MACH_AMDGCN_GFX1101 0x046
> #define EF_AMDGPU_MACH_AMDGCN_GFX1102 0x047
More information about the Binutils
mailing list