bfd, binutils: add gfx11 amdgpu architectures
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 10 Nov 2023 18:20:22 +0000 (13:20 -0500)
committerSimon Marchi <simon.marchi@efficios.com>
Fri, 10 Nov 2023 18:20:22 +0000 (13:20 -0500)
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>
bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/cpu-amdgcn.c
binutils/ChangeLog
binutils/readelf.c
include/ChangeLog
include/elf/amdgpu.h

index f8086fb843b64c390a79cb95a1a00f8c1e14b04b..7a0b178f3b38ee7de3028a840581ab1ae1ced646 100644 (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
index b59979e60acc052c30c8c7e1538eccf047676d37..c4455de7c28974da7a097cfcf4d33b24a2afb703 100644 (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
 .  };
 */
index 79f7f24436c306c148a006705980de4616d279e9..040d5560cdf78d34a81028e93abe09fa3d72c4a8 100644 (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
   };
 
index 9d6c26056f3f09237fcd8fc3aef78ef08ac82617..d9be7a399d97d46c27ee9c3cfccd4c1c46905315 100644 (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 =
index b64591e02c64785d11ce2011dca904d2cefb35fa..57a8fa73ee33b1428b25a0fa26314493eea1f896 100644 (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
index 13b105cb584f19520966602af6476324f47fb1dc..661ef0aab18cafb2eb23dee4f793741b9cd6eff0 100644 (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")
index 7ea77f81693355ea115adea61821a660e7ef2dbc..dbef999e8fbcb2aef61d0f2efd16c468629f1562 100644 (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
index d44244194e9d280ce661b65eba7a02b56d363f1c..15720356ac024148c48432892956cc81107377de 100644 (file)
 #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.  */