Borislav Petkov
0fa0fc8539
x86: Ignore CS/DS/ES/SS segment-override prefixes in 64-bit mode
"In 64-bit mode, the CS, DS, ES, and SS segment-override prefixes have
no effect. These four prefixes are not treated as segment-override
prefixes for the purposes of multiple-prefix rules. Instead, they are
treated as null prefixes." (AMD APM v2).
However, objdump disassembles instructions containing those ignored
prefixes by still generating that segment override:
66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%rax,%rax,1)
00 00 00 00
Print those segment override prefixes as excessive ones:
66 66 2e 0f 1f 84 00 data16 cs nopw 0x0(%rax,%rax,1)
00 00 00 00
which is what they actually are - they have no effect and the decoding
hardware ignores them.
gas/
2020-11-14 Borislav Petkov <bp@suse.de>
* testsuite/gas/i386/x86-64-segovr.d: Adjust regexes.
* testsuite/gas/i386/x86-64-nops.d: Likewise.
* testsuite/gas/i386/x86-64-nops-1.d: Likewise.
* testsuite/gas/i386/x86-64-nops-1-g64.d: Likewise.
* testsuite/gas/i386/x86-64-nops-1-core2.d: Likewise.
* testsuite/gas/i386/x86-64-nops-1-k8.d: Likewise.
* testsuite/gas/i386/x86-64-nops-2.d: Likewise.
* testsuite/gas/i386/x86-64-nops-3.d: Likewise.
* testsuite/gas/i386/x86-64-nops-4.d: Likewise.
* testsuite/gas/i386/x86-64-nops-4-core2.d: Likewise.
* testsuite/gas/i386/x86-64-nops-4-k8.d: Likewise.
* testsuite/gas/i386/x86-64-nops-5.d: Likewise.
* testsuite/gas/i386/x86-64-nops-5-k8.d: Likewise.
* testsuite/gas/i386/x86-64-nops-7.d: Likewise.
* testsuite/gas/i386/x86-64-nop-1.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-2c.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-6.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-7.d: Likewise.
* testsuite/gas/i386/x86-64-align-branch-8.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-1.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-2.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-3.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-4.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops-5.d: Likewise.
* testsuite/gas/i386/ilp32/x86-64-nops.d:: Likewise.
ld/
2020-11-14 Borislav Petkov <bp@suse.de>
* testsuite/ld-x86-64/pe-x86-64-4.od: Adjust regexes.
* testsuite/ld-x86-64/tlsld3.dd: Likewise.
* testsuite/ld-x86-64/tlsld4.dd: Likewise.
opcodes/
2020-11-14 Borislav Petkov <bp@suse.de>
* i386-dis.c (ckprefix): Do not assign active_seg_prefix in
64-bit addressing mode.
(NOTRACK_Fixup): Test prefixes for PREFIX_DS, instead of
active_seg_prefix.
2020-11-14 06:20:33 -08:00
..
2020-10-22 05:21:35 -07:00
2020-11-09 11:19:44 +00:00
2020-10-28 14:05:05 +00:00
2020-10-28 14:05:05 +00:00
2020-11-09 11:19:44 +00:00
2020-10-28 14:05:05 +00:00
2020-10-28 14:05:05 +00:00
2020-02-26 10:37:25 +10:30
2020-11-09 11:19:44 +00:00
2020-11-09 11:37:32 +00:00
2020-10-28 14:05:05 +00:00
2020-11-11 15:30:21 +00:00
2018-09-21 10:27:49 -04:00
2020-02-26 10:37:25 +10:30
2020-01-01 18:42:54 +10:30
2020-07-14 14:51:15 +03:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2018-09-20 15:49:00 +01:00
2020-07-07 16:01:48 +03:00
2020-02-25 10:27:07 +02:00
2020-07-07 16:01:48 +03:00
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-09-18 10:04:23 -07:00
2020-09-18 10:04:23 -07:00
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-09-18 10:04:23 -07:00
2020-09-18 10:04:23 -07:00
2020-10-05 14:20:15 +01:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-10-05 14:20:15 +01:00
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-11-14 06:20:33 -08:00
2019-01-01 21:25:40 +10:30
2020-01-01 18:12:08 +10:30
2020-07-04 10:34:23 +01:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-08-30 20:49:32 +09:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-10-26 16:13:55 +08:00
2020-10-26 16:26:32 +08:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-04 14:10:40 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-08-26 16:48:39 +02:00
2020-03-26 20:02:42 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-03-26 20:02:42 +10:30
2020-01-20 15:45:50 +10:30
2020-07-14 10:33:40 +02:00
2020-07-14 10:42:33 +02:00
2020-07-14 10:42:33 +02:00
2020-07-14 10:33:40 +02:00
2020-07-14 10:42:33 +02:00
2020-07-14 10:42:33 +02:00
2020-11-14 06:20:33 -08:00
2020-10-20 13:58:04 -07:00
2020-10-20 13:58:04 -07:00
2020-01-01 18:42:54 +10:30
2020-10-20 13:58:04 -07:00
2020-10-20 13:58:04 -07:00
2020-07-10 05:18:34 -07:00
2020-10-20 13:58:04 -07:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-04-21 16:53:36 +02:00
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-03-09 08:23:46 -07:00
2020-03-09 08:23:46 -07:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-03-20 12:35:51 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-02-26 10:37:25 +10:30
2020-01-01 18:42:54 +10:30
2020-03-20 12:35:51 +10:30
2020-01-01 18:42:54 +10:30
2020-02-26 10:37:25 +10:30
2020-05-28 22:08:42 +09:30
2020-01-01 18:42:54 +10:30
2020-05-28 21:11:32 +09:30
2020-01-01 18:42:54 +10:30
2020-01-17 12:34:03 -06:00
2020-05-19 20:41:03 +09:00
2020-06-04 16:17:42 +02:00
2020-05-19 20:41:03 +09:00
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-05-19 20:41:03 +09:00
2020-05-19 20:41:03 +09:00
2020-05-19 20:41:03 +09:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-09-16 16:41:33 +09:30
2020-08-19 08:47:35 +09:30
2020-01-01 18:42:54 +10:30
2020-11-09 12:41:09 +00:00
2020-06-30 09:54:55 +08:00
2020-06-22 10:01:14 +08:00
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-09-21 18:20:58 +09:30
2020-03-22 23:20:15 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-07-29 19:46:44 +02:00
2020-01-01 18:42:54 +10:30
2020-05-26 18:15:41 +02:00
2020-01-13 12:12:41 +10:30
2020-01-13 12:12:41 +10:30
2020-01-01 18:42:54 +10:30
2020-04-29 13:13:55 +01:00
2020-04-29 16:09:38 +01:00
2020-05-21 10:45:33 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-01-01 18:42:54 +10:30
2020-10-05 14:20:15 +01:00
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-01-10 17:32:33 +10:30
2020-01-01 18:42:54 +10:30
2020-09-02 16:30:44 +09:30
2020-08-25 23:07:10 +09:30
2020-02-26 10:37:25 +10:30
2020-01-01 18:42:54 +10:30
2020-01-13 16:44:27 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-29 10:07:56 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-01-01 18:42:54 +10:30
2020-06-04 16:17:42 +02:00
2020-09-02 16:30:44 +09:30
2020-01-01 18:42:54 +10:30
2020-01-01 18:42:54 +10:30
2020-05-21 10:45:33 +09:30
2020-01-14 10:57:52 +10:30
2020-08-04 22:31:42 +02:00
2020-08-04 22:31:42 +02:00
2020-03-25 08:54:18 +10:30