mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-24 12:39:59 +00:00
gas/testsuite/
2006-06-12 H.J. Lu <hongjiu.lu@intel.com> * gas/i386/i386.exp: Run nops and x86-64-nops. * gas/i386/nops.d: New file. * gas/i386/nops.s: Likewise. * gas/i386/x86-64-nops.d: Likewise. * gas/i386/x86-64-nops.s: Likewise. include/opcode/ 2006-06-12 H.J. Lu <hongjiu.lu@intel.com> * i386.h (i386_optab): Add "nop" with memory reference. opcodes/ 2006-06-12 H.J. Lu <hongjiu.lu@intel.com> * i386-dis.c (dis386_twobyte): Use "nopQ" for 0x1f. (twobyte_has_modrm): Set 1 for 0x1f.
This commit is contained in:
parent
46e883c5a9
commit
1596541188
@ -1,3 +1,12 @@
|
||||
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gas/i386/i386.exp: Run nops and x86-64-nops.
|
||||
|
||||
* gas/i386/nops.d: New file.
|
||||
* gas/i386/nops.s: Likewise.
|
||||
* gas/i386/x86-64-nops.d: Likewise.
|
||||
* gas/i386/x86-64-nops.s: Likewise.
|
||||
|
||||
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gas/i386/opcode.s: Add "xchg %ax,%ax".
|
||||
|
@ -72,6 +72,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
|
||||
run_dump_test "rep"
|
||||
run_dump_test "rep-suffix"
|
||||
run_dump_test "fp"
|
||||
run_dump_test "nops"
|
||||
|
||||
# These tests require support for 8 and 16 bit relocs,
|
||||
# so we only run them for ELF and COFF targets.
|
||||
@ -144,6 +145,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
|
||||
run_dump_test "x86-64-rep"
|
||||
run_dump_test "x86-64-rep-suffix"
|
||||
run_dump_test "x86-64-gidt"
|
||||
run_dump_test "x86-64-nops"
|
||||
|
||||
if { ![istarget "*-*-aix*"]
|
||||
&& ![istarget "*-*-beos*"]
|
||||
|
17
gas/testsuite/gas/i386/nops.d
Normal file
17
gas/testsuite/gas/i386/nops.d
Normal file
@ -0,0 +1,17 @@
|
||||
#objdump: -drw
|
||||
#name: i386 nops
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+000 <.text>:
|
||||
[ ]*0:[ ]+0f 1f 00[ ]+nopl[ ]+\(%eax\)
|
||||
[ ]*3:[ ]+0f 1f 40 00[ ]+nopl[ ]+0x0\(%eax\)
|
||||
[ ]*7:[ ]+0f 1f 44 00 00[ ]+nopl[ ]+0x0\(%eax,%eax,1\)
|
||||
[ ]*c:[ ]+66 0f 1f 44 00 00[ ]+nopw[ ]+0x0\(%eax,%eax,1\)
|
||||
[ ]*12:[ ]+0f 1f 80 00 00 00 00[ ]+nopl[ ]+0x0\(%eax\)
|
||||
[ ]*19:[ ]+0f 1f 84 00 00 00 00 00[ ]+nopl[ ]+0x0\(%eax,%eax,1\)
|
||||
[ ]*21:[ ]+66 0f 1f 84 00 00 00 00 00[ ]+nopw[ ]+0x0\(%eax,%eax,1\)
|
||||
[ ]*2a:[ ]+66 2e 0f 1f 84 00 00 00 00 00[ ]+nopw[ ]+%cs:0x0\(%eax,%eax,1\)
|
||||
#pass
|
12
gas/testsuite/gas/i386/nops.s
Normal file
12
gas/testsuite/gas/i386/nops.s
Normal file
@ -0,0 +1,12 @@
|
||||
.text
|
||||
|
||||
.byte 0x0f, 0x1f, 0x0
|
||||
.byte 0x0f, 0x1f, 0x40, 0x0
|
||||
.byte 0x0f, 0x1f, 0x44, 0x0, 0x0
|
||||
.byte 0x66, 0x0f, 0x1f, 0x44, 0x0, 0x0
|
||||
.byte 0x0f, 0x1f, 0x80, 0x0, 0x0, 0x0, 0x0
|
||||
.byte 0x0f, 0x1f, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
.byte 0x66, 0x0f, 0x1f, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
.byte 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
|
||||
.p2align 4
|
17
gas/testsuite/gas/i386/x86-64-nops.d
Normal file
17
gas/testsuite/gas/i386/x86-64-nops.d
Normal file
@ -0,0 +1,17 @@
|
||||
#objdump: -drw
|
||||
#name: x86-64 nops
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
0+000 <.text>:
|
||||
[ ]*0:[ ]+0f 1f 00[ ]+nopl[ ]+\(%rax\)
|
||||
[ ]*3:[ ]+0f 1f 40 00[ ]+nopl[ ]+0x0\(%rax\)
|
||||
[ ]*7:[ ]+0f 1f 44 00 00[ ]+nopl[ ]+0x0\(%rax,%rax,1\)
|
||||
[ ]*c:[ ]+66 0f 1f 44 00 00[ ]+nopw[ ]+0x0\(%rax,%rax,1\)
|
||||
[ ]*12:[ ]+0f 1f 80 00 00 00 00[ ]+nopl[ ]+0x0\(%rax\)
|
||||
[ ]*19:[ ]+0f 1f 84 00 00 00 00 00[ ]+nopl[ ]+0x0\(%rax,%rax,1\)
|
||||
[ ]*21:[ ]+66 0f 1f 84 00 00 00 00 00[ ]+nopw[ ]+0x0\(%rax,%rax,1\)
|
||||
[ ]*2a:[ ]+66 2e 0f 1f 84 00 00 00 00 00[ ]+nopw[ ]+%cs:0x0\(%rax,%rax,1\)
|
||||
#pass
|
12
gas/testsuite/gas/i386/x86-64-nops.s
Normal file
12
gas/testsuite/gas/i386/x86-64-nops.s
Normal file
@ -0,0 +1,12 @@
|
||||
.text
|
||||
|
||||
.byte 0x0f, 0x1f, 0x0
|
||||
.byte 0x0f, 0x1f, 0x40, 0x0
|
||||
.byte 0x0f, 0x1f, 0x44, 0x0, 0x0
|
||||
.byte 0x66, 0x0f, 0x1f, 0x44, 0x0, 0x0
|
||||
.byte 0x0f, 0x1f, 0x80, 0x0, 0x0, 0x0, 0x0
|
||||
.byte 0x0f, 0x1f, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
.byte 0x66, 0x0f, 0x1f, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
.byte 0x66, 0x2e, 0x0f, 0x1f, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0
|
||||
|
||||
.p2align 4
|
@ -1,3 +1,7 @@
|
||||
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* i386.h (i386_optab): Add "nop" with memory reference.
|
||||
|
||||
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* i386.h (i386_optab): Update comment for 64bit NOP.
|
||||
|
@ -555,7 +555,11 @@ static const template i386_optab[] =
|
||||
{"bound", 2, 0x62, X, Cpu186|CpuNo64, wl_Suf|Modrm, { WordReg, WordMem, 0} },
|
||||
|
||||
{"hlt", 0, 0xf4, X, 0, NoSuf, { 0, 0, 0} },
|
||||
/* nop is actually 'xchgl %eax, %eax'. */
|
||||
|
||||
{"nop", 1, 0x0f1f, X, Cpu686, wl_Suf|Modrm, { WordMem, 0, 0} },
|
||||
|
||||
/* nop is actually "xchg %ax,%ax" in 16bit mode, "xchg %eax,%eax" in
|
||||
32bit mode and "xchg %rax,%rax" in 64bit mode. */
|
||||
{"nop", 0, 0x90, X, 0, NoSuf, { 0, 0, 0} },
|
||||
|
||||
/* Protection control. */
|
||||
|
@ -1,3 +1,8 @@
|
||||
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* i386-dis.c (dis386_twobyte): Use "nopQ" for 0x1f.
|
||||
(twobyte_has_modrm): Set 1 for 0x1f.
|
||||
|
||||
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* i386-dis.c (NOP_Fixup): Removed.
|
||||
|
@ -843,7 +843,7 @@ static const struct dis386 dis386_twobyte[] = {
|
||||
{ "(bad)", XX, XX, XX },
|
||||
{ "(bad)", XX, XX, XX },
|
||||
{ "(bad)", XX, XX, XX },
|
||||
{ "(bad)", XX, XX, XX },
|
||||
{ "nopQ", Ev, XX, XX },
|
||||
/* 20 */
|
||||
{ "movZ", Rm, Cm, XX },
|
||||
{ "movZ", Rm, Dm, XX },
|
||||
@ -1125,7 +1125,7 @@ static const unsigned char twobyte_has_modrm[256] = {
|
||||
/* 0 1 2 3 4 5 6 7 8 9 a b c d e f */
|
||||
/* ------------------------------- */
|
||||
/* 00 */ 1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1, /* 0f */
|
||||
/* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, /* 1f */
|
||||
/* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1, /* 1f */
|
||||
/* 20 */ 1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1, /* 2f */
|
||||
/* 30 */ 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, /* 3f */
|
||||
/* 40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 4f */
|
||||
|
Loading…
Reference in New Issue
Block a user