Re: [PATCH] bfd,binutils: add support for gfx1103
Lancelot SIX <[email protected]>
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
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