gas/
2005-03-02 Jan Beulich <jbeulich@novell.com> * config/tc-i386.c (intel_e11): If not followed by T_PTR, treat T_BYTE etc. like normal symbol references (T_ID). gas/testsuite/ 2005-03-02 Jan Beulich <jbeulich@novell.com> * gas/i386/intelok.d: Add -r to objdump options. Adjust expectations. * gas/i386/intelok.s: Add checks for various special memory operands.
This commit is contained in:
parent
8c1acd095d
commit
167c3097b2
5 changed files with 63 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-03-02 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* config/tc-i386.c (intel_e11): If not followed by T_PTR, treat T_BYTE
|
||||
etc. like normal symbol references (T_ID).
|
||||
|
||||
2005-03-02 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* symbols.c (fb_label_name): Fix silly thinko in last change.
|
||||
|
|
|
@ -6154,6 +6154,23 @@ intel_e11 ()
|
|||
{
|
||||
intel_match_token (cur_token.code);
|
||||
|
||||
if (cur_token.code != T_PTR)
|
||||
{
|
||||
/* It must have been an identifier; add it to the displacement string. */
|
||||
strcat (intel_parser.disp, prev_token.str);
|
||||
|
||||
/* The identifier represents a memory reference only if it's not
|
||||
preceded by an offset modifier and if it's not an equate. */
|
||||
if (intel_parser.op_modifier != T_OFFSET)
|
||||
{
|
||||
symbolS *symbolP;
|
||||
|
||||
symbolP = symbol_find(prev_token.str);
|
||||
if (!symbolP || S_GET_SEGMENT(symbolP) != absolute_section)
|
||||
intel_parser.is_mem = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2005-03-02 Jan Beulich <jbeulich@novell.com>
|
||||
|
||||
* gas/i386/intelok.d: Add -r to objdump options. Adjust expectations.
|
||||
* gas/i386/intelok.s: Add checks for various special memory operands.
|
||||
|
||||
2005-03-01 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
|
||||
|
||||
* gas/arc/extensions.s: New file.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#as: -J
|
||||
#objdump: -dwMintel
|
||||
#objdump: -drwMintel
|
||||
#name: i386 intel-ok
|
||||
|
||||
.*: +file format .*
|
||||
|
@ -93,6 +93,20 @@ Disassembly of section .text:
|
|||
[ ]*[0-9a-f]+: d7[ ]+xlat(b|[ ]+(BYTE PTR )?(ds:)?\[ebx\])
|
||||
[ ]*[0-9a-f]+: d7[ ]+xlat(b|[ ]+(BYTE PTR )?(ds:)?\[ebx\])
|
||||
[ ]*[0-9a-f]+: d7[ ]+xlat(b|[ ]+(BYTE PTR )?(ds:)?\[ebx\])
|
||||
[ ]*[0-9a-f]+: 8b 80 00 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+byte
|
||||
[ ]*[0-9a-f]+: 8b 80 00 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+byte
|
||||
[ ]*[0-9a-f]+: 8b 40 04[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\+4\]
|
||||
[ ]*[0-9a-f]+: 8b 40 04[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\+4\]
|
||||
[ ]*[0-9a-f]+: 8b 80 00 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+fword
|
||||
[ ]*[0-9a-f]+: 8b 80 00 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+fword
|
||||
[ ]*[0-9a-f]+: 8b 80 04 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\+4\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+qword
|
||||
[ ]*[0-9a-f]+: 8b 80 04 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\+4\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+qword
|
||||
[ ]*[0-9a-f]+: 8b 80 08 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\+8\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+tbyte
|
||||
[ ]*[0-9a-f]+: 8b 80 08 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\+8\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+tbyte
|
||||
#[ ]*[0-9a-f]+: 8b 04 85 00 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\*4\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+word
|
||||
#[ ]*[0-9a-f]+: 8b 04 85 00 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\*4\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+word
|
||||
#[ ]*[0-9a-f]+: 8b 04 85 04 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\*4\+4\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+xmmword
|
||||
#[ ]*[0-9a-f]+: 8b 04 85 04 00 00 00[ ]+mov[ ]+eax,(DWORD PTR )?\[eax\*4\+4\][ ]+[0-9a-f]+:[ ]+(R_386_|dir)?32[ ]+xmmword
|
||||
[ ]*[0-9a-f]+: 6a 01[ ]+push[ ]+0x1
|
||||
[ ]*[0-9a-f]+: 6a ff[ ]+push[ ]+0xffffffff
|
||||
[ ]*[0-9a-f]+: 6a fe[ ]+push[ ]+0xfffffffe
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
.intel_syntax noprefix
|
||||
.equiv dword, 4
|
||||
.text
|
||||
start:
|
||||
|
||||
# operand sizes
|
||||
|
||||
add al, [eax]
|
||||
add al, byte ptr [eax]
|
||||
add ax, [eax]
|
||||
|
@ -88,6 +92,23 @@ start:
|
|||
xlat byte ptr [ebx]
|
||||
xlatb
|
||||
|
||||
# memory operands
|
||||
|
||||
mov eax, dword ptr [byte+eax]
|
||||
mov eax, dword ptr byte[eax]
|
||||
mov eax, [dword+eax]
|
||||
mov eax, dword[eax]
|
||||
mov eax, [fword+eax]
|
||||
mov eax, fword[eax]
|
||||
mov eax, [qword+eax+dword]
|
||||
mov eax, qword[eax+dword]
|
||||
mov eax, [tbyte+eax+dword*2]
|
||||
mov eax, tbyte[eax+dword*2]
|
||||
# mov eax, [word+eax*dword]
|
||||
# mov eax, word[eax*dword]
|
||||
# mov eax, [xmmword+(eax+1)*dword]
|
||||
# mov eax, xmmword[(eax+1)*dword]
|
||||
|
||||
# expressions
|
||||
|
||||
push + 1
|
||||
|
|
Loading…
Reference in a new issue