[PATCH 1/2] gas: Add CodeView constant for aarch64

Mark Harmstone mark@harmstone.com
Thu Jan 26 00:38:19 GMT 2023


Adds the correct constant to the S_COMPILE3 CodeView record when
assembling aarch64-w64-mingw32 with the -gcodeview flag.

---
 gas/codeview.c | 19 +++++++++++++------
 gas/codeview.h |  1 +
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/gas/codeview.c b/gas/codeview.c
index 2d96d4467fc..0d5f82848a5 100644
--- a/gas/codeview.c
+++ b/gas/codeview.c
@@ -286,13 +286,20 @@ write_lines_info (void)
 static uint16_t
 target_processor (void)
 {
-  if (stdoutput->arch_info->arch != bfd_arch_i386)
-    return 0;
+  switch (stdoutput->arch_info->arch)
+    {
+    case bfd_arch_i386:
+      if (stdoutput->arch_info->mach & bfd_mach_x86_64)
+	return CV_CFL_X64;
+      else
+	return CV_CFL_80386;
 
-  if (stdoutput->arch_info->mach & bfd_mach_x86_64)
-    return CV_CFL_X64;
-  else
-    return CV_CFL_80386;
+    case bfd_arch_aarch64:
+      return CV_CFL_ARM64;
+
+    default:
+      return 0;
+    }
 }
 
 /* Write the CodeView symbols, describing the object name and
diff --git a/gas/codeview.h b/gas/codeview.h
index def2a395748..2a3d8fc15e1 100644
--- a/gas/codeview.h
+++ b/gas/codeview.h
@@ -38,6 +38,7 @@
 
 #define CV_CFL_80386		0x03
 #define CV_CFL_X64		0xD0
+#define CV_CFL_ARM64		0xF6
 
 #define CHKSUM_TYPE_MD5		1
 
-- 
2.39.1



More information about the Binutils mailing list