From f9fda3f571bef013565e8a6632e9cf303f6c5eae Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 19 Dec 2013 14:28:18 -0800 Subject: [PATCH] Mask out PREFIX_ADDR when adding prefix to opcode PREFIX_ADDR isn't a prefix to opcode. This patch masks out PREFIX_ADDR when adding prefix to opcode. PR gdb/16305 * i386-tdep.c (i386_process_record): Mask out PREFIX_ADDR when adding prefix to opcode. --- gdb/ChangeLog | 6 ++++++ gdb/i386-tdep.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 76cedd7..d885207 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2013-12-19 H.J. Lu + PR gdb/16305 + * i386-tdep.c (i386_process_record): Mask out PREFIX_ADDR when + adding prefix to opcode. + +2013-12-19 H.J. Lu + PR gdb/16304 * i386-tdep.c (i386_record_lea_modrm_addr): Don't use 16-bit address in 64-bit mode. diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 8992088..4f86f0c 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -7048,7 +7048,8 @@ no_support_3dnow_data: case 0x0ffc: case 0x0ffd: case 0x0ffe: - switch (prefixes) + /* Mask out PREFIX_ADDR. */ + switch ((prefixes & ~PREFIX_ADDR)) { case PREFIX_REPNZ: opcode |= 0xf20000; -- 2.7.4