x86: introduce fake processor type to mark sub-arch entries in cpu_arch[]
authorJan Beulich <jbeulich@suse.com>
Tue, 5 Jul 2022 06:40:39 +0000 (08:40 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 5 Jul 2022 06:40:39 +0000 (08:40 +0200)
This is in preparation of dropping the leading . from the strings.

While there also move PROCESSOR_GENERIC{32,64} from the middle of AMD
entries to near the top.

gas/config/tc-i386.c
gas/config/tc-i386.h

index 0a471d19e30e44be0b8c416508a31cd907b5fa7b..e2b618fe302c66f3eb2636209870f96cb4fe3cf8 100644 (file)
@@ -934,7 +934,7 @@ const relax_typeS md_relax_table[] =
 #define ARCH(n, t, f, s) \
   { STRING_COMMA_LEN (#n), s, PROCESSOR_ ## t, CPU_ ## f ## _FLAGS }
 #define SUBARCH(n, e, s) \
-  { STRING_COMMA_LEN ("." #n), s, PROCESSOR_UNKNOWN, CPU_ ## e ## _FLAGS }
+  { STRING_COMMA_LEN ("." #n), s, PROCESSOR_NONE, CPU_ ## e ## _FLAGS }
 
 static const arch_entry cpu_arch[] =
 {
@@ -1471,6 +1471,8 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
            case PROCESSOR_GENERIC32:
              patt = f32_patt;
              break;
+           case PROCESSOR_NONE:
+             abort ();
            }
        }
       else
@@ -1516,6 +1518,8 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
            case PROCESSOR_GENERIC64:
              patt = alt_patt;
              break;
+           case PROCESSOR_NONE:
+             abort ();
            }
        }
 
index 817539ea560fcbf50cdba2ecea371707e1ed7401..5d6fc7524747905b62eac4f1f9a24159d52a8855 100644 (file)
@@ -228,6 +228,8 @@ extern long i386_generic_table_relax_frag (segT, fragS *, long);
 enum processor_type
 {
   PROCESSOR_UNKNOWN,
+  PROCESSOR_GENERIC32,
+  PROCESSOR_GENERIC64,
   PROCESSOR_I386,
   PROCESSOR_I486,
   PROCESSOR_PENTIUM,
@@ -241,12 +243,12 @@ enum processor_type
   PROCESSOR_K6,
   PROCESSOR_ATHLON,
   PROCESSOR_K8,
-  PROCESSOR_GENERIC32,
-  PROCESSOR_GENERIC64,
   PROCESSOR_AMDFAM10,
   PROCESSOR_BD,
   PROCESSOR_ZNVER,
-  PROCESSOR_BT
+  PROCESSOR_BT,
+  /* Keep this last.  */
+  PROCESSOR_NONE
 };
 
 extern enum processor_type cpu_arch_tune;