diff options
author | Jan Beulich <jbeulich@suse.com> | 2023-10-23 10:33:02 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2023-10-23 10:33:02 +0200 |
commit | c8be4b6f1d4a3ea74afb1df526477d6fbcb5d8c2 (patch) | |
tree | d3bc3d05cbc95d74ebc1b1c5e123ab1b99215960 /gas | |
parent | cd75cd859e58ff7161871849c59f01e9df3cdbc3 (diff) | |
download | gdb-c8be4b6f1d4a3ea74afb1df526477d6fbcb5d8c2.zip gdb-c8be4b6f1d4a3ea74afb1df526477d6fbcb5d8c2.tar.gz gdb-c8be4b6f1d4a3ea74afb1df526477d6fbcb5d8c2.tar.bz2 |
x86: i686 != PentiumPro
The two are distinct in opcodes/, distinguished precisely by CpuNOP
that's relevant in i386_generate_nops(), yet the function has the PPro
case label in the other group. Simply removing it revealed that
cpu_arch[] had a wrong entry for i686.
While there also add PROCESSOR_IAMCU to the respective comment.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/config/tc-i386.c | 8 | ||||
-rw-r--r-- | gas/config/tc-i386.h | 1 |
2 files changed, 6 insertions, 3 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index d936252..c59dee4 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -987,8 +987,8 @@ static const arch_entry cpu_arch[] = ARCH (i386, I386, 386, false), ARCH (i486, I486, 486, false), ARCH (i586, PENTIUM, 586, false), - ARCH (i686, PENTIUMPRO, 686, false), ARCH (pentium, PENTIUM, 586, false), + ARCH (i686, I686, 686, false), ARCH (pentiumpro, PENTIUMPRO, PENTIUMPRO, false), ARCH (pentiumii, PENTIUMPRO, P2, false), ARCH (pentiumiii, PENTIUMPRO, P3, false), @@ -1440,7 +1440,7 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit) /* We need to decide which NOP sequence to use for 32bit and 64bit. When -mtune= is used: - 1. For PROCESSOR_I386, PROCESSOR_I486, PROCESSOR_PENTIUM and + 1. For PROCESSOR_I?86, PROCESSOR_PENTIUM, PROCESSOR_IAMCU, and PROCESSOR_GENERIC32, f32_patt will be used. 2. For the rest, alt_patt will be used. @@ -1473,6 +1473,8 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit) if (fragP->tc_frag_data.isa_flags.bitfield.cpunop) patt = alt_patt; break; + + case PROCESSOR_PENTIUMPRO: case PROCESSOR_PENTIUM4: case PROCESSOR_NOCONA: case PROCESSOR_CORE: @@ -1493,7 +1495,7 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit) case PROCESSOR_I386: case PROCESSOR_I486: case PROCESSOR_PENTIUM: - case PROCESSOR_PENTIUMPRO: + case PROCESSOR_I686: case PROCESSOR_IAMCU: case PROCESSOR_GENERIC32: break; diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h index 696e519..a697c48 100644 --- a/gas/config/tc-i386.h +++ b/gas/config/tc-i386.h @@ -242,6 +242,7 @@ enum processor_type PROCESSOR_I386, PROCESSOR_I486, PROCESSOR_PENTIUM, + PROCESSOR_I686, PROCESSOR_PENTIUMPRO, PROCESSOR_PENTIUM4, PROCESSOR_NOCONA, |