diff options
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r-- | gas/config/tc-i386.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index a20aea28718..0fe439eddd5 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -11413,22 +11413,22 @@ i386_att_operand (char *operand_string) if (is_space_char (*op_string)) ++op_string; - if (!is_digit_char (*op_string) - && !is_identifier_char (*op_string) - && *op_string != '(' - && *op_string != ABSOLUTE_PREFIX) - { - as_bad (_("bad memory operand `%s'"), op_string); - return 0; - } /* Handle case of %es:*foo. */ - if (*op_string == ABSOLUTE_PREFIX) + if (!i.jumpabsolute && *op_string == ABSOLUTE_PREFIX) { ++op_string; if (is_space_char (*op_string)) ++op_string; i.jumpabsolute = true; } + + if (!is_digit_char (*op_string) + && !is_identifier_char (*op_string) + && *op_string != '(') + { + as_bad (_("bad memory operand `%s'"), op_string); + return 0; + } goto do_memory_reference; } |