From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 861AB3858C52 for ; Thu, 28 Sep 2023 14:23:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 861AB3858C52 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id CF83F1E092; Thu, 28 Sep 2023 10:23:02 -0400 (EDT) From: Simon Marchi To: binutils@sourceware.org Cc: Simon Marchi , Laurent Morichetti , Lancelot Six Subject: [PATCH] bfd, binutils: add gfx11 amdgpu architectures Date: Thu, 28 Sep 2023 10:22:42 -0400 Message-ID: <20230928142256.26768-1-simon.marchi@efficios.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3497.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_NONE,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_SOFTFAIL,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: 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 Cc: Lancelot Six --- bfd/archures.c | 3 +++ bfd/bfd-in2.h | 3 +++ bfd/cpu-amdgcn.c | 5 ++++- binutils/readelf.c | 3 +++ include/elf/amdgpu.h | 3 +++ 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bfd/archures.c b/bfd/archures.c index b59979e60acc..c4455de7c289 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -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 . }; */ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index eddb9902f5e4..cf748b48c528 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -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 }; diff --git a/bfd/cpu-amdgcn.c b/bfd/cpu-amdgcn.c index 9d6c26056f3f..d9be7a399d97 100644 --- a/bfd/cpu-amdgcn.c +++ b/bfd/cpu-amdgcn.c @@ -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 = diff --git a/binutils/readelf.c b/binutils/readelf.c index be2f3851c63a..4fd0a104a526 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -4533,6 +4533,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") diff --git a/include/elf/amdgpu.h b/include/elf/amdgpu.h index d44244194e9d..15720356ac02 100644 --- a/include/elf/amdgpu.h +++ b/include/elf/amdgpu.h @@ -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. */ base-commit: 054f25955c2b77f6e21073bfdd70a60e9df1ffe7 -- 2.42.0