From: Tomas Hruby Date: Fri, 5 Feb 2010 13:53:10 +0000 (+0000) Subject: gas2ack fix X-Git-Tag: v3.1.7~309 X-Git-Url: http://zhaoyanbai.com/repos/Bv9ARM.ch04.html?a=commitdiff_plain;h=c5001b0a5fbc12f89130e24ab711b12e868379c7;p=minix.git gas2ack fix - fixed handling of segment overrides for instruction that may use two of them in the long format, e.g. movs --- diff --git a/commands/i386/gas2ack/parse_gnu.c b/commands/i386/gas2ack/parse_gnu.c index 295a28e2d..07a165632 100644 --- a/commands/i386/gas2ack/parse_gnu.c +++ b/commands/i386/gas2ack/parse_gnu.c @@ -700,8 +700,9 @@ static expression_t *gnu_get_oplist(asm86_t * a, int *pn, int deref) if ((e= gnu_get_operand(a, pn, deref)) == nil) return nil; t = get_token(*pn); - - if (t->symbol == ':' && IS_REGSEG(sreg = isregister(e->name))) { + + if (t->symbol == ':' && IS_REGSEG(sreg = isregister(e->name)) + && a->seg == DEFSEG) { a->seg = segreg2seg(sreg); del_expr(e); (*pn)++;