aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2022-03-17 11:01:38 +0100
committerJan Beulich <jbeulich@suse.com>2022-03-17 11:01:38 +0100
commit648d04db39d0f8d69d5f4d47a86c7bd9ecc10e85 (patch)
tree58b7b57747e6365326402eb772ea1cc3f786e71d /opcodes
parent4417601f70ce20397dccd1884c2e0c44f25d9b3c (diff)
downloadgdb-648d04db39d0f8d69d5f4d47a86c7bd9ecc10e85.zip
gdb-648d04db39d0f8d69d5f4d47a86c7bd9ecc10e85.tar.gz
gdb-648d04db39d0f8d69d5f4d47a86c7bd9ecc10e85.tar.bz2
x86: assorted IAMCU CPU checking fixes
The checks done by check_cpu_arch_compatible() were halfway sensible only at the time where only L1OM support was there. The purpose, however, has always been to prevent bad uses of .arch (turning off the base CPU "feature" flag) while at the same time permitting extensions to be enabled / disabled. In order to achieve this (and to prevent regressions when L1OM and K1OM support are removed) - set CpuIAMCU in CPU_IAMCU_FLAGS, - adjust the IAMCU check in the function itself (the other two similarly broken checks aren't adjusted as they're slated to be removed anyway), - avoid calling the function for extentions (which would never have the base "feature" flag set), - add a new testcase actually exercising ".arch iamcu" (which would also regress with the planned removal).
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/i386-gen.c2
-rw-r--r--opcodes/i386-init.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 6770b34..deb33e8 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -250,7 +250,7 @@ static initializer cpu_flag_init[] =
{ "CPU_K1OM_FLAGS",
"unknown" },
{ "CPU_IAMCU_FLAGS",
- "Cpu186|Cpu286|Cpu386|Cpu486|Cpu586" },
+ "Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|CpuIAMCU" },
{ "CPU_ADX_FLAGS",
"CpuADX" },
{ "CPU_RDSEED_FLAGS",
diff --git a/opcodes/i386-init.h b/opcodes/i386-init.h
index fa73bd2..265e39b 100644
--- a/opcodes/i386-init.h
+++ b/opcodes/i386-init.h
@@ -939,7 +939,7 @@
#define CPU_IAMCU_FLAGS \
{ { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
+ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \