From: Peter Johnson Date: Thu, 3 Oct 2002 19:02:53 +0000 (-0000) Subject: x86_bc_resolve_insn(): If x86_expr_checkea fails, return not only X-Git-Tag: v0.2.0~120 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=015f373d3278ee7bd6e5908cf695bbb7dc9d8a22;p=yasm x86_bc_resolve_insn(): If x86_expr_checkea fails, return not only BC_RESOLVE_UNKNOWN_LEN but also BC_RESOLVE_ERROR so that a spurious circular reference detected is not output from the basic optimizer. svn path=/trunk/yasm/; revision=732 --- diff --git a/modules/arch/x86/x86bc.c b/modules/arch/x86/x86bc.c index 33089ea6..f5dc6a4b 100644 --- a/modules/arch/x86/x86bc.c +++ b/modules/arch/x86/x86bc.c @@ -475,7 +475,7 @@ x86_bc_resolve_insn(x86_insn *insn, unsigned long *len, int save, &ead_t.need_sib, calc_bc_dist)) { expr_delete(temp); /* failed, don't bother checking rest of insn */ - return BC_RESOLVE_UNKNOWN_LEN; + return BC_RESOLVE_UNKNOWN_LEN|BC_RESOLVE_ERROR; } expr_delete(temp); diff --git a/src/arch/x86/x86bc.c b/src/arch/x86/x86bc.c index 33089ea6..f5dc6a4b 100644 --- a/src/arch/x86/x86bc.c +++ b/src/arch/x86/x86bc.c @@ -475,7 +475,7 @@ x86_bc_resolve_insn(x86_insn *insn, unsigned long *len, int save, &ead_t.need_sib, calc_bc_dist)) { expr_delete(temp); /* failed, don't bother checking rest of insn */ - return BC_RESOLVE_UNKNOWN_LEN; + return BC_RESOLVE_UNKNOWN_LEN|BC_RESOLVE_ERROR; } expr_delete(temp);