[PATCH v3 1/2] LD/PE: Make arch identifiers enumeration constants

Maciej W. Rozycki macro@orcam.me.uk
Thu Oct 9 00:56:59 GMT 2025


Convert internal PE architecture identifiers from macros to enumeration 
constants so as to make any further updates less disruptive to code.

Add a PE_ARCH_none dummy placeholder so as to start the numbering of 
actual architectures from 1 without the need to specify the numeric 
value for any of the constants.

No functional change.  Suggested by Richard Earnshaw.
---
New change in v3.
---
 ld/pe-dll.c |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

binutils-ld-pe-arch-enum.diff
Index: binutils-gdb/ld/pe-dll.c
===================================================================
--- binutils-gdb.orig/ld/pe-dll.c
+++ binutils-gdb/ld/pe-dll.c
@@ -245,12 +245,17 @@ static const autofilter_entry_type autof
   { NULL, 0 }
 };
 
-#define PE_ARCH_i386	 1
-#define PE_ARCH_sh	 2
-#define PE_ARCH_mips	 3
-#define PE_ARCH_arm	 4
-#define PE_ARCH_arm_wince 5
-#define PE_ARCH_aarch64  6
+/* Internal identification of PE architectures.  */
+enum
+{
+  PE_ARCH_none,
+  PE_ARCH_i386,
+  PE_ARCH_sh,
+  PE_ARCH_mips,
+  PE_ARCH_arm,
+  PE_ARCH_arm_wince,
+  PE_ARCH_aarch64,
+};
 
 /* Don't make it constant as underscore mode gets possibly overriden
    by target or -(no-)leading-underscore option.  */


More information about the Binutils mailing list